public final class com.oracle.svm.hosted.ImageClassLoader
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.oracle.svm.hosted.ImageClassLoader
  super_class: java.lang.Object
{
  private static final int CLASS_LOADING_MAX_SCALING;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private static final int CLASS_LOADING_TIMEOUT_IN_MINUTES;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  public final org.graalvm.nativeimage.Platform platform;
    descriptor: Lorg/graalvm/nativeimage/Platform;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  final com.oracle.svm.hosted.NativeImageClassLoaderSupport classLoaderSupport;
    descriptor: Lcom/oracle/svm/hosted/NativeImageClassLoaderSupport;
    flags: (0x0010) ACC_FINAL

  private final org.graalvm.collections.EconomicSet<java.lang.Class<?>> applicationClasses;
    descriptor: Lorg/graalvm/collections/EconomicSet;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/graalvm/collections/EconomicSet<Ljava/lang/Class<*>;>;

  private final org.graalvm.collections.EconomicSet<java.lang.Class<?>> hostedOnlyClasses;
    descriptor: Lorg/graalvm/collections/EconomicSet;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/graalvm/collections/EconomicSet<Ljava/lang/Class<*>;>;

  private final org.graalvm.collections.EconomicSet<java.lang.reflect.Method> systemMethods;
    descriptor: Lorg/graalvm/collections/EconomicSet;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/graalvm/collections/EconomicSet<Ljava/lang/reflect/Method;>;

  private final org.graalvm.collections.EconomicSet<java.lang.reflect.Field> systemFields;
    descriptor: Lorg/graalvm/collections/EconomicSet;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/graalvm/collections/EconomicSet<Ljava/lang/reflect/Field;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=0, locals=0, args_size=0
         0: .line 67
            invokestatic org.graalvm.compiler.word.Word.ensureInitialized:()V
         1: .line 68
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(org.graalvm.nativeimage.Platform, com.oracle.svm.hosted.NativeImageClassLoaderSupport);
    descriptor: (Lorg/graalvm/nativeimage/Platform;Lcom/oracle/svm/hosted/NativeImageClassLoaderSupport;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.svm.hosted.ImageClassLoader this
        start local 1 // org.graalvm.nativeimage.Platform platform
        start local 2 // com.oracle.svm.hosted.NativeImageClassLoaderSupport classLoaderSupport
         0: .line 78
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 73
            aload 0 /* this */
            invokestatic org.graalvm.collections.EconomicSet.create:()Lorg/graalvm/collections/EconomicSet;
            putfield com.oracle.svm.hosted.ImageClassLoader.applicationClasses:Lorg/graalvm/collections/EconomicSet;
         2: .line 74
            aload 0 /* this */
            invokestatic org.graalvm.collections.EconomicSet.create:()Lorg/graalvm/collections/EconomicSet;
            putfield com.oracle.svm.hosted.ImageClassLoader.hostedOnlyClasses:Lorg/graalvm/collections/EconomicSet;
         3: .line 75
            aload 0 /* this */
            invokestatic org.graalvm.collections.EconomicSet.create:()Lorg/graalvm/collections/EconomicSet;
            putfield com.oracle.svm.hosted.ImageClassLoader.systemMethods:Lorg/graalvm/collections/EconomicSet;
         4: .line 76
            aload 0 /* this */
            invokestatic org.graalvm.collections.EconomicSet.create:()Lorg/graalvm/collections/EconomicSet;
            putfield com.oracle.svm.hosted.ImageClassLoader.systemFields:Lorg/graalvm/collections/EconomicSet;
         5: .line 79
            aload 0 /* this */
            aload 1 /* platform */
            putfield com.oracle.svm.hosted.ImageClassLoader.platform:Lorg/graalvm/nativeimage/Platform;
         6: .line 80
            aload 0 /* this */
            aload 2 /* classLoaderSupport */
            putfield com.oracle.svm.hosted.ImageClassLoader.classLoaderSupport:Lcom/oracle/svm/hosted/NativeImageClassLoaderSupport;
         7: .line 81
            return
        end local 2 // com.oracle.svm.hosted.NativeImageClassLoaderSupport classLoaderSupport
        end local 1 // org.graalvm.nativeimage.Platform platform
        end local 0 // com.oracle.svm.hosted.ImageClassLoader this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    8     0                this  Lcom/oracle/svm/hosted/ImageClassLoader;
            0    8     1            platform  Lorg/graalvm/nativeimage/Platform;
            0    8     2  classLoaderSupport  Lcom/oracle/svm/hosted/NativeImageClassLoaderSupport;
    MethodParameters:
                    Name  Flags
      platform            
      classLoaderSupport  

  public void initAllClasses();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.oracle.svm.hosted.ImageClassLoader this
         0: .line 84
            new java.util.concurrent.ForkJoinPool
            dup
            invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
            invokevirtual java.lang.Runtime.availableProcessors:()I
            bipush 8
            invokestatic java.lang.Math.min:(II)I
            invokespecial java.util.concurrent.ForkJoinPool.<init>:(I)V
            astore 1 /* executor */
        start local 1 // java.util.concurrent.ForkJoinPool executor
         1: .line 85
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ImageClassLoader.classLoaderSupport:Lcom/oracle/svm/hosted/NativeImageClassLoaderSupport;
            aload 1 /* executor */
            aload 0 /* this */
            invokevirtual com.oracle.svm.hosted.NativeImageClassLoaderSupport.initAllClasses:(Ljava/util/concurrent/ForkJoinPool;Lcom/oracle/svm/hosted/ImageClassLoader;)V
         2: .line 86
            aload 1 /* executor */
            ldc 10
            getstatic java.util.concurrent.TimeUnit.MINUTES:Ljava/util/concurrent/TimeUnit;
            invokevirtual java.util.concurrent.ForkJoinPool.awaitQuiescence:(JLjava/util/concurrent/TimeUnit;)Z
            istore 2 /* completed */
        start local 2 // boolean completed
         3: .line 87
            iload 2 /* completed */
            ifne 5
         4: .line 88
            ldc "timed out while initializing classes"
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
         5: .line 90
      StackMap locals: java.util.concurrent.ForkJoinPool int
      StackMap stack:
            aload 1 /* executor */
            invokevirtual java.util.concurrent.ForkJoinPool.shutdownNow:()Ljava/util/List;
            pop
         6: .line 91
            return
        end local 2 // boolean completed
        end local 1 // java.util.concurrent.ForkJoinPool executor
        end local 0 // com.oracle.svm.hosted.ImageClassLoader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lcom/oracle/svm/hosted/ImageClassLoader;
            1    7     1   executor  Ljava/util/concurrent/ForkJoinPool;
            3    7     2  completed  Z

  private void findSystemElements(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=9, args_size=2
        start local 0 // com.oracle.svm.hosted.ImageClassLoader this
        start local 1 // java.lang.Class systemClass
         0: .line 94
            aconst_null
            astore 2 /* declaredMethods */
        start local 2 // java.lang.reflect.Method[] declaredMethods
         1: .line 96
            aload 1 /* systemClass */
            invokevirtual java.lang.Class.getDeclaredMethods:()[Ljava/lang/reflect/Method;
            astore 2 /* declaredMethods */
         2: .line 97
            goto 5
      StackMap locals: com.oracle.svm.hosted.ImageClassLoader java.lang.Class java.lang.reflect.Method[]
      StackMap stack: java.lang.Throwable
         3: astore 3 /* t */
        start local 3 // java.lang.Throwable t
         4: .line 98
            aload 3 /* t */
            invokestatic com.oracle.svm.hosted.ImageClassLoader.handleClassLoadingError:(Ljava/lang/Throwable;)V
        end local 3 // java.lang.Throwable t
         5: .line 100
      StackMap locals:
      StackMap stack:
            aload 2 /* declaredMethods */
            ifnull 17
         6: .line 101
            aload 2 /* declaredMethods */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 16
      StackMap locals: com.oracle.svm.hosted.ImageClassLoader java.lang.Class java.lang.reflect.Method[] top int int java.lang.reflect.Method[]
      StackMap stack:
         7: aload 6
            iload 4
            aaload
            astore 3 /* systemMethod */
        start local 3 // java.lang.reflect.Method systemMethod
         8: .line 102
            aload 3 /* systemMethod */
            invokestatic com.oracle.svm.hosted.ImageClassLoader.annotationsAvailable:(Ljava/lang/reflect/AnnotatedElement;)Z
            ifeq 15
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ImageClassLoader.platform:Lorg/graalvm/nativeimage/Platform;
            aload 3 /* systemMethod */
            ldc Lorg/graalvm/nativeimage/Platforms;
            invokevirtual java.lang.reflect.Method.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.graalvm.nativeimage.Platforms
            invokestatic com.oracle.svm.hosted.NativeImageGenerator.includedIn:(Lorg/graalvm/nativeimage/Platform;Lorg/graalvm/nativeimage/Platforms;)Z
            ifeq 15
         9: .line 103
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ImageClassLoader.systemMethods:Lorg/graalvm/collections/EconomicSet;
            dup
            astore 7
            monitorenter
        10: .line 104
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ImageClassLoader.systemMethods:Lorg/graalvm/collections/EconomicSet;
            aload 3 /* systemMethod */
            invokeinterface org.graalvm.collections.EconomicSet.add:(Ljava/lang/Object;)Z
            pop
        11: .line 103
            aload 7
            monitorexit
        12: goto 15
      StackMap locals: com.oracle.svm.hosted.ImageClassLoader java.lang.Class java.lang.reflect.Method[] java.lang.reflect.Method int int java.lang.reflect.Method[] org.graalvm.collections.EconomicSet
      StackMap stack: java.lang.Throwable
        13: aload 7
            monitorexit
        14: athrow
        end local 3 // java.lang.reflect.Method systemMethod
        15: .line 101
      StackMap locals: com.oracle.svm.hosted.ImageClassLoader java.lang.Class java.lang.reflect.Method[] top int int java.lang.reflect.Method[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        16: iload 4
            iload 5
            if_icmplt 7
        17: .line 110
      StackMap locals: com.oracle.svm.hosted.ImageClassLoader java.lang.Class java.lang.reflect.Method[]
      StackMap stack:
            aconst_null
            astore 3 /* declaredFields */
        start local 3 // java.lang.reflect.Field[] declaredFields
        18: .line 112
            aload 1 /* systemClass */
            invokevirtual java.lang.Class.getDeclaredFields:()[Ljava/lang/reflect/Field;
            astore 3 /* declaredFields */
        19: .line 113
            goto 22
      StackMap locals: com.oracle.svm.hosted.ImageClassLoader java.lang.Class java.lang.reflect.Method[] java.lang.reflect.Field[]
      StackMap stack: java.lang.Throwable
        20: astore 4 /* t */
        start local 4 // java.lang.Throwable t
        21: .line 114
            aload 4 /* t */
            invokestatic com.oracle.svm.hosted.ImageClassLoader.handleClassLoadingError:(Ljava/lang/Throwable;)V
        end local 4 // java.lang.Throwable t
        22: .line 116
      StackMap locals:
      StackMap stack:
            aload 3 /* declaredFields */
            ifnull 34
        23: .line 117
            aload 3 /* declaredFields */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 33
      StackMap locals: com.oracle.svm.hosted.ImageClassLoader java.lang.Class java.lang.reflect.Method[] java.lang.reflect.Field[] top int int java.lang.reflect.Field[]
      StackMap stack:
        24: aload 7
            iload 5
            aaload
            astore 4 /* systemField */
        start local 4 // java.lang.reflect.Field systemField
        25: .line 118
            aload 4 /* systemField */
            invokestatic com.oracle.svm.hosted.ImageClassLoader.annotationsAvailable:(Ljava/lang/reflect/AnnotatedElement;)Z
            ifeq 32
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ImageClassLoader.platform:Lorg/graalvm/nativeimage/Platform;
            aload 4 /* systemField */
            ldc Lorg/graalvm/nativeimage/Platforms;
            invokevirtual java.lang.reflect.Field.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.graalvm.nativeimage.Platforms
            invokestatic com.oracle.svm.hosted.NativeImageGenerator.includedIn:(Lorg/graalvm/nativeimage/Platform;Lorg/graalvm/nativeimage/Platforms;)Z
            ifeq 32
        26: .line 119
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ImageClassLoader.systemFields:Lorg/graalvm/collections/EconomicSet;
            dup
            astore 8
            monitorenter
        27: .line 120
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ImageClassLoader.systemFields:Lorg/graalvm/collections/EconomicSet;
            aload 4 /* systemField */
            invokeinterface org.graalvm.collections.EconomicSet.add:(Ljava/lang/Object;)Z
            pop
        28: .line 119
            aload 8
            monitorexit
        29: goto 32
      StackMap locals: com.oracle.svm.hosted.ImageClassLoader java.lang.Class java.lang.reflect.Method[] java.lang.reflect.Field[] java.lang.reflect.Field int int java.lang.reflect.Field[] org.graalvm.collections.EconomicSet
      StackMap stack: java.lang.Throwable
        30: aload 8
            monitorexit
        31: athrow
        end local 4 // java.lang.reflect.Field systemField
        32: .line 117
      StackMap locals: com.oracle.svm.hosted.ImageClassLoader java.lang.Class java.lang.reflect.Method[] java.lang.reflect.Field[] top int int java.lang.reflect.Field[]
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        33: iload 5
            iload 6
            if_icmplt 24
        34: .line 125
      StackMap locals: com.oracle.svm.hosted.ImageClassLoader java.lang.Class java.lang.reflect.Method[] java.lang.reflect.Field[]
      StackMap stack:
            return
        end local 3 // java.lang.reflect.Field[] declaredFields
        end local 2 // java.lang.reflect.Method[] declaredMethods
        end local 1 // java.lang.Class systemClass
        end local 0 // com.oracle.svm.hosted.ImageClassLoader this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   35     0             this  Lcom/oracle/svm/hosted/ImageClassLoader;
            0   35     1      systemClass  Ljava/lang/Class<*>;
            1   35     2  declaredMethods  [Ljava/lang/reflect/Method;
            4    5     3                t  Ljava/lang/Throwable;
            8   15     3     systemMethod  Ljava/lang/reflect/Method;
           18   35     3   declaredFields  [Ljava/lang/reflect/Field;
           21   22     4                t  Ljava/lang/Throwable;
           25   32     4      systemField  Ljava/lang/reflect/Field;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Throwable
          10    12      13  any
          13    14      13  any
          18    19      20  Class java.lang.Throwable
          27    29      30  any
          30    31      30  any
    Signature: (Ljava/lang/Class<*>;)V
    MethodParameters:
             Name  Flags
      systemClass  

  private static boolean canLoadAnnotations(java.lang.reflect.AnnotatedElement);
    descriptor: (Ljava/lang/reflect/AnnotatedElement;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.lang.reflect.AnnotatedElement element
         0: .line 134
            aload 0 /* element */
            invokeinterface java.lang.reflect.AnnotatedElement.getAnnotations:()[Ljava/lang/annotation/Annotation;
            pop
         1: .line 135
            iconst_1
            ireturn
         2: .line 136
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 1 /* t */
        start local 1 // java.lang.Throwable t
         3: .line 137
            aload 1 /* t */
            invokestatic com.oracle.svm.hosted.ImageClassLoader.handleClassLoadingError:(Ljava/lang/Throwable;)V
         4: .line 138
            iconst_0
            ireturn
        end local 1 // java.lang.Throwable t
        end local 0 // java.lang.reflect.AnnotatedElement element
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0  element  Ljava/lang/reflect/AnnotatedElement;
            3    5     1        t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Throwable
    MethodParameters:
         Name  Flags
      element  

  private static boolean annotationsAvailable(java.lang.reflect.AnnotatedElement);
    descriptor: (Ljava/lang/reflect/AnnotatedElement;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.lang.reflect.AnnotatedElement element
         0: .line 149
            aload 0 /* element */
            invokeinterface java.lang.reflect.AnnotatedElement.getAnnotations:()[Ljava/lang/annotation/Annotation;
            astore 1 /* annotations */
        start local 1 // java.lang.annotation.Annotation[] annotations
         1: .line 150
            aload 1 /* annotations */
            arraylength
            ifeq 2
            iconst_1
            ireturn
      StackMap locals: java.lang.annotation.Annotation[]
      StackMap stack:
         2: iconst_0
         3: ireturn
        end local 1 // java.lang.annotation.Annotation[] annotations
         4: .line 151
      StackMap locals: java.lang.reflect.AnnotatedElement
      StackMap stack: java.lang.Throwable
            astore 1 /* t */
        start local 1 // java.lang.Throwable t
         5: .line 152
            aload 1 /* t */
            invokestatic com.oracle.svm.hosted.ImageClassLoader.handleClassLoadingError:(Ljava/lang/Throwable;)V
         6: .line 153
            iconst_0
            ireturn
        end local 1 // java.lang.Throwable t
        end local 0 // java.lang.reflect.AnnotatedElement element
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0      element  Ljava/lang/reflect/AnnotatedElement;
            1    4     1  annotations  [Ljava/lang/annotation/Annotation;
            5    7     1            t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.Throwable
    MethodParameters:
         Name  Flags
      element  

  static void handleClassLoadingError(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // java.lang.Throwable t
         0: .line 160
            return
        end local 0 // java.lang.Throwable t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     t  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      t     

  void handleClass(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // com.oracle.svm.hosted.ImageClassLoader this
        start local 1 // java.lang.Class clazz
         0: .line 163
            iconst_1
            istore 2 /* inPlatform */
        start local 2 // boolean inPlatform
         1: .line 164
            iconst_0
            istore 3 /* isHostedOnly */
        start local 3 // boolean isHostedOnly
         2: .line 166
            aload 1 /* clazz */
            invokevirtual java.lang.Class.getPackage:()Ljava/lang/Package;
            astore 4 /* cur */
        start local 4 // java.lang.reflect.AnnotatedElement cur
         3: .line 167
            aload 4 /* cur */
            ifnonnull 5
         4: .line 168
            aload 1 /* clazz */
            astore 4 /* cur */
         5: .line 171
      StackMap locals: int int java.lang.reflect.AnnotatedElement
      StackMap stack:
            aload 4 /* cur */
            invokestatic com.oracle.svm.hosted.ImageClassLoader.canLoadAnnotations:(Ljava/lang/reflect/AnnotatedElement;)Z
            ifne 7
         6: .line 172
            return
         7: .line 174
      StackMap locals:
      StackMap stack:
            aload 4 /* cur */
            ldc Lorg/graalvm/nativeimage/Platforms;
            invokeinterface java.lang.reflect.AnnotatedElement.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.graalvm.nativeimage.Platforms
            astore 5 /* platformsAnnotation */
        start local 5 // org.graalvm.nativeimage.Platforms platformsAnnotation
         8: .line 175
            aload 5 /* platformsAnnotation */
            invokestatic com.oracle.svm.hosted.ImageClassLoader.containsHostedOnly:(Lorg/graalvm/nativeimage/Platforms;)Z
            ifeq 11
         9: .line 176
            iconst_1
            istore 3 /* isHostedOnly */
        10: .line 177
            goto 13
      StackMap locals: org.graalvm.nativeimage.Platforms
      StackMap stack:
        11: aload 0 /* this */
            getfield com.oracle.svm.hosted.ImageClassLoader.platform:Lorg/graalvm/nativeimage/Platform;
            aload 5 /* platformsAnnotation */
            invokestatic com.oracle.svm.hosted.NativeImageGenerator.includedIn:(Lorg/graalvm/nativeimage/Platform;Lorg/graalvm/nativeimage/Platforms;)Z
            ifne 13
        12: .line 178
            iconst_0
            istore 2 /* inPlatform */
        13: .line 181
      StackMap locals:
      StackMap stack:
            aload 4 /* cur */
            instanceof java.lang.Package
            ifeq 16
        14: .line 182
            aload 1 /* clazz */
            astore 4 /* cur */
        15: .line 183
            goto 21
        16: .line 185
      StackMap locals:
      StackMap stack:
            aload 4 /* cur */
            checkcast java.lang.Class
            invokevirtual java.lang.Class.getEnclosingClass:()Ljava/lang/Class;
            astore 4 /* cur */
        17: .line 186
            goto 21
      StackMap locals:
      StackMap stack: java.lang.Throwable
        18: astore 6 /* t */
        start local 6 // java.lang.Throwable t
        19: .line 187
            aload 6 /* t */
            invokestatic com.oracle.svm.hosted.ImageClassLoader.handleClassLoadingError:(Ljava/lang/Throwable;)V
        20: .line 188
            aconst_null
            astore 4 /* cur */
        end local 6 // java.lang.Throwable t
        end local 5 // org.graalvm.nativeimage.Platforms platformsAnnotation
        21: .line 191
      StackMap locals:
      StackMap stack:
            aload 4 /* cur */
            ifnonnull 5
        22: .line 193
            iload 2 /* inPlatform */
            ifeq 37
        23: .line 194
            iload 3 /* isHostedOnly */
            ifeq 30
        24: .line 195
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ImageClassLoader.hostedOnlyClasses:Lorg/graalvm/collections/EconomicSet;
            dup
            astore 5
            monitorenter
        25: .line 196
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ImageClassLoader.hostedOnlyClasses:Lorg/graalvm/collections/EconomicSet;
            aload 1 /* clazz */
            invokeinterface org.graalvm.collections.EconomicSet.add:(Ljava/lang/Object;)Z
            pop
        26: .line 195
            aload 5
            monitorexit
        27: goto 37
      StackMap locals: com.oracle.svm.hosted.ImageClassLoader java.lang.Class int int java.lang.reflect.AnnotatedElement org.graalvm.collections.EconomicSet
      StackMap stack: java.lang.Throwable
        28: aload 5
            monitorexit
        29: athrow
        30: .line 200
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ImageClassLoader.applicationClasses:Lorg/graalvm/collections/EconomicSet;
            dup
            astore 5
            monitorenter
        31: .line 201
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ImageClassLoader.applicationClasses:Lorg/graalvm/collections/EconomicSet;
            aload 1 /* clazz */
            invokeinterface org.graalvm.collections.EconomicSet.add:(Ljava/lang/Object;)Z
            pop
        32: .line 200
            aload 5
            monitorexit
        33: goto 36
      StackMap locals: com.oracle.svm.hosted.ImageClassLoader java.lang.Class int int java.lang.reflect.AnnotatedElement org.graalvm.collections.EconomicSet
      StackMap stack: java.lang.Throwable
        34: aload 5
            monitorexit
        35: athrow
        36: .line 203
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* clazz */
            invokevirtual com.oracle.svm.hosted.ImageClassLoader.findSystemElements:(Ljava/lang/Class;)V
        37: .line 206
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.reflect.AnnotatedElement cur
        end local 3 // boolean isHostedOnly
        end local 2 // boolean inPlatform
        end local 1 // java.lang.Class clazz
        end local 0 // com.oracle.svm.hosted.ImageClassLoader this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   38     0                 this  Lcom/oracle/svm/hosted/ImageClassLoader;
            0   38     1                clazz  Ljava/lang/Class<*>;
            1   38     2           inPlatform  Z
            2   38     3         isHostedOnly  Z
            3   38     4                  cur  Ljava/lang/reflect/AnnotatedElement;
            8   21     5  platformsAnnotation  Lorg/graalvm/nativeimage/Platforms;
           19   21     6                    t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          16    17      18  Class java.lang.Throwable
          25    27      28  any
          28    29      28  any
          31    33      34  any
          34    35      34  any
    Signature: (Ljava/lang/Class<*>;)V
    MethodParameters:
       Name  Flags
      clazz  

  private static boolean containsHostedOnly(org.graalvm.nativeimage.Platforms);
    descriptor: (Lorg/graalvm/nativeimage/Platforms;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // org.graalvm.nativeimage.Platforms platformsAnnotation
         0: .line 209
            aload 0 /* platformsAnnotation */
            ifnull 7
         1: .line 210
            aload 0 /* platformsAnnotation */
            invokeinterface org.graalvm.nativeimage.Platforms.value:()[Ljava/lang/Class;
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 6
      StackMap locals: org.graalvm.nativeimage.Platforms top int int java.lang.Class[]
      StackMap stack:
         2: aload 4
            iload 2
            aaload
            astore 1 /* platformClass */
        start local 1 // java.lang.Class platformClass
         3: .line 211
            aload 1 /* platformClass */
            ldc Lorg/graalvm/nativeimage/Platform$HOSTED_ONLY;
            if_acmpne 5
         4: .line 212
            iconst_1
            ireturn
        end local 1 // java.lang.Class platformClass
         5: .line 210
      StackMap locals:
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
         6: iload 2
            iload 3
            if_icmplt 2
         7: .line 216
      StackMap locals: org.graalvm.nativeimage.Platforms
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // org.graalvm.nativeimage.Platforms platformsAnnotation
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    8     0  platformsAnnotation  Lorg/graalvm/nativeimage/Platforms;
            3    5     1        platformClass  Ljava/lang/Class<+Lorg/graalvm/nativeimage/Platform;>;
    MethodParameters:
                     Name  Flags
      platformsAnnotation  

  public java.util.Enumeration<java.net.URL> findResourcesByName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Enumeration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.hosted.ImageClassLoader this
        start local 1 // java.lang.String resource
         0: .line 220
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ImageClassLoader.classLoaderSupport:Lcom/oracle/svm/hosted/NativeImageClassLoaderSupport;
            invokevirtual com.oracle.svm.hosted.NativeImageClassLoaderSupport.getClassLoader:()Ljava/lang/ClassLoader;
            aload 1 /* resource */
            invokevirtual java.lang.ClassLoader.getResources:(Ljava/lang/String;)Ljava/util/Enumeration;
            areturn
        end local 1 // java.lang.String resource
        end local 0 // com.oracle.svm.hosted.ImageClassLoader this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/svm/hosted/ImageClassLoader;
            0    1     1  resource  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/lang/String;)Ljava/util/Enumeration<Ljava/net/URL;>;
    MethodParameters:
          Name  Flags
      resource  

  public java.io.InputStream findResourceAsStreamByName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/io/InputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.hosted.ImageClassLoader this
        start local 1 // java.lang.String resource
         0: .line 224
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ImageClassLoader.classLoaderSupport:Lcom/oracle/svm/hosted/NativeImageClassLoaderSupport;
            invokevirtual com.oracle.svm.hosted.NativeImageClassLoaderSupport.getClassLoader:()Ljava/lang/ClassLoader;
            aload 1 /* resource */
            invokevirtual java.lang.ClassLoader.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
            areturn
        end local 1 // java.lang.String resource
        end local 0 // com.oracle.svm.hosted.ImageClassLoader this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/svm/hosted/ImageClassLoader;
            0    1     1  resource  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      resource  

  public java.lang.Class<?> findClassByName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.svm.hosted.ImageClassLoader this
        start local 1 // java.lang.String name
         0: .line 232
            aload 0 /* this */
            aload 1 /* name */
            iconst_1
            invokevirtual com.oracle.svm.hosted.ImageClassLoader.findClassByName:(Ljava/lang/String;Z)Ljava/lang/Class;
            areturn
        end local 1 // java.lang.String name
        end local 0 // com.oracle.svm.hosted.ImageClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/hosted/ImageClassLoader;
            0    1     1  name  Ljava/lang/String;
    Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      name  

  public java.lang.Class<?> findClassByName(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // com.oracle.svm.hosted.ImageClassLoader this
        start local 1 // java.lang.String name
        start local 2 // boolean failIfClassMissing
         0: .line 240
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.oracle.svm.hosted.ImageClassLoader.findClass:(Ljava/lang/String;)Lcom/oracle/svm/core/TypeResult;
            astore 3 /* result */
        start local 3 // com.oracle.svm.core.TypeResult result
         1: .line 241
            iload 2 /* failIfClassMissing */
            ifeq 3
         2: .line 242
            aload 3 /* result */
            invokevirtual com.oracle.svm.core.TypeResult.getOrFail:()Ljava/lang/Object;
            checkcast java.lang.Class
            areturn
         3: .line 244
      StackMap locals: com.oracle.svm.core.TypeResult
      StackMap stack:
            aload 3 /* result */
            invokevirtual com.oracle.svm.core.TypeResult.get:()Ljava/lang/Object;
            checkcast java.lang.Class
            areturn
        end local 3 // com.oracle.svm.core.TypeResult result
        end local 2 // boolean failIfClassMissing
        end local 1 // java.lang.String name
        end local 0 // com.oracle.svm.hosted.ImageClassLoader this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    4     0                this  Lcom/oracle/svm/hosted/ImageClassLoader;
            0    4     1                name  Ljava/lang/String;
            0    4     2  failIfClassMissing  Z
            1    4     3              result  Lcom/oracle/svm/core/TypeResult<Ljava/lang/Class<*>;>;
    Signature: (Ljava/lang/String;Z)Ljava/lang/Class<*>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                    Name  Flags
      name                
      failIfClassMissing  

  public java.lang.Class<?> findClassOrFail(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.hosted.ImageClassLoader this
        start local 1 // java.lang.String name
         0: .line 250
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.oracle.svm.hosted.ImageClassLoader.findClass:(Ljava/lang/String;)Lcom/oracle/svm/core/TypeResult;
            invokevirtual com.oracle.svm.core.TypeResult.getOrFail:()Ljava/lang/Object;
            checkcast java.lang.Class
            areturn
        end local 1 // java.lang.String name
        end local 0 // com.oracle.svm.hosted.ImageClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/hosted/ImageClassLoader;
            0    1     1  name  Ljava/lang/String;
    Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
    MethodParameters:
      Name  Flags
      name  

  public com.oracle.svm.core.TypeResult<java.lang.Class<?>> findClass(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/oracle/svm/core/TypeResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.svm.hosted.ImageClassLoader this
        start local 1 // java.lang.String name
         0: .line 256
            aload 1 /* name */
            bipush 46
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpne 29
         1: .line 257
            aload 1 /* name */
            dup
            astore 2
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 9
          -1325958191: 2
               104431: 3
              3039496: 4
              3052374: 5
              3327612: 6
              3625364: 7
             64711720: 8
             97526364: 9
            109413500: 10
              default: 29
          }
      StackMap locals: java.lang.String
      StackMap stack:
         2: aload 2
            ldc "double"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
            goto 29
      StackMap locals:
      StackMap stack:
         3: aload 2
            ldc "int"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 23
            goto 29
      StackMap locals:
      StackMap stack:
         4: aload 2
            ldc "byte"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 19
            goto 29
      StackMap locals:
      StackMap stack:
         5: aload 2
            ldc "char"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 13
            goto 29
      StackMap locals:
      StackMap stack:
         6: aload 2
            ldc "long"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 25
            goto 29
      StackMap locals:
      StackMap stack:
         7: aload 2
            ldc "void"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 27
            goto 29
      StackMap locals:
      StackMap stack:
         8: aload 2
            ldc "boolean"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 11
            goto 29
      StackMap locals:
      StackMap stack:
         9: aload 2
            ldc "float"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 15
            goto 29
      StackMap locals:
      StackMap stack:
        10: aload 2
            ldc "short"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 21
            goto 29
        11: .line 259
      StackMap locals:
      StackMap stack:
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            invokestatic com.oracle.svm.core.TypeResult.forClass:(Ljava/lang/Class;)Lcom/oracle/svm/core/TypeResult;
        12: areturn
        13: .line 261
      StackMap locals:
      StackMap stack:
            getstatic java.lang.Character.TYPE:Ljava/lang/Class;
            invokestatic com.oracle.svm.core.TypeResult.forClass:(Ljava/lang/Class;)Lcom/oracle/svm/core/TypeResult;
        14: areturn
        15: .line 263
      StackMap locals:
      StackMap stack:
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
            invokestatic com.oracle.svm.core.TypeResult.forClass:(Ljava/lang/Class;)Lcom/oracle/svm/core/TypeResult;
        16: areturn
        17: .line 265
      StackMap locals:
      StackMap stack:
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            invokestatic com.oracle.svm.core.TypeResult.forClass:(Ljava/lang/Class;)Lcom/oracle/svm/core/TypeResult;
        18: areturn
        19: .line 267
      StackMap locals:
      StackMap stack:
            getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
            invokestatic com.oracle.svm.core.TypeResult.forClass:(Ljava/lang/Class;)Lcom/oracle/svm/core/TypeResult;
        20: areturn
        21: .line 269
      StackMap locals:
      StackMap stack:
            getstatic java.lang.Short.TYPE:Ljava/lang/Class;
            invokestatic com.oracle.svm.core.TypeResult.forClass:(Ljava/lang/Class;)Lcom/oracle/svm/core/TypeResult;
        22: areturn
        23: .line 271
      StackMap locals:
      StackMap stack:
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            invokestatic com.oracle.svm.core.TypeResult.forClass:(Ljava/lang/Class;)Lcom/oracle/svm/core/TypeResult;
        24: areturn
        25: .line 273
      StackMap locals:
      StackMap stack:
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            invokestatic com.oracle.svm.core.TypeResult.forClass:(Ljava/lang/Class;)Lcom/oracle/svm/core/TypeResult;
        26: areturn
        27: .line 275
      StackMap locals:
      StackMap stack:
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            invokestatic com.oracle.svm.core.TypeResult.forClass:(Ljava/lang/Class;)Lcom/oracle/svm/core/TypeResult;
        28: areturn
        29: .line 278
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.oracle.svm.hosted.ImageClassLoader.forName:(Ljava/lang/String;)Ljava/lang/Class;
            invokestatic com.oracle.svm.core.TypeResult.forClass:(Ljava/lang/Class;)Lcom/oracle/svm/core/TypeResult;
        30: areturn
        31: .line 279
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2 /* ex */
        start local 2 // java.lang.Throwable ex
        32: .line 280
            aload 1 /* name */
            aload 2 /* ex */
            invokestatic com.oracle.svm.core.TypeResult.forException:(Ljava/lang/String;Ljava/lang/Throwable;)Lcom/oracle/svm/core/TypeResult;
            areturn
        end local 2 // java.lang.Throwable ex
        end local 1 // java.lang.String name
        end local 0 // com.oracle.svm.hosted.ImageClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   33     0  this  Lcom/oracle/svm/hosted/ImageClassLoader;
            0   33     1  name  Ljava/lang/String;
           32   33     2    ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0    12      31  Class java.lang.ClassNotFoundException
          13    14      31  Class java.lang.ClassNotFoundException
          15    16      31  Class java.lang.ClassNotFoundException
          17    18      31  Class java.lang.ClassNotFoundException
          19    20      31  Class java.lang.ClassNotFoundException
          21    22      31  Class java.lang.ClassNotFoundException
          23    24      31  Class java.lang.ClassNotFoundException
          25    26      31  Class java.lang.ClassNotFoundException
          27    28      31  Class java.lang.ClassNotFoundException
          29    30      31  Class java.lang.ClassNotFoundException
           0    12      31  Class java.lang.LinkageError
          13    14      31  Class java.lang.LinkageError
          15    16      31  Class java.lang.LinkageError
          17    18      31  Class java.lang.LinkageError
          19    20      31  Class java.lang.LinkageError
          21    22      31  Class java.lang.LinkageError
          23    24      31  Class java.lang.LinkageError
          25    26      31  Class java.lang.LinkageError
          27    28      31  Class java.lang.LinkageError
          29    30      31  Class java.lang.LinkageError
    Signature: (Ljava/lang/String;)Lcom/oracle/svm/core/TypeResult<Ljava/lang/Class<*>;>;
    MethodParameters:
      Name  Flags
      name  

  java.lang.Class<?> forName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.svm.hosted.ImageClassLoader this
        start local 1 // java.lang.String name
         0: .line 285
            aload 1 /* name */
            iconst_0
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ImageClassLoader.classLoaderSupport:Lcom/oracle/svm/hosted/NativeImageClassLoaderSupport;
            invokevirtual com.oracle.svm.hosted.NativeImageClassLoaderSupport.getClassLoader:()Ljava/lang/ClassLoader;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            areturn
        end local 1 // java.lang.String name
        end local 0 // com.oracle.svm.hosted.ImageClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/hosted/ImageClassLoader;
            0    1     1  name  Ljava/lang/String;
    Exceptions:
      throws java.lang.ClassNotFoundException
    Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
    MethodParameters:
      Name  Flags
      name  

  public java.util.List<java.lang.String> getClasspath();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.ImageClassLoader this
         0: .line 295
            aload 0 /* this */
            invokevirtual com.oracle.svm.hosted.ImageClassLoader.classpath:()Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            invokedynamic apply()Ljava/util/function/Function;
              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;)Ljava/lang/Object;
                  java/nio/file/Path.toString()Ljava/lang/String; (9 itf)
                  (Ljava/nio/file/Path;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
            areturn
        end local 0 // com.oracle.svm.hosted.ImageClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/hosted/ImageClassLoader;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public java.util.List<java.nio.file.Path> classpath();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.ImageClassLoader this
         0: .line 299
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ImageClassLoader.classLoaderSupport:Lcom/oracle/svm/hosted/NativeImageClassLoaderSupport;
            invokevirtual com.oracle.svm.hosted.NativeImageClassLoaderSupport.classpath:()Ljava/util/List;
            areturn
        end local 0 // com.oracle.svm.hosted.ImageClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/hosted/ImageClassLoader;
    Signature: ()Ljava/util/List<Ljava/nio/file/Path;>;

  public java.util.List<java.nio.file.Path> modulepath();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.ImageClassLoader this
         0: .line 303
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ImageClassLoader.classLoaderSupport:Lcom/oracle/svm/hosted/NativeImageClassLoaderSupport;
            invokevirtual com.oracle.svm.hosted.NativeImageClassLoaderSupport.modulepath:()Ljava/util/List;
            areturn
        end local 0 // com.oracle.svm.hosted.ImageClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/hosted/ImageClassLoader;
    Signature: ()Ljava/util/List<Ljava/nio/file/Path;>;

  public java.util.List<java.nio.file.Path> applicationClassPath();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.ImageClassLoader this
         0: .line 307
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ImageClassLoader.classLoaderSupport:Lcom/oracle/svm/hosted/NativeImageClassLoaderSupport;
            invokevirtual com.oracle.svm.hosted.NativeImageClassLoaderSupport.applicationClassPath:()Ljava/util/List;
            areturn
        end local 0 // com.oracle.svm.hosted.ImageClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/hosted/ImageClassLoader;
    Signature: ()Ljava/util/List<Ljava/nio/file/Path;>;

  public java.util.List<java.nio.file.Path> applicationModulePath();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.ImageClassLoader this
         0: .line 311
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ImageClassLoader.classLoaderSupport:Lcom/oracle/svm/hosted/NativeImageClassLoaderSupport;
            invokevirtual com.oracle.svm.hosted.NativeImageClassLoaderSupport.applicationModulePath:()Ljava/util/List;
            areturn
        end local 0 // com.oracle.svm.hosted.ImageClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/hosted/ImageClassLoader;
    Signature: ()Ljava/util/List<Ljava/nio/file/Path;>;

  public <T> java.util.List<java.lang.Class<? extends T>> findSubclasses(java.lang.Class<T>, boolean);
    descriptor: (Ljava/lang/Class;Z)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.oracle.svm.hosted.ImageClassLoader this
        start local 1 // java.lang.Class baseClass
        start local 2 // boolean includeHostedOnly
         0: .line 315
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* result */
        start local 3 // java.util.ArrayList result
         1: .line 316
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ImageClassLoader.applicationClasses:Lorg/graalvm/collections/EconomicSet;
            aload 1 /* baseClass */
            aload 3 /* result */
            invokestatic com.oracle.svm.hosted.ImageClassLoader.addSubclasses:(Lorg/graalvm/collections/EconomicSet;Ljava/lang/Class;Ljava/util/ArrayList;)V
         2: .line 317
            iload 2 /* includeHostedOnly */
            ifeq 4
         3: .line 318
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ImageClassLoader.hostedOnlyClasses:Lorg/graalvm/collections/EconomicSet;
            aload 1 /* baseClass */
            aload 3 /* result */
            invokestatic com.oracle.svm.hosted.ImageClassLoader.addSubclasses:(Lorg/graalvm/collections/EconomicSet;Ljava/lang/Class;Ljava/util/ArrayList;)V
         4: .line 320
      StackMap locals: java.util.ArrayList
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 3 // java.util.ArrayList result
        end local 2 // boolean includeHostedOnly
        end local 1 // java.lang.Class baseClass
        end local 0 // com.oracle.svm.hosted.ImageClassLoader this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    5     0               this  Lcom/oracle/svm/hosted/ImageClassLoader;
            0    5     1          baseClass  Ljava/lang/Class<TT;>;
            0    5     2  includeHostedOnly  Z
            1    5     3             result  Ljava/util/ArrayList<Ljava/lang/Class<+TT;>;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;Z)Ljava/util/List<Ljava/lang/Class<+TT;>;>;
    MethodParameters:
                   Name  Flags
      baseClass          
      includeHostedOnly  

  private static <T> void addSubclasses(org.graalvm.collections.EconomicSet<java.lang.Class<?>>, java.lang.Class<T>, java.util.ArrayList<java.lang.Class<? extends T>>);
    descriptor: (Lorg/graalvm/collections/EconomicSet;Ljava/lang/Class;Ljava/util/ArrayList;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.graalvm.collections.EconomicSet classes
        start local 1 // java.lang.Class baseClass
        start local 2 // java.util.ArrayList result
         0: .line 324
            aload 0 /* classes */
            invokeinterface org.graalvm.collections.EconomicSet.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: org.graalvm.collections.EconomicSet java.lang.Class java.util.ArrayList top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Class
            astore 3 /* systemClass */
        start local 3 // java.lang.Class systemClass
         2: .line 325
            aload 1 /* baseClass */
            aload 3 /* systemClass */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 4
         3: .line 326
            aload 2 /* result */
            aload 3 /* systemClass */
            aload 1 /* baseClass */
            invokevirtual java.lang.Class.asSubclass:(Ljava/lang/Class;)Ljava/lang/Class;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.Class systemClass
         4: .line 324
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 329
            return
        end local 2 // java.util.ArrayList result
        end local 1 // java.lang.Class baseClass
        end local 0 // org.graalvm.collections.EconomicSet classes
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0      classes  Lorg/graalvm/collections/EconomicSet<Ljava/lang/Class<*>;>;
            0    6     1    baseClass  Ljava/lang/Class<TT;>;
            0    6     2       result  Ljava/util/ArrayList<Ljava/lang/Class<+TT;>;>;
            2    4     3  systemClass  Ljava/lang/Class<*>;
    Signature: <T:Ljava/lang/Object;>(Lorg/graalvm/collections/EconomicSet<Ljava/lang/Class<*>;>;Ljava/lang/Class<TT;>;Ljava/util/ArrayList<Ljava/lang/Class<+TT;>;>;)V
    MethodParameters:
           Name  Flags
      classes    
      baseClass  
      result     

  public java.util.List<java.lang.Class<?>> findAnnotatedClasses(java.lang.Class<? extends java.lang.annotation.Annotation>, boolean);
    descriptor: (Ljava/lang/Class;Z)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.oracle.svm.hosted.ImageClassLoader this
        start local 1 // java.lang.Class annotationClass
        start local 2 // boolean includeHostedOnly
         0: .line 332
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* result */
        start local 3 // java.util.ArrayList result
         1: .line 333
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ImageClassLoader.applicationClasses:Lorg/graalvm/collections/EconomicSet;
            aload 1 /* annotationClass */
            aload 3 /* result */
            invokestatic com.oracle.svm.hosted.ImageClassLoader.addAnnotatedClasses:(Lorg/graalvm/collections/EconomicSet;Ljava/lang/Class;Ljava/util/ArrayList;)V
         2: .line 334
            iload 2 /* includeHostedOnly */
            ifeq 4
         3: .line 335
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ImageClassLoader.hostedOnlyClasses:Lorg/graalvm/collections/EconomicSet;
            aload 1 /* annotationClass */
            aload 3 /* result */
            invokestatic com.oracle.svm.hosted.ImageClassLoader.addAnnotatedClasses:(Lorg/graalvm/collections/EconomicSet;Ljava/lang/Class;Ljava/util/ArrayList;)V
         4: .line 337
      StackMap locals: java.util.ArrayList
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 3 // java.util.ArrayList result
        end local 2 // boolean includeHostedOnly
        end local 1 // java.lang.Class annotationClass
        end local 0 // com.oracle.svm.hosted.ImageClassLoader this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    5     0               this  Lcom/oracle/svm/hosted/ImageClassLoader;
            0    5     1    annotationClass  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
            0    5     2  includeHostedOnly  Z
            1    5     3             result  Ljava/util/ArrayList<Ljava/lang/Class<*>;>;
    Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Z)Ljava/util/List<Ljava/lang/Class<*>;>;
    MethodParameters:
                   Name  Flags
      annotationClass    
      includeHostedOnly  

  private static void addAnnotatedClasses(org.graalvm.collections.EconomicSet<java.lang.Class<?>>, java.lang.Class<? extends java.lang.annotation.Annotation>, java.util.ArrayList<java.lang.Class<?>>);
    descriptor: (Lorg/graalvm/collections/EconomicSet;Ljava/lang/Class;Ljava/util/ArrayList;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // org.graalvm.collections.EconomicSet classes
        start local 1 // java.lang.Class annotationClass
        start local 2 // java.util.ArrayList result
         0: .line 341
            aload 0 /* classes */
            invokeinterface org.graalvm.collections.EconomicSet.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: org.graalvm.collections.EconomicSet java.lang.Class java.util.ArrayList top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Class
            astore 3 /* systemClass */
        start local 3 // java.lang.Class systemClass
         2: .line 342
            aload 3 /* systemClass */
            aload 1 /* annotationClass */
            invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            ifnull 4
         3: .line 343
            aload 2 /* result */
            aload 3 /* systemClass */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.Class systemClass
         4: .line 341
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 346
            return
        end local 2 // java.util.ArrayList result
        end local 1 // java.lang.Class annotationClass
        end local 0 // org.graalvm.collections.EconomicSet classes
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0          classes  Lorg/graalvm/collections/EconomicSet<Ljava/lang/Class<*>;>;
            0    6     1  annotationClass  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
            0    6     2           result  Ljava/util/ArrayList<Ljava/lang/Class<*>;>;
            2    4     3      systemClass  Ljava/lang/Class<*>;
    Signature: (Lorg/graalvm/collections/EconomicSet<Ljava/lang/Class<*>;>;Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Ljava/util/ArrayList<Ljava/lang/Class<*>;>;)V
    MethodParameters:
                 Name  Flags
      classes          
      annotationClass  
      result           

  public java.util.List<java.lang.reflect.Method> findAnnotatedMethods(java.lang.Class<? extends java.lang.annotation.Annotation>);
    descriptor: (Ljava/lang/Class;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // com.oracle.svm.hosted.ImageClassLoader this
        start local 1 // java.lang.Class annotationClass
         0: .line 349
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* result */
        start local 2 // java.util.ArrayList result
         1: .line 350
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ImageClassLoader.systemMethods:Lorg/graalvm/collections/EconomicSet;
            invokeinterface org.graalvm.collections.EconomicSet.iterator:()Ljava/util/Iterator;
            astore 4
            goto 5
      StackMap locals: com.oracle.svm.hosted.ImageClassLoader java.lang.Class java.util.ArrayList top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.reflect.Method
            astore 3 /* method */
        start local 3 // java.lang.reflect.Method method
         3: .line 351
            aload 3 /* method */
            aload 1 /* annotationClass */
            invokevirtual java.lang.reflect.Method.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            ifnull 5
         4: .line 352
            aload 2 /* result */
            aload 3 /* method */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.reflect.Method method
         5: .line 350
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 355
            aload 2 /* result */
            areturn
        end local 2 // java.util.ArrayList result
        end local 1 // java.lang.Class annotationClass
        end local 0 // com.oracle.svm.hosted.ImageClassLoader this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0             this  Lcom/oracle/svm/hosted/ImageClassLoader;
            0    7     1  annotationClass  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
            1    7     2           result  Ljava/util/ArrayList<Ljava/lang/reflect/Method;>;
            3    5     3           method  Ljava/lang/reflect/Method;
    Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Ljava/util/List<Ljava/lang/reflect/Method;>;
    MethodParameters:
                 Name  Flags
      annotationClass  

  public java.util.List<java.lang.reflect.Method> findAnnotatedMethods(java.lang.Class<? extends java.lang.annotation.Annotation>[]);
    descriptor: ([Ljava/lang/Class;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=10, args_size=2
        start local 0 // com.oracle.svm.hosted.ImageClassLoader this
        start local 1 // java.lang.Class[] annotationClasses
         0: .line 359
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* result */
        start local 2 // java.util.ArrayList result
         1: .line 360
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ImageClassLoader.systemMethods:Lorg/graalvm/collections/EconomicSet;
            invokeinterface org.graalvm.collections.EconomicSet.iterator:()Ljava/util/Iterator;
            astore 4
            goto 13
      StackMap locals: com.oracle.svm.hosted.ImageClassLoader java.lang.Class[] java.util.ArrayList top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.reflect.Method
            astore 3 /* method */
        start local 3 // java.lang.reflect.Method method
         3: .line 361
            iconst_1
            istore 5 /* match */
        start local 5 // boolean match
         4: .line 362
            aload 1 /* annotationClasses */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 10
      StackMap locals: com.oracle.svm.hosted.ImageClassLoader java.lang.Class[] java.util.ArrayList java.lang.reflect.Method java.util.Iterator int top int int java.lang.Class[]
      StackMap stack:
         5: aload 9
            iload 7
            aaload
            astore 6 /* annotationClass */
        start local 6 // java.lang.Class annotationClass
         6: .line 363
            aload 3 /* method */
            aload 6 /* annotationClass */
            invokevirtual java.lang.reflect.Method.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            ifnonnull 9
         7: .line 364
            iconst_0
            istore 5 /* match */
         8: .line 365
            goto 11
        end local 6 // java.lang.Class annotationClass
         9: .line 362
      StackMap locals:
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        10: iload 7
            iload 8
            if_icmplt 5
        11: .line 368
      StackMap locals: com.oracle.svm.hosted.ImageClassLoader java.lang.Class[] java.util.ArrayList java.lang.reflect.Method java.util.Iterator int
      StackMap stack:
            iload 5 /* match */
            ifeq 13
        12: .line 369
            aload 2 /* result */
            aload 3 /* method */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // boolean match
        end local 3 // java.lang.reflect.Method method
        13: .line 360
      StackMap locals: com.oracle.svm.hosted.ImageClassLoader java.lang.Class[] java.util.ArrayList top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        14: .line 372
            aload 2 /* result */
            areturn
        end local 2 // java.util.ArrayList result
        end local 1 // java.lang.Class[] annotationClasses
        end local 0 // com.oracle.svm.hosted.ImageClassLoader this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   15     0               this  Lcom/oracle/svm/hosted/ImageClassLoader;
            0   15     1  annotationClasses  [Ljava/lang/Class;
            1   15     2             result  Ljava/util/ArrayList<Ljava/lang/reflect/Method;>;
            3   13     3             method  Ljava/lang/reflect/Method;
            4   13     5              match  Z
            6    9     6    annotationClass  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
    Signature: ([Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Ljava/util/List<Ljava/lang/reflect/Method;>;
    MethodParameters:
                   Name  Flags
      annotationClasses  

  public java.util.List<java.lang.reflect.Field> findAnnotatedFields(java.lang.Class<? extends java.lang.annotation.Annotation>);
    descriptor: (Ljava/lang/Class;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // com.oracle.svm.hosted.ImageClassLoader this
        start local 1 // java.lang.Class annotationClass
         0: .line 376
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* result */
        start local 2 // java.util.ArrayList result
         1: .line 377
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ImageClassLoader.systemFields:Lorg/graalvm/collections/EconomicSet;
            invokeinterface org.graalvm.collections.EconomicSet.iterator:()Ljava/util/Iterator;
            astore 4
            goto 5
      StackMap locals: com.oracle.svm.hosted.ImageClassLoader java.lang.Class java.util.ArrayList top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.reflect.Field
            astore 3 /* field */
        start local 3 // java.lang.reflect.Field field
         3: .line 378
            aload 3 /* field */
            aload 1 /* annotationClass */
            invokevirtual java.lang.reflect.Field.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            ifnull 5
         4: .line 379
            aload 2 /* result */
            aload 3 /* field */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.reflect.Field field
         5: .line 377
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 382
            aload 2 /* result */
            areturn
        end local 2 // java.util.ArrayList result
        end local 1 // java.lang.Class annotationClass
        end local 0 // com.oracle.svm.hosted.ImageClassLoader this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0             this  Lcom/oracle/svm/hosted/ImageClassLoader;
            0    7     1  annotationClass  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
            1    7     2           result  Ljava/util/ArrayList<Ljava/lang/reflect/Field;>;
            3    5     3            field  Ljava/lang/reflect/Field;
    Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Ljava/util/List<Ljava/lang/reflect/Field;>;
    MethodParameters:
                 Name  Flags
      annotationClass  

  public java.util.List<java.lang.Class<? extends java.lang.annotation.Annotation>> allAnnotations();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.ImageClassLoader this
         0: .line 387
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ImageClassLoader.applicationClasses:Lorg/graalvm/collections/EconomicSet;
            invokeinterface org.graalvm.collections.EconomicSet.spliterator:()Ljava/util/Spliterator;
            iconst_0
            invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
         1: .line 388
            invokedynamic test()Ljava/util/function/Predicate;
              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;)Z
                  java/lang/Class.isAnnotation()Z (5)
                  (Ljava/lang/Class;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         2: .line 389
            invokedynamic apply()Ljava/util/function/Function;
              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;)Ljava/lang/Object;
                  com/oracle/svm/hosted/ImageClassLoader.lambda$2(Ljava/lang/Class;)Ljava/lang/Class; (6)
                  (Ljava/lang/Class;)Ljava/lang/Class;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         3: .line 390
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
         4: .line 387
            areturn
        end local 0 // com.oracle.svm.hosted.ImageClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/oracle/svm/hosted/ImageClassLoader;
    Signature: ()Ljava/util/List<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;>;

  <T extends java.lang.annotation.Annotation> java.util.List<T> findAnnotations(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Ljava/util/List;
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.oracle.svm.hosted.ImageClassLoader this
        start local 1 // java.lang.Class annotationClass
         0: .line 398
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* result */
        start local 2 // java.util.List result
         1: .line 399
            aload 0 /* this */
            aload 1 /* annotationClass */
            iconst_0
            invokevirtual com.oracle.svm.hosted.ImageClassLoader.findAnnotatedClasses:(Ljava/lang/Class;Z)Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: com.oracle.svm.hosted.ImageClassLoader java.lang.Class java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Class
            astore 3 /* clazz */
        start local 3 // java.lang.Class clazz
         3: .line 400
            aload 2 /* result */
            aload 3 /* clazz */
            aload 1 /* annotationClass */
            invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.Class clazz
         4: .line 399
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 402
            aload 0 /* this */
            aload 1 /* annotationClass */
            invokevirtual com.oracle.svm.hosted.ImageClassLoader.findAnnotatedMethods:(Ljava/lang/Class;)Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 8
      StackMap locals:
      StackMap stack:
         6: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.reflect.Method
            astore 3 /* method */
        start local 3 // java.lang.reflect.Method method
         7: .line 403
            aload 2 /* result */
            aload 3 /* method */
            aload 1 /* annotationClass */
            invokevirtual java.lang.reflect.Method.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.reflect.Method method
         8: .line 402
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
         9: .line 405
            aload 0 /* this */
            aload 1 /* annotationClass */
            invokevirtual com.oracle.svm.hosted.ImageClassLoader.findAnnotatedFields:(Ljava/lang/Class;)Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 12
      StackMap locals:
      StackMap stack:
        10: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.reflect.Field
            astore 3 /* field */
        start local 3 // java.lang.reflect.Field field
        11: .line 406
            aload 2 /* result */
            aload 3 /* field */
            aload 1 /* annotationClass */
            invokevirtual java.lang.reflect.Field.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.reflect.Field field
        12: .line 405
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        13: .line 408
            aload 2 /* result */
            areturn
        end local 2 // java.util.List result
        end local 1 // java.lang.Class annotationClass
        end local 0 // com.oracle.svm.hosted.ImageClassLoader this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   14     0             this  Lcom/oracle/svm/hosted/ImageClassLoader;
            0   14     1  annotationClass  Ljava/lang/Class<TT;>;
            1   14     2           result  Ljava/util/List<TT;>;
            3    4     3            clazz  Ljava/lang/Class<*>;
            7    8     3           method  Ljava/lang/reflect/Method;
           11   12     3            field  Ljava/lang/reflect/Field;
    Signature: <T::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<TT;>;)Ljava/util/List<TT;>;
    MethodParameters:
                 Name  Flags
      annotationClass  

  public java.lang.ClassLoader getClassLoader();
    descriptor: ()Ljava/lang/ClassLoader;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.ImageClassLoader this
         0: .line 412
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ImageClassLoader.classLoaderSupport:Lcom/oracle/svm/hosted/NativeImageClassLoaderSupport;
            invokevirtual com.oracle.svm.hosted.NativeImageClassLoaderSupport.getClassLoader:()Ljava/lang/ClassLoader;
            areturn
        end local 0 // com.oracle.svm.hosted.ImageClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/hosted/ImageClassLoader;

  public java.lang.Class<?> loadClassFromModule(, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.svm.hosted.ImageClassLoader this
        start local 1 // java.lang.Object module
        start local 2 // java.lang.String className
         0: .line 416
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ImageClassLoader.classLoaderSupport:Lcom/oracle/svm/hosted/NativeImageClassLoaderSupport;
            aload 1 /* module */
            aload 2 /* className */
            invokevirtual com.oracle.svm.hosted.NativeImageClassLoaderSupport.loadClassFromModule:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Class;
            areturn
        end local 2 // java.lang.String className
        end local 1 // java.lang.Object module
        end local 0 // com.oracle.svm.hosted.ImageClassLoader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lcom/oracle/svm/hosted/ImageClassLoader;
            0    1     1     module  Ljava/lang/Object;
            0    1     2  className  Ljava/lang/String;
    Exceptions:
      throws java.lang.ClassNotFoundException
    Signature: (Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Class<*>;
    MethodParameters:
           Name  Flags
      module     
      className  

  private static java.lang.Class lambda$2(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Class;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Class clazz
         0: .line 389
            aload 0 /* clazz */
            areturn
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  clazz  Ljava/lang/Class<*>;
}
SourceFile: "ImageClassLoader.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public final HOSTED_ONLY = org.graalvm.nativeimage.Platform$HOSTED_ONLY of org.graalvm.nativeimage.Platform