def __add__(self, arcname, contents): if arcname.startswith('META-INF/providers/'): # Handles files generated by ServiceProviderProcessor provider = arcname[len('META-INF/providers/'):] for service in contents.strip().split(os.linesep): assert service self.jvmciServices.setdefault(service, []).append(provider) return True if arcname.endswith('_OptionDescriptors.class'): # Need to create service files for the providers of the # com.oracle.graal.options.Options service created by # com.oracle.graal.options.processor.OptionProcessor. provider = arcname[:-len('.class'):].replace('/', '.') self.services.setdefault('com.oracle.graal.options.OptionDescriptors', []).append(provider) return JVMCIArchiveParticipant.__add__(self, arcname, contents)