class com.oracle.truffle.api.impl.Accessor$Constants
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.oracle.truffle.api.impl.Accessor$Constants
  super_class: java.lang.Object
{
  private static final com.oracle.truffle.api.impl.Accessor$LanguageSupport LANGUAGE;
    descriptor: Lcom/oracle/truffle/api/impl/Accessor$LanguageSupport;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final com.oracle.truffle.api.impl.Accessor$NodeSupport NODES;
    descriptor: Lcom/oracle/truffle/api/impl/Accessor$NodeSupport;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final com.oracle.truffle.api.impl.Accessor$InstrumentSupport INSTRUMENT;
    descriptor: Lcom/oracle/truffle/api/impl/Accessor$InstrumentSupport;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final com.oracle.truffle.api.impl.Accessor$SourceSupport SOURCE;
    descriptor: Lcom/oracle/truffle/api/impl/Accessor$SourceSupport;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final com.oracle.truffle.api.impl.Accessor$InteropSupport INTEROP;
    descriptor: Lcom/oracle/truffle/api/impl/Accessor$InteropSupport;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final com.oracle.truffle.api.impl.Accessor$ExceptionSupport EXCEPTION;
    descriptor: Lcom/oracle/truffle/api/impl/Accessor$ExceptionSupport;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final com.oracle.truffle.api.impl.Accessor$IOSupport IO;
    descriptor: Lcom/oracle/truffle/api/impl/Accessor$IOSupport;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final com.oracle.truffle.api.impl.Accessor$FrameSupport FRAMES;
    descriptor: Lcom/oracle/truffle/api/impl/Accessor$FrameSupport;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final com.oracle.truffle.api.impl.Accessor$EngineSupport ENGINE;
    descriptor: Lcom/oracle/truffle/api/impl/Accessor$EngineSupport;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final com.oracle.truffle.api.impl.Accessor$RuntimeSupport RUNTIME;
    descriptor: Lcom/oracle/truffle/api/impl/Accessor$RuntimeSupport;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 965
            ldc "com.oracle.truffle.api.LanguageAccessor$LanguageImpl"
            invokestatic com.oracle.truffle.api.impl.Accessor$Constants.loadSupport:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.impl.Accessor$LanguageSupport
            putstatic com.oracle.truffle.api.impl.Accessor$Constants.LANGUAGE:Lcom/oracle/truffle/api/impl/Accessor$LanguageSupport;
         1: .line 966
            ldc "com.oracle.truffle.api.nodes.NodeAccessor$AccessNodes"
            invokestatic com.oracle.truffle.api.impl.Accessor$Constants.loadSupport:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.impl.Accessor$NodeSupport
            putstatic com.oracle.truffle.api.impl.Accessor$Constants.NODES:Lcom/oracle/truffle/api/impl/Accessor$NodeSupport;
         2: .line 967
            ldc "com.oracle.truffle.api.instrumentation.InstrumentAccessor$InstrumentImpl"
            invokestatic com.oracle.truffle.api.impl.Accessor$Constants.loadSupport:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.impl.Accessor$InstrumentSupport
            putstatic com.oracle.truffle.api.impl.Accessor$Constants.INSTRUMENT:Lcom/oracle/truffle/api/impl/Accessor$InstrumentSupport;
         3: .line 968
            ldc "com.oracle.truffle.api.source.SourceAccessor$SourceSupportImpl"
            invokestatic com.oracle.truffle.api.impl.Accessor$Constants.loadSupport:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.impl.Accessor$SourceSupport
            putstatic com.oracle.truffle.api.impl.Accessor$Constants.SOURCE:Lcom/oracle/truffle/api/impl/Accessor$SourceSupport;
         4: .line 969
            ldc "com.oracle.truffle.api.interop.InteropAccessor$InteropImpl"
            invokestatic com.oracle.truffle.api.impl.Accessor$Constants.loadSupport:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.impl.Accessor$InteropSupport
            putstatic com.oracle.truffle.api.impl.Accessor$Constants.INTEROP:Lcom/oracle/truffle/api/impl/Accessor$InteropSupport;
         5: .line 970
            ldc "com.oracle.truffle.api.exception.ExceptionAccessor$ExceptionSupportImpl"
            invokestatic com.oracle.truffle.api.impl.Accessor$Constants.loadSupport:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.impl.Accessor$ExceptionSupport
            putstatic com.oracle.truffle.api.impl.Accessor$Constants.EXCEPTION:Lcom/oracle/truffle/api/impl/Accessor$ExceptionSupport;
         6: .line 971
            ldc "com.oracle.truffle.api.io.IOAccessor$IOSupportImpl"
            invokestatic com.oracle.truffle.api.impl.Accessor$Constants.loadSupport:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.impl.Accessor$IOSupport
            putstatic com.oracle.truffle.api.impl.Accessor$Constants.IO:Lcom/oracle/truffle/api/impl/Accessor$IOSupport;
         7: .line 972
            ldc "com.oracle.truffle.api.frame.FrameAccessor$FramesImpl"
            invokestatic com.oracle.truffle.api.impl.Accessor$Constants.loadSupport:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.impl.Accessor$FrameSupport
            putstatic com.oracle.truffle.api.impl.Accessor$Constants.FRAMES:Lcom/oracle/truffle/api/impl/Accessor$FrameSupport;
         8: .line 973
            ldc "com.oracle.truffle.polyglot.EngineAccessor$EngineImpl"
            invokestatic com.oracle.truffle.api.impl.Accessor$Constants.loadSupport:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.impl.Accessor$EngineSupport
            putstatic com.oracle.truffle.api.impl.Accessor$Constants.ENGINE:Lcom/oracle/truffle/api/impl/Accessor$EngineSupport;
         9: .line 974
            invokestatic com.oracle.truffle.api.impl.Accessor.getTVMCI:()Lcom/oracle/truffle/api/impl/TVMCI;
            getstatic com.oracle.truffle.api.impl.Accessor$RuntimeSupport.PERMISSION:Ljava/lang/Object;
            invokevirtual com.oracle.truffle.api.impl.TVMCI.createRuntimeSupport:(Ljava/lang/Object;)Lcom/oracle/truffle/api/impl/Accessor$RuntimeSupport;
            putstatic com.oracle.truffle.api.impl.Accessor$Constants.RUNTIME:Lcom/oracle/truffle/api/impl/Accessor$RuntimeSupport;
        10: .line 975
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.impl.Accessor$Constants this
         0: .line 949
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.oracle.truffle.api.impl.Accessor$Constants this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/impl/Accessor$Constants;

  private static <T> T loadSupport(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.lang.String className
         0: .line 980
            aload 0 /* className */
            iconst_1
            ldc Lcom/oracle/truffle/api/impl/Accessor;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            astore 1 /* klass */
        start local 1 // java.lang.Class klass
         1: .line 981
            aload 1 /* klass */
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getDeclaredConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 2 /* constructor */
        start local 2 // java.lang.reflect.Constructor constructor
         2: .line 982
            aload 2 /* constructor */
            iconst_1
            invokevirtual java.lang.reflect.Constructor.setAccessible:(Z)V
         3: .line 983
            aload 2 /* constructor */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
         4: areturn
        end local 2 // java.lang.reflect.Constructor constructor
        end local 1 // java.lang.Class klass
         5: .line 984
      StackMap locals:
      StackMap stack: java.lang.ReflectiveOperationException
            astore 1 /* e */
        start local 1 // java.lang.ReflectiveOperationException e
         6: .line 985
            new java.lang.IllegalStateException
            dup
            aload 1 /* e */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.ReflectiveOperationException e
        end local 0 // java.lang.String className
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0    className  Ljava/lang/String;
            1    5     1        klass  Ljava/lang/Class<TT;>;
            2    5     2  constructor  Ljava/lang/reflect/Constructor<TT;>;
            6    7     1            e  Ljava/lang/ReflectiveOperationException;
      Exception table:
        from    to  target  type
           0     4       5  Class java.lang.ReflectiveOperationException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;)TT;
    MethodParameters:
           Name  Flags
      className  
}
SourceFile: "Accessor.java"
NestHost: com.oracle.truffle.api.impl.Accessor
InnerClasses:
  private Constants = com.oracle.truffle.api.impl.Accessor$Constants of com.oracle.truffle.api.impl.Accessor
  public abstract EngineSupport = com.oracle.truffle.api.impl.Accessor$EngineSupport of com.oracle.truffle.api.impl.Accessor
  public abstract ExceptionSupport = com.oracle.truffle.api.impl.Accessor$ExceptionSupport of com.oracle.truffle.api.impl.Accessor
  public abstract FrameSupport = com.oracle.truffle.api.impl.Accessor$FrameSupport of com.oracle.truffle.api.impl.Accessor
  public abstract IOSupport = com.oracle.truffle.api.impl.Accessor$IOSupport of com.oracle.truffle.api.impl.Accessor
  public abstract InstrumentSupport = com.oracle.truffle.api.impl.Accessor$InstrumentSupport of com.oracle.truffle.api.impl.Accessor
  public abstract InteropSupport = com.oracle.truffle.api.impl.Accessor$InteropSupport of com.oracle.truffle.api.impl.Accessor
  public abstract LanguageSupport = com.oracle.truffle.api.impl.Accessor$LanguageSupport of com.oracle.truffle.api.impl.Accessor
  public abstract NodeSupport = com.oracle.truffle.api.impl.Accessor$NodeSupport of com.oracle.truffle.api.impl.Accessor
  public abstract RuntimeSupport = com.oracle.truffle.api.impl.Accessor$RuntimeSupport of com.oracle.truffle.api.impl.Accessor
  public abstract SourceSupport = com.oracle.truffle.api.impl.Accessor$SourceSupport of com.oracle.truffle.api.impl.Accessor