public class com.oracle.svm.hosted.ServiceLoaderFeature implements org.graalvm.nativeimage.hosted.Feature
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.svm.hosted.ServiceLoaderFeature
  super_class: java.lang.Object
{
  private static final java.util.Set<java.lang.String> SERVICES_TO_SKIP;
    descriptor: Ljava/util/Set;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  private static final java.util.Set<java.lang.String> SERVICE_PROVIDERS_TO_SKIP;
    descriptor: Ljava/util/Set;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  private static final java.lang.String LOCATION_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "META-INF/services/"

  private final java.util.Map<com.oracle.graal.pointsto.meta.AnalysisType, java.lang.Boolean> processedTypes;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Lcom/oracle/graal/pointsto/meta/AnalysisType;Ljava/lang/Boolean;>;

  private java.util.Map<java.lang.String, java.util.List<java.lang.String>> serviceProviders;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;

  private final boolean trace;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=0, args_size=0
         0: .line 104
            new java.util.HashSet
            dup
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
         1: .line 105
            ldc "java.security.Provider"
            aastore
            dup
            iconst_1
         2: .line 106
            ldc "sun.util.locale.provider.LocaleDataMetaInfo"
            aastore
            dup
            iconst_2
         3: .line 107
            ldc "org.graalvm.nativeimage.Platform"
            aastore
         4: .line 104
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            putstatic com.oracle.svm.hosted.ServiceLoaderFeature.SERVICES_TO_SKIP:Ljava/util/Set;
         5: .line 117
            new java.util.HashSet
            dup
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
         6: .line 118
            ldc "com.sun.jndi.rmi.registry.RegistryContextFactory"
            aastore
         7: .line 117
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            putstatic com.oracle.svm.hosted.ServiceLoaderFeature.SERVICE_PROVIDERS_TO_SKIP:Ljava/util/Set;
         8: .line 122
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.ServiceLoaderFeature this
         0: .line 83
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 128
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield com.oracle.svm.hosted.ServiceLoaderFeature.processedTypes:Ljava/util/Map;
         2: .line 135
            aload 0 /* this */
            getstatic com.oracle.svm.hosted.ServiceLoaderFeature$Options.TraceServiceLoaderFeature:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            putfield com.oracle.svm.hosted.ServiceLoaderFeature.trace:Z
         3: .line 83
            return
        end local 0 // com.oracle.svm.hosted.ServiceLoaderFeature this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/svm/hosted/ServiceLoaderFeature;

  public boolean isInConfiguration(org.graalvm.nativeimage.hosted.Feature$IsInConfigurationAccess);
    descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$IsInConfigurationAccess;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.svm.hosted.ServiceLoaderFeature this
        start local 1 // org.graalvm.nativeimage.hosted.Feature$IsInConfigurationAccess access
         0: .line 139
            getstatic com.oracle.svm.hosted.ServiceLoaderFeature$Options.UseServiceLoaderFeature:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        end local 1 // org.graalvm.nativeimage.hosted.Feature$IsInConfigurationAccess access
        end local 0 // com.oracle.svm.hosted.ServiceLoaderFeature this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/oracle/svm/hosted/ServiceLoaderFeature;
            0    1     1  access  Lorg/graalvm/nativeimage/hosted/Feature$IsInConfigurationAccess;
    MethodParameters:
        Name  Flags
      access  

  public void afterRegistration(org.graalvm.nativeimage.hosted.Feature$AfterRegistrationAccess);
    descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$AfterRegistrationAccess;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.hosted.ServiceLoaderFeature this
        start local 1 // org.graalvm.nativeimage.hosted.Feature$AfterRegistrationAccess access
         0: .line 144
            getstatic com.oracle.svm.hosted.ServiceLoaderFeature.SERVICES_TO_SKIP:Ljava/util/Set;
            getstatic com.oracle.svm.hosted.ServiceLoaderFeature$Options.ServiceLoaderFeatureExcludeServices:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
            checkcast java.lang.String[]
            invokestatic java.util.Collections.addAll:(Ljava/util/Collection;[Ljava/lang/Object;)Z
            pop
         1: .line 145
            getstatic com.oracle.svm.hosted.ServiceLoaderFeature.SERVICE_PROVIDERS_TO_SKIP:Ljava/util/Set;
            getstatic com.oracle.svm.hosted.ServiceLoaderFeature$Options.ServiceLoaderFeatureExcludeServiceProviders:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
            checkcast java.lang.String[]
            invokestatic java.util.Collections.addAll:(Ljava/util/Collection;[Ljava/lang/Object;)Z
            pop
         2: .line 146
            return
        end local 1 // org.graalvm.nativeimage.hosted.Feature$AfterRegistrationAccess access
        end local 0 // com.oracle.svm.hosted.ServiceLoaderFeature this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lcom/oracle/svm/hosted/ServiceLoaderFeature;
            0    3     1  access  Lorg/graalvm/nativeimage/hosted/Feature$AfterRegistrationAccess;
    MethodParameters:
        Name  Flags
      access  

  public void beforeAnalysis(org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess);
    descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // com.oracle.svm.hosted.ServiceLoaderFeature this
        start local 1 // org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess access
         0: .line 150
            aload 0 /* this */
            aload 1 /* access */
            invokestatic com.oracle.svm.hosted.ModuleAccess.lookupServiceProviders:(Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;)Ljava/util/Map;
            putfield com.oracle.svm.hosted.ServiceLoaderFeature.serviceProviders:Ljava/util/Map;
         1: .line 151
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ServiceLoaderFeature.trace:Z
            ifeq 5
         2: .line 152
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ServiceLoaderFeature.serviceProviders:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            istore 2 /* services */
        start local 2 // int services
         3: .line 153
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ServiceLoaderFeature.serviceProviders:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
            invokedynamic applyAsInt()Ljava/util/function/ToIntFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)I
                  java/util/List.size()I (9 itf)
                  (Ljava/util/List;)I
            invokeinterface java.util.stream.Stream.mapToInt:(Ljava/util/function/ToIntFunction;)Ljava/util/stream/IntStream;
            invokeinterface java.util.stream.IntStream.sum:()I
            istore 3 /* providers */
        start local 3 // int providers
         4: .line 154
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "ServiceLoaderFeature: Discovered "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* services */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " with "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* providers */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " service providers registered using modules"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 3 // int providers
        end local 2 // int services
         5: .line 156
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess access
        end local 0 // com.oracle.svm.hosted.ServiceLoaderFeature this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lcom/oracle/svm/hosted/ServiceLoaderFeature;
            0    6     1     access  Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;
            3    5     2   services  I
            4    5     3  providers  I
    MethodParameters:
        Name  Flags
      access  

  public void duringAnalysis(org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess);
    descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // com.oracle.svm.hosted.ServiceLoaderFeature this
        start local 1 // org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess a
         0: .line 161
            aload 1 /* a */
            checkcast com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl
            astore 2 /* access */
        start local 2 // com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl access
         1: .line 163
            iconst_0
            istore 3 /* workDone */
        start local 3 // boolean workDone
         2: .line 164
            aload 2 /* access */
            invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl.getUniverse:()Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.getTypes:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 6
      StackMap locals: com.oracle.svm.hosted.ServiceLoaderFeature org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl int top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.graal.pointsto.meta.AnalysisType
            astore 4 /* type */
        start local 4 // com.oracle.graal.pointsto.meta.AnalysisType type
         4: .line 165
            aload 0 /* this */
            aload 4 /* type */
            aload 2 /* access */
            invokevirtual com.oracle.svm.hosted.ServiceLoaderFeature.handleType:(Lcom/oracle/graal/pointsto/meta/AnalysisType;Lcom/oracle/svm/hosted/FeatureImpl$DuringAnalysisAccessImpl;)Z
            ifeq 6
         5: .line 166
            iconst_1
            istore 3 /* workDone */
        end local 4 // com.oracle.graal.pointsto.meta.AnalysisType type
         6: .line 164
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 169
            iload 3 /* workDone */
            ifeq 20
         8: .line 170
            aload 2 /* access */
            invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl.getDebugContext:()Lorg/graalvm/compiler/debug/DebugContext;
            astore 4 /* debugContext */
        start local 4 // org.graalvm.compiler.debug.DebugContext debugContext
         9: .line 171
            aconst_null
            astore 5
            aconst_null
            astore 6
        10: aload 4 /* debugContext */
            ldc "registerResource"
            invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
            astore 7 /* s */
        start local 7 // org.graalvm.compiler.debug.DebugContext$Scope s
        11: .line 172
            aload 4 /* debugContext */
            new java.lang.StringBuilder
            dup
            ldc "Resources have been added by ServiceLoaderFeature. Automatic registration can be disabled with "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        12: .line 173
            getstatic com.oracle.svm.hosted.ServiceLoaderFeature$Options.UseServiceLoaderFeature:Lcom/oracle/svm/core/option/HostedOptionKey;
            ldc "-"
            invokestatic com.oracle.svm.core.option.SubstrateOptionsParser.commandArgument:(Lorg/graalvm/compiler/options/OptionKey;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 172
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;)V
        14: .line 174
            aload 7 /* s */
            ifnull 20
            aload 7 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
            goto 20
      StackMap locals: com.oracle.svm.hosted.ServiceLoaderFeature org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl int org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
      StackMap stack: java.lang.Throwable
        15: astore 5
            aload 7 /* s */
            ifnull 16
            aload 7 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        end local 7 // org.graalvm.compiler.debug.DebugContext$Scope s
      StackMap locals:
      StackMap stack:
        16: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        17: astore 6
            aload 5
            ifnonnull 18
            aload 6
            astore 5
            goto 19
      StackMap locals:
      StackMap stack:
        18: aload 5
            aload 6
            if_acmpeq 19
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        19: aload 5
            athrow
        end local 4 // org.graalvm.compiler.debug.DebugContext debugContext
        20: .line 176
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean workDone
        end local 2 // com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl access
        end local 1 // org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess a
        end local 0 // com.oracle.svm.hosted.ServiceLoaderFeature this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   21     0          this  Lcom/oracle/svm/hosted/ServiceLoaderFeature;
            0   21     1             a  Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;
            1   21     2        access  Lcom/oracle/svm/hosted/FeatureImpl$DuringAnalysisAccessImpl;
            2   21     3      workDone  Z
            4    6     4          type  Lcom/oracle/graal/pointsto/meta/AnalysisType;
            9   20     4  debugContext  Lorg/graalvm/compiler/debug/DebugContext;
           11   16     7             s  Lorg/graalvm/compiler/debug/DebugContext$Scope;
      Exception table:
        from    to  target  type
          11    14      15  any
          10    17      17  any
    MethodParameters:
      Name  Flags
      a     

  private boolean handleType(com.oracle.graal.pointsto.meta.AnalysisType, com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl);
    descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisType;Lcom/oracle/svm/hosted/FeatureImpl$DuringAnalysisAccessImpl;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=13, args_size=3
        start local 0 // com.oracle.svm.hosted.ServiceLoaderFeature this
        start local 1 // com.oracle.graal.pointsto.meta.AnalysisType type
        start local 2 // com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl access
         0: .line 180
            aload 1 /* type */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isReachable:()Z
            ifeq 1
            aload 1 /* type */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isArray:()Z
            ifeq 2
         1: .line 186
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 188
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ServiceLoaderFeature.processedTypes:Ljava/util/Map;
            aload 1 /* type */
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            invokeinterface java.util.Map.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 4
         3: .line 190
            iconst_0
            ireturn
         4: .line 193
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.toClassName:()Ljava/lang/String;
            astore 3 /* serviceClassName */
        start local 3 // java.lang.String serviceClassName
         5: .line 194
            new java.lang.StringBuilder
            dup
            ldc "META-INF/services/"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* serviceClassName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* serviceResourceLocation */
        start local 4 // java.lang.String serviceResourceLocation
         6: .line 196
            getstatic com.oracle.svm.hosted.ServiceLoaderFeature.SERVICES_TO_SKIP:Ljava/util/Set;
            aload 3 /* serviceClassName */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 10
         7: .line 197
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ServiceLoaderFeature.trace:Z
            ifeq 9
         8: .line 198
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "ServiceLoaderFeature: Skipping service "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* serviceClassName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         9: .line 200
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            iconst_0
            ireturn
        10: .line 207
      StackMap locals:
      StackMap stack:
            new java.util.TreeSet
            dup
            invokespecial java.util.TreeSet.<init>:()V
            astore 5 /* implementationClassNames */
        start local 5 // java.util.Set implementationClassNames
        11: .line 216
            aload 2 /* access */
            invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl.getImageClassLoader:()Lcom/oracle/svm/hosted/ImageClassLoader;
            invokevirtual com.oracle.svm.hosted.ImageClassLoader.getClassLoader:()Ljava/lang/ClassLoader;
            aload 4 /* serviceResourceLocation */
            invokevirtual java.lang.ClassLoader.getResources:(Ljava/lang/String;)Ljava/util/Enumeration;
            astore 6 /* resourceURLs */
        start local 6 // java.util.Enumeration resourceURLs
        12: .line 217
            goto 20
        end local 6 // java.util.Enumeration resourceURLs
      StackMap locals: com.oracle.svm.hosted.ServiceLoaderFeature com.oracle.graal.pointsto.meta.AnalysisType com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl java.lang.String java.lang.String java.util.Set
      StackMap stack: java.io.IOException
        13: astore 7 /* ex */
        start local 7 // java.io.IOException ex
        14: .line 218
            aload 7 /* ex */
            ldc "Error loading service implementation resources for service `%s`"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* serviceClassName */
            aastore
            invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/Throwable;Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
            athrow
        end local 7 // java.io.IOException ex
        start local 6 // java.util.Enumeration resourceURLs
        15: .line 221
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 6 /* resourceURLs */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.net.URL
            astore 7 /* resourceURL */
        start local 7 // java.net.URL resourceURL
        16: .line 223
            aload 5 /* implementationClassNames */
            aload 7 /* resourceURL */
            invokestatic com.oracle.svm.hosted.ServiceLoaderFeature.parseServiceResource:(Ljava/net/URL;)Ljava/util/Collection;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        17: .line 224
            goto 20
      StackMap locals: com.oracle.svm.hosted.ServiceLoaderFeature com.oracle.graal.pointsto.meta.AnalysisType com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl java.lang.String java.lang.String java.util.Set java.util.Enumeration java.net.URL
      StackMap stack: java.io.IOException
        18: astore 8 /* ex */
        start local 8 // java.io.IOException ex
        19: .line 225
            aload 8 /* ex */
            ldc "Error loading service implementations for service `%s` from URL `%s`"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* serviceClassName */
            aastore
            dup
            iconst_1
            aload 7 /* resourceURL */
            aastore
            invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/Throwable;Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
            athrow
        end local 8 // java.io.IOException ex
        end local 7 // java.net.URL resourceURL
        20: .line 220
      StackMap locals:
      StackMap stack:
            aload 6 /* resourceURLs */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 15
        21: .line 229
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ServiceLoaderFeature.serviceProviders:Ljava/util/Map;
            aload 3 /* serviceClassName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 7 /* providers */
        start local 7 // java.util.List providers
        22: .line 230
            aload 7 /* providers */
            ifnull 26
        23: .line 231
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ServiceLoaderFeature.trace:Z
            ifeq 25
        24: .line 232
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "ServiceLoaderFeature: found service declared using java modules: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* serviceClassName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " with providers: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* providers */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        25: .line 234
      StackMap locals: java.util.List
      StackMap stack:
            aload 5 /* implementationClassNames */
            aload 7 /* providers */
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        26: .line 237
      StackMap locals:
      StackMap stack:
            aload 5 /* implementationClassNames */
            invokeinterface java.util.Set.size:()I
            ifne 28
        27: .line 242
            iconst_0
            ireturn
        28: .line 245
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ServiceLoaderFeature.trace:Z
            ifeq 30
        29: .line 246
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "ServiceLoaderFeature: processing service class "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* serviceClassName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        30: .line 249
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            sipush 1024
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 8 /* newResourceValue */
        start local 8 // java.lang.StringBuilder newResourceValue
        31: .line 250
            aload 5 /* implementationClassNames */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 10
            goto 63
      StackMap locals: com.oracle.svm.hosted.ServiceLoaderFeature com.oracle.graal.pointsto.meta.AnalysisType com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl java.lang.String java.lang.String java.util.Set java.util.Enumeration java.util.List java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
        32: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* implementationClassName */
        start local 9 // java.lang.String implementationClassName
        33: .line 251
            aload 9 /* implementationClassName */
            ldc "org.graalvm.compiler"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 37
            aload 9 /* implementationClassName */
            ldc "hotspot"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 37
        34: .line 259
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ServiceLoaderFeature.trace:Z
            ifeq 63
        35: .line 260
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "  IGNORING HotSpot-specific implementation class: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* implementationClassName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        36: .line 262
            goto 63
        37: .line 265
      StackMap locals: com.oracle.svm.hosted.ServiceLoaderFeature com.oracle.graal.pointsto.meta.AnalysisType com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl java.lang.String java.lang.String java.util.Set java.util.Enumeration java.util.List java.lang.StringBuilder java.lang.String java.util.Iterator
      StackMap stack:
            getstatic com.oracle.svm.hosted.ServiceLoaderFeature.SERVICE_PROVIDERS_TO_SKIP:Ljava/util/Set;
            aload 9 /* implementationClassName */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 41
        38: .line 266
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ServiceLoaderFeature.trace:Z
            ifeq 63
        39: .line 267
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "  ignoring implementation class: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* implementationClassName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        40: .line 269
            goto 63
        41: .line 272
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ServiceLoaderFeature.trace:Z
            ifeq 43
        42: .line 273
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "  adding implementation class: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* implementationClassName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        43: .line 276
      StackMap locals:
      StackMap stack:
            aload 2 /* access */
            aload 9 /* implementationClassName */
            invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl.findClassByName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 11 /* implementationClass */
        start local 11 // java.lang.Class implementationClass
        44: .line 277
            aload 11 /* implementationClass */
            ifnonnull 46
        45: .line 278
            ldc "Could not find registered service implementation class `%s` for service `%s`"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 9 /* implementationClassName */
            aastore
            dup
            iconst_1
            aload 3 /* serviceClassName */
            aastore
            invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
            athrow
        46: .line 281
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 2 /* access */
            invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl.getMetaAccess:()Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
            aload 11 /* implementationClass */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisMetaAccess.lookupJavaType:(Ljava/lang/Class;)Lcom/oracle/graal/pointsto/meta/AnalysisType;
            pop
        47: .line 282
            goto 52
      StackMap locals:
      StackMap stack: com.oracle.graal.pointsto.constraints.UnsupportedFeatureException
        48: astore 12 /* ex */
        start local 12 // com.oracle.graal.pointsto.constraints.UnsupportedFeatureException ex
        49: .line 283
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ServiceLoaderFeature.trace:Z
            ifeq 63
        50: .line 284
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "  cannot resolve: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 12 /* ex */
            invokevirtual com.oracle.graal.pointsto.constraints.UnsupportedFeatureException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        51: .line 286
            goto 63
        end local 12 // com.oracle.graal.pointsto.constraints.UnsupportedFeatureException ex
        52: .line 289
      StackMap locals:
      StackMap stack:
            aload 2 /* access */
            invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl.getBigBang:()Lcom/oracle/graal/pointsto/BigBang;
            checkcast com.oracle.svm.hosted.analysis.Inflation
            invokevirtual com.oracle.svm.hosted.analysis.Inflation.getAnnotationSubstitutionProcessor:()Lcom/oracle/svm/hosted/substitute/AnnotationSubstitutionProcessor;
            aload 11 /* implementationClass */
            invokevirtual com.oracle.svm.hosted.substitute.AnnotationSubstitutionProcessor.isDeleted:(Ljava/lang/Class;)Z
            ifeq 54
        53: .line 291
            goto 63
        54: .line 303
      StackMap locals:
      StackMap stack:
            aload 11 /* implementationClass */
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getDeclaredConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            pop
        55: .line 304
            goto 58
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
        56: pop
        57: .line 305
            goto 63
      StackMap locals:
      StackMap stack:
        58: iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
        59: .line 309
            aload 11 /* implementationClass */
            aastore
            invokestatic org.graalvm.nativeimage.hosted.RuntimeReflection.register:([Ljava/lang/Class;)V
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
        60: .line 311
            aload 11 /* implementationClass */
            aastore
            invokestatic org.graalvm.nativeimage.hosted.RuntimeReflection.registerForReflectiveInstantiation:([Ljava/lang/Class;)V
        61: .line 314
            aload 8 /* newResourceValue */
            aload 11 /* implementationClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        62: .line 315
            aload 8 /* newResourceValue */
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 11 // java.lang.Class implementationClass
        end local 9 // java.lang.String implementationClassName
        63: .line 250
      StackMap locals: com.oracle.svm.hosted.ServiceLoaderFeature com.oracle.graal.pointsto.meta.AnalysisType com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl java.lang.String java.lang.String java.util.Set java.util.Enumeration java.util.List java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 32
        64: .line 319
            aload 2 /* access */
            invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl.getDebugContext:()Lorg/graalvm/compiler/debug/DebugContext;
            astore 9 /* debugContext */
        start local 9 // org.graalvm.compiler.debug.DebugContext debugContext
        65: .line 320
            aconst_null
            astore 10
            aconst_null
            astore 11
        66: aload 9 /* debugContext */
            ldc "registerResource"
            invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
            astore 12 /* s */
        start local 12 // org.graalvm.compiler.debug.DebugContext$Scope s
        67: .line 321
            aload 9 /* debugContext */
            new java.lang.StringBuilder
            dup
            ldc "ServiceLoaderFeature: registerResource: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* serviceResourceLocation */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;)V
        68: .line 322
            aload 12 /* s */
            ifnull 74
            aload 12 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
            goto 74
      StackMap locals: com.oracle.svm.hosted.ServiceLoaderFeature com.oracle.graal.pointsto.meta.AnalysisType com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl java.lang.String java.lang.String java.util.Set java.util.Enumeration java.util.List java.lang.StringBuilder org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
      StackMap stack: java.lang.Throwable
        69: astore 10
            aload 12 /* s */
            ifnull 70
            aload 12 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        end local 12 // org.graalvm.compiler.debug.DebugContext$Scope s
      StackMap locals:
      StackMap stack:
        70: aload 10
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        71: astore 11
            aload 10
            ifnonnull 72
            aload 11
            astore 10
            goto 73
      StackMap locals:
      StackMap stack:
        72: aload 10
            aload 11
            if_acmpeq 73
            aload 10
            aload 11
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        73: aload 10
            athrow
        74: .line 323
      StackMap locals:
      StackMap stack:
            aload 4 /* serviceResourceLocation */
            new java.io.ByteArrayInputStream
            dup
            aload 8 /* newResourceValue */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            invokestatic com.oracle.svm.core.jdk.Resources.registerResource:(Ljava/lang/String;Ljava/io/InputStream;)V
        75: .line 326
            aload 2 /* access */
            invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl.requireAnalysisIteration:()V
        76: .line 327
            iconst_1
            ireturn
        end local 9 // org.graalvm.compiler.debug.DebugContext debugContext
        end local 8 // java.lang.StringBuilder newResourceValue
        end local 7 // java.util.List providers
        end local 6 // java.util.Enumeration resourceURLs
        end local 5 // java.util.Set implementationClassNames
        end local 4 // java.lang.String serviceResourceLocation
        end local 3 // java.lang.String serviceClassName
        end local 2 // com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl access
        end local 1 // com.oracle.graal.pointsto.meta.AnalysisType type
        end local 0 // com.oracle.svm.hosted.ServiceLoaderFeature this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   77     0                      this  Lcom/oracle/svm/hosted/ServiceLoaderFeature;
            0   77     1                      type  Lcom/oracle/graal/pointsto/meta/AnalysisType;
            0   77     2                    access  Lcom/oracle/svm/hosted/FeatureImpl$DuringAnalysisAccessImpl;
            5   77     3          serviceClassName  Ljava/lang/String;
            6   77     4   serviceResourceLocation  Ljava/lang/String;
           11   77     5  implementationClassNames  Ljava/util/Set<Ljava/lang/String;>;
           12   13     6              resourceURLs  Ljava/util/Enumeration<Ljava/net/URL;>;
           15   77     6              resourceURLs  Ljava/util/Enumeration<Ljava/net/URL;>;
           14   15     7                        ex  Ljava/io/IOException;
           16   20     7               resourceURL  Ljava/net/URL;
           19   20     8                        ex  Ljava/io/IOException;
           22   77     7                 providers  Ljava/util/List<Ljava/lang/String;>;
           31   77     8          newResourceValue  Ljava/lang/StringBuilder;
           33   63     9   implementationClassName  Ljava/lang/String;
           44   63    11       implementationClass  Ljava/lang/Class<*>;
           49   52    12                        ex  Lcom/oracle/graal/pointsto/constraints/UnsupportedFeatureException;
           65   77     9              debugContext  Lorg/graalvm/compiler/debug/DebugContext;
           67   70    12                         s  Lorg/graalvm/compiler/debug/DebugContext$Scope;
      Exception table:
        from    to  target  type
          11    12      13  Class java.io.IOException
          16    17      18  Class java.io.IOException
          46    47      48  Class com.oracle.graal.pointsto.constraints.UnsupportedFeatureException
          54    55      56  Class java.lang.NoSuchMethodException
          67    68      69  any
          66    71      71  any
    MethodParameters:
        Name  Flags
      type    
      access  

  private static java.util.Collection<java.lang.String> parseServiceResource(java.net.URL);
    descriptor: (Ljava/net/URL;)Ljava/util/Collection;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=1
        start local 0 // java.net.URL resourceURL
         0: .line 335
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* result */
        start local 1 // java.util.Collection result
         1: .line 336
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: new java.io.BufferedReader
            dup
            new java.io.InputStreamReader
            dup
            aload 0 /* resourceURL */
            invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
            ldc "utf-8"
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 4 /* reader */
        start local 4 // java.io.BufferedReader reader
         3: .line 338
      StackMap locals: java.net.URL java.util.Collection java.lang.Throwable java.lang.Throwable java.io.BufferedReader
      StackMap stack:
            aload 4 /* reader */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            astore 5 /* line */
        start local 5 // java.lang.String line
         4: .line 339
            aload 5 /* line */
            ifnonnull 6
         5: .line 340
            goto 13
         6: .line 343
      StackMap locals: java.lang.String
      StackMap stack:
            aload 5 /* line */
            bipush 35
            invokevirtual java.lang.String.indexOf:(I)I
            istore 6 /* commentIndex */
        start local 6 // int commentIndex
         7: .line 344
            iload 6 /* commentIndex */
            iflt 9
         8: .line 345
            aload 5 /* line */
            iconst_0
            iload 6 /* commentIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 5 /* line */
         9: .line 347
      StackMap locals: int
      StackMap stack:
            aload 5 /* line */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 5 /* line */
        10: .line 348
            aload 5 /* line */
            invokevirtual java.lang.String.length:()I
            ifeq 3
        11: .line 353
            aload 1 /* result */
            aload 5 /* line */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // int commentIndex
        end local 5 // java.lang.String line
        12: .line 337
            goto 3
        13: .line 356
      StackMap locals:
      StackMap stack:
            aload 4 /* reader */
            ifnull 19
            aload 4 /* reader */
            invokevirtual java.io.BufferedReader.close:()V
            goto 19
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 2
            aload 4 /* reader */
            ifnull 15
            aload 4 /* reader */
            invokevirtual java.io.BufferedReader.close:()V
        end local 4 // java.io.BufferedReader reader
      StackMap locals:
      StackMap stack:
        15: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        16: astore 3
            aload 2
            ifnonnull 17
            aload 3
            astore 2
            goto 18
      StackMap locals:
      StackMap stack:
        17: aload 2
            aload 3
            if_acmpeq 18
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        18: aload 2
            athrow
        19: .line 357
      StackMap locals:
      StackMap stack:
            aload 1 /* result */
            areturn
        end local 1 // java.util.Collection result
        end local 0 // java.net.URL resourceURL
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   20     0   resourceURL  Ljava/net/URL;
            1   20     1        result  Ljava/util/Collection<Ljava/lang/String;>;
            3   15     4        reader  Ljava/io/BufferedReader;
            4   12     5          line  Ljava/lang/String;
            7   12     6  commentIndex  I
      Exception table:
        from    to  target  type
           3    13      14  any
           2    16      16  any
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/net/URL;)Ljava/util/Collection<Ljava/lang/String;>;
    MethodParameters:
             Name  Flags
      resourceURL  
}
SourceFile: "ServiceLoaderFeature.java"
NestMembers:
  com.oracle.svm.hosted.ServiceLoaderFeature$Options
InnerClasses:
  public UserException = com.oracle.svm.core.util.UserError$UserException of com.oracle.svm.core.util.UserError
  public DuringAnalysisAccessImpl = com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl of com.oracle.svm.hosted.FeatureImpl
  public Options = com.oracle.svm.hosted.ServiceLoaderFeature$Options of com.oracle.svm.hosted.ServiceLoaderFeature
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Scope = org.graalvm.compiler.debug.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext
  public abstract AfterRegistrationAccess = org.graalvm.nativeimage.hosted.Feature$AfterRegistrationAccess of org.graalvm.nativeimage.hosted.Feature
  public abstract BeforeAnalysisAccess = org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess of org.graalvm.nativeimage.hosted.Feature
  public abstract DuringAnalysisAccess = org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess of org.graalvm.nativeimage.hosted.Feature
  public abstract IsInConfigurationAccess = org.graalvm.nativeimage.hosted.Feature$IsInConfigurationAccess of org.graalvm.nativeimage.hosted.Feature
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.AutomaticFeature()