public abstract class com.oracle.svm.hosted.FeatureImpl$FeatureAccessImpl implements org.graalvm.nativeimage.hosted.Feature$FeatureAccess
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.oracle.svm.hosted.FeatureImpl$FeatureAccessImpl
  super_class: java.lang.Object
{
  protected final com.oracle.svm.hosted.FeatureHandler featureHandler;
    descriptor: Lcom/oracle/svm/hosted/FeatureHandler;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final com.oracle.svm.hosted.ImageClassLoader imageClassLoader;
    descriptor: Lcom/oracle/svm/hosted/ImageClassLoader;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final org.graalvm.compiler.debug.DebugContext debugContext;
    descriptor: Lorg/graalvm/compiler/debug/DebugContext;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  void <init>(com.oracle.svm.hosted.FeatureHandler, com.oracle.svm.hosted.ImageClassLoader, org.graalvm.compiler.debug.DebugContext);
    descriptor: (Lcom/oracle/svm/hosted/FeatureHandler;Lcom/oracle/svm/hosted/ImageClassLoader;Lorg/graalvm/compiler/debug/DebugContext;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // com.oracle.svm.hosted.FeatureImpl$FeatureAccessImpl this
        start local 1 // com.oracle.svm.hosted.FeatureHandler featureHandler
        start local 2 // com.oracle.svm.hosted.ImageClassLoader imageClassLoader
        start local 3 // org.graalvm.compiler.debug.DebugContext debugContext
         0: .line 97
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 98
            aload 0 /* this */
            aload 1 /* featureHandler */
            putfield com.oracle.svm.hosted.FeatureImpl$FeatureAccessImpl.featureHandler:Lcom/oracle/svm/hosted/FeatureHandler;
         2: .line 99
            aload 0 /* this */
            aload 2 /* imageClassLoader */
            putfield com.oracle.svm.hosted.FeatureImpl$FeatureAccessImpl.imageClassLoader:Lcom/oracle/svm/hosted/ImageClassLoader;
         3: .line 100
            aload 0 /* this */
            aload 3 /* debugContext */
            putfield com.oracle.svm.hosted.FeatureImpl$FeatureAccessImpl.debugContext:Lorg/graalvm/compiler/debug/DebugContext;
         4: .line 101
            return
        end local 3 // org.graalvm.compiler.debug.DebugContext debugContext
        end local 2 // com.oracle.svm.hosted.ImageClassLoader imageClassLoader
        end local 1 // com.oracle.svm.hosted.FeatureHandler featureHandler
        end local 0 // com.oracle.svm.hosted.FeatureImpl$FeatureAccessImpl this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    5     0              this  Lcom/oracle/svm/hosted/FeatureImpl$FeatureAccessImpl;
            0    5     1    featureHandler  Lcom/oracle/svm/hosted/FeatureHandler;
            0    5     2  imageClassLoader  Lcom/oracle/svm/hosted/ImageClassLoader;
            0    5     3      debugContext  Lorg/graalvm/compiler/debug/DebugContext;
    MethodParameters:
                  Name  Flags
      featureHandler    
      imageClassLoader  
      debugContext      

  public com.oracle.svm.hosted.ImageClassLoader getImageClassLoader();
    descriptor: ()Lcom/oracle/svm/hosted/ImageClassLoader;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.FeatureImpl$FeatureAccessImpl this
         0: .line 104
            aload 0 /* this */
            getfield com.oracle.svm.hosted.FeatureImpl$FeatureAccessImpl.imageClassLoader:Lcom/oracle/svm/hosted/ImageClassLoader;
            areturn
        end local 0 // com.oracle.svm.hosted.FeatureImpl$FeatureAccessImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/hosted/FeatureImpl$FeatureAccessImpl;

  public java.lang.Class<?> findClassByName(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.FeatureImpl$FeatureAccessImpl this
        start local 1 // java.lang.String className
         0: .line 109
            aload 0 /* this */
            getfield com.oracle.svm.hosted.FeatureImpl$FeatureAccessImpl.imageClassLoader:Lcom/oracle/svm/hosted/ImageClassLoader;
            aload 1 /* className */
            invokevirtual com.oracle.svm.hosted.ImageClassLoader.findClass:(Ljava/lang/String;)Lcom/oracle/svm/core/TypeResult;
            invokevirtual com.oracle.svm.core.TypeResult.get:()Ljava/lang/Object;
            checkcast java.lang.Class
            areturn
        end local 1 // java.lang.String className
        end local 0 // com.oracle.svm.hosted.FeatureImpl$FeatureAccessImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lcom/oracle/svm/hosted/FeatureImpl$FeatureAccessImpl;
            0    1     1  className  Ljava/lang/String;
    Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
    MethodParameters:
           Name  Flags
      className  

  public <T> java.util.List<java.lang.Class<? extends T>> findSubclasses(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.svm.hosted.FeatureImpl$FeatureAccessImpl this
        start local 1 // java.lang.Class baseClass
         0: .line 113
            aload 0 /* this */
            getfield com.oracle.svm.hosted.FeatureImpl$FeatureAccessImpl.imageClassLoader:Lcom/oracle/svm/hosted/ImageClassLoader;
            aload 1 /* baseClass */
            iconst_0
            invokevirtual com.oracle.svm.hosted.ImageClassLoader.findSubclasses:(Ljava/lang/Class;Z)Ljava/util/List;
            areturn
        end local 1 // java.lang.Class baseClass
        end local 0 // com.oracle.svm.hosted.FeatureImpl$FeatureAccessImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lcom/oracle/svm/hosted/FeatureImpl$FeatureAccessImpl;
            0    1     1  baseClass  Ljava/lang/Class<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)Ljava/util/List<Ljava/lang/Class<+TT;>;>;
    MethodParameters:
           Name  Flags
      baseClass  

  public java.util.List<java.lang.Class<?>> findAnnotatedClasses(java.lang.Class<? extends java.lang.annotation.Annotation>);
    descriptor: (Ljava/lang/Class;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.svm.hosted.FeatureImpl$FeatureAccessImpl this
        start local 1 // java.lang.Class annotationClass
         0: .line 117
            aload 0 /* this */
            getfield com.oracle.svm.hosted.FeatureImpl$FeatureAccessImpl.imageClassLoader:Lcom/oracle/svm/hosted/ImageClassLoader;
            aload 1 /* annotationClass */
            iconst_0
            invokevirtual com.oracle.svm.hosted.ImageClassLoader.findAnnotatedClasses:(Ljava/lang/Class;Z)Ljava/util/List;
            areturn
        end local 1 // java.lang.Class annotationClass
        end local 0 // com.oracle.svm.hosted.FeatureImpl$FeatureAccessImpl this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lcom/oracle/svm/hosted/FeatureImpl$FeatureAccessImpl;
            0    1     1  annotationClass  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
    Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Ljava/util/List<Ljava/lang/Class<*>;>;
    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=2, args_size=2
        start local 0 // com.oracle.svm.hosted.FeatureImpl$FeatureAccessImpl this
        start local 1 // java.lang.Class annotationClass
         0: .line 121
            aload 0 /* this */
            getfield com.oracle.svm.hosted.FeatureImpl$FeatureAccessImpl.imageClassLoader:Lcom/oracle/svm/hosted/ImageClassLoader;
            aload 1 /* annotationClass */
            invokevirtual com.oracle.svm.hosted.ImageClassLoader.findAnnotatedMethods:(Ljava/lang/Class;)Ljava/util/List;
            areturn
        end local 1 // java.lang.Class annotationClass
        end local 0 // com.oracle.svm.hosted.FeatureImpl$FeatureAccessImpl this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lcom/oracle/svm/hosted/FeatureImpl$FeatureAccessImpl;
            0    1     1  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
      annotationClass  

  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=2, args_size=2
        start local 0 // com.oracle.svm.hosted.FeatureImpl$FeatureAccessImpl this
        start local 1 // java.lang.Class annotationClass
         0: .line 125
            aload 0 /* this */
            getfield com.oracle.svm.hosted.FeatureImpl$FeatureAccessImpl.imageClassLoader:Lcom/oracle/svm/hosted/ImageClassLoader;
            aload 1 /* annotationClass */
            invokevirtual com.oracle.svm.hosted.ImageClassLoader.findAnnotatedFields:(Ljava/lang/Class;)Ljava/util/List;
            areturn
        end local 1 // java.lang.Class annotationClass
        end local 0 // com.oracle.svm.hosted.FeatureImpl$FeatureAccessImpl this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lcom/oracle/svm/hosted/FeatureImpl$FeatureAccessImpl;
            0    1     1  annotationClass  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
    Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Ljava/util/List<Ljava/lang/reflect/Field;>;
    MethodParameters:
                 Name  Flags
      annotationClass  

  public com.oracle.svm.hosted.FeatureHandler getFeatureHandler();
    descriptor: ()Lcom/oracle/svm/hosted/FeatureHandler;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.FeatureImpl$FeatureAccessImpl this
         0: .line 129
            aload 0 /* this */
            getfield com.oracle.svm.hosted.FeatureImpl$FeatureAccessImpl.featureHandler:Lcom/oracle/svm/hosted/FeatureHandler;
            areturn
        end local 0 // com.oracle.svm.hosted.FeatureImpl$FeatureAccessImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/hosted/FeatureImpl$FeatureAccessImpl;

  public org.graalvm.compiler.debug.DebugContext getDebugContext();
    descriptor: ()Lorg/graalvm/compiler/debug/DebugContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.FeatureImpl$FeatureAccessImpl this
         0: .line 133
            aload 0 /* this */
            getfield com.oracle.svm.hosted.FeatureImpl$FeatureAccessImpl.debugContext:Lorg/graalvm/compiler/debug/DebugContext;
            areturn
        end local 0 // com.oracle.svm.hosted.FeatureImpl$FeatureAccessImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/hosted/FeatureImpl$FeatureAccessImpl;

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

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

  public java.lang.ClassLoader getApplicationClassLoader();
    descriptor: ()Ljava/lang/ClassLoader;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.FeatureImpl$FeatureAccessImpl this
         0: .line 152
            aload 0 /* this */
            getfield com.oracle.svm.hosted.FeatureImpl$FeatureAccessImpl.imageClassLoader:Lcom/oracle/svm/hosted/ImageClassLoader;
            invokevirtual com.oracle.svm.hosted.ImageClassLoader.getClassLoader:()Ljava/lang/ClassLoader;
            areturn
        end local 0 // com.oracle.svm.hosted.FeatureImpl$FeatureAccessImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/hosted/FeatureImpl$FeatureAccessImpl;
}
SourceFile: "FeatureImpl.java"
NestHost: com.oracle.svm.hosted.FeatureImpl
InnerClasses:
  public abstract FeatureAccessImpl = com.oracle.svm.hosted.FeatureImpl$FeatureAccessImpl of com.oracle.svm.hosted.FeatureImpl
  public abstract FeatureAccess = org.graalvm.nativeimage.hosted.Feature$FeatureAccess of org.graalvm.nativeimage.hosted.Feature