class com.oracle.svm.hosted.substitute.ClassDescriptor$TargetClassImpl extends com.oracle.svm.hosted.substitute.AnnotationImpl implements com.oracle.svm.core.annotate.TargetClass
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.oracle.svm.hosted.substitute.ClassDescriptor$TargetClassImpl
  super_class: com.oracle.svm.hosted.substitute.AnnotationImpl
{
  final com.oracle.svm.hosted.substitute.ClassDescriptor this$0;
    descriptor: Lcom/oracle/svm/hosted/substitute/ClassDescriptor;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(com.oracle.svm.hosted.substitute.ClassDescriptor);
    descriptor: (Lcom/oracle/svm/hosted/substitute/ClassDescriptor;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.hosted.substitute.ClassDescriptor$TargetClassImpl this
         0: .line 434
            aload 0 /* this */
            aload 1
            putfield com.oracle.svm.hosted.substitute.ClassDescriptor$TargetClassImpl.this$0:Lcom/oracle/svm/hosted/substitute/ClassDescriptor;
            aload 0 /* this */
            invokespecial com.oracle.svm.hosted.substitute.AnnotationImpl.<init>:()V
            return
        end local 0 // com.oracle.svm.hosted.substitute.ClassDescriptor$TargetClassImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/hosted/substitute/ClassDescriptor$TargetClassImpl;
    MethodParameters:
        Name  Flags
      this$0  final

  public java.lang.Class<?> value();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.substitute.ClassDescriptor$TargetClassImpl this
         0: .line 437
            ldc Lcom/oracle/svm/core/annotate/TargetClass;
            areturn
        end local 0 // com.oracle.svm.hosted.substitute.ClassDescriptor$TargetClassImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/hosted/substitute/ClassDescriptor$TargetClassImpl;
    Signature: ()Ljava/lang/Class<*>;

  public java.lang.String className();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.substitute.ClassDescriptor$TargetClassImpl this
         0: .line 442
            aload 0 /* this */
            getfield com.oracle.svm.hosted.substitute.ClassDescriptor$TargetClassImpl.this$0:Lcom/oracle/svm/hosted/substitute/ClassDescriptor;
            ldc "originalClass"
            aconst_null
            invokevirtual com.oracle.svm.hosted.substitute.ClassDescriptor.get:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 0 // com.oracle.svm.hosted.substitute.ClassDescriptor$TargetClassImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/hosted/substitute/ClassDescriptor$TargetClassImpl;

  public java.lang.Class<? extends java.util.function.Function<com.oracle.svm.core.annotate.TargetClass, java.lang.String>> classNameProvider();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.substitute.ClassDescriptor$TargetClassImpl this
         0: .line 447
            ldc Lcom/oracle/svm/core/annotate/TargetClass$NoClassNameProvider;
            areturn
        end local 0 // com.oracle.svm.hosted.substitute.ClassDescriptor$TargetClassImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/hosted/substitute/ClassDescriptor$TargetClassImpl;
    Signature: ()Ljava/lang/Class<+Ljava/util/function/Function<Lcom/oracle/svm/core/annotate/TargetClass;Ljava/lang/String;>;>;

  public java.lang.String[] innerClass();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.substitute.ClassDescriptor$TargetClassImpl this
         0: .line 452
            iconst_0
            anewarray java.lang.String
            areturn
        end local 0 // com.oracle.svm.hosted.substitute.ClassDescriptor$TargetClassImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/hosted/substitute/ClassDescriptor$TargetClassImpl;

  public java.lang.Class<? extends java.util.function.BooleanSupplier>[] onlyWith();
    descriptor: ()[Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.substitute.ClassDescriptor$TargetClassImpl this
         0: .line 462
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lcom/oracle/svm/core/annotate/TargetClass$AlwaysIncluded;
            aastore
            areturn
        end local 0 // com.oracle.svm.hosted.substitute.ClassDescriptor$TargetClassImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/hosted/substitute/ClassDescriptor$TargetClassImpl;
    Signature: ()[Ljava/lang/Class<+Ljava/util/function/BooleanSupplier;>;
}
SourceFile: "DeclarativeSubstitutionProcessor.java"
NestHost: com.oracle.svm.hosted.substitute.ClassDescriptor
InnerClasses:
  public AlwaysIncluded = com.oracle.svm.core.annotate.TargetClass$AlwaysIncluded of com.oracle.svm.core.annotate.TargetClass
  public abstract NoClassNameProvider = com.oracle.svm.core.annotate.TargetClass$NoClassNameProvider of com.oracle.svm.core.annotate.TargetClass
  TargetClassImpl = com.oracle.svm.hosted.substitute.ClassDescriptor$TargetClassImpl of com.oracle.svm.hosted.substitute.ClassDescriptor