public abstract class com.oracle.truffle.api.impl.Accessor
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.oracle.truffle.api.impl.Accessor
  super_class: java.lang.Object
{
  private static final com.oracle.truffle.api.impl.Accessor$JDKSupport JDKSERVICES;
    descriptor: Lcom/oracle/truffle/api/impl/Accessor$JDKSupport;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static volatile com.oracle.truffle.api.impl.TVMCI tvmci;
    descriptor: Lcom/oracle/truffle/api/impl/TVMCI;
    flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$CompilationFinal()

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 990
            new com.oracle.truffle.api.impl.Accessor$JDKSupport
            dup
            invokespecial com.oracle.truffle.api.impl.Accessor$JDKSupport.<init>:()V
            putstatic com.oracle.truffle.api.impl.Accessor.JDKSERVICES:Lcom/oracle/truffle/api/impl/Accessor$JDKSupport;
         1: .line 1078
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void initializeNativeImageTruffleLocator();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.impl.Accessor this
         0: .line 120
            invokestatic com.oracle.truffle.api.impl.TruffleLocator.initializeNativeImageTruffleLocator:()V
         1: .line 121
            return
        end local 0 // com.oracle.truffle.api.impl.Accessor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/api/impl/Accessor;

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.oracle.truffle.api.impl.Accessor this
         0: .line 992
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 993
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            dup
            astore 1
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 20
          -2086701793: 2
          -1868204221: 3
          -1768630147: 4
          -1424950789: 5
          -1344019744: 6
           -768840830: 7
           -401624649: 8
           -394910112: 9
           -183915359: 10
            -70674777: 11
            -61432358: 12
            753025026: 13
            795445094: 14
            811805300: 15
           1478839102: 16
           1547696153: 17
           1726936734: 18
           1943817882: 19
           2025998142: 20
           2068954496: 21
              default: 22
          }
      StackMap locals: com.oracle.truffle.api.impl.Accessor java.lang.String
      StackMap stack:
         2: aload 1
            ldc "com.oracle.truffle.api.impl.TVMCIAccessor"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 23
            goto 22
      StackMap locals:
      StackMap stack:
         3: aload 1
            ldc "com.oracle.truffle.api.instrumentation.InstrumentAccessor"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 23
            goto 22
      StackMap locals:
      StackMap stack:
         4: aload 1
            ldc "org.graalvm.compiler.truffle.runtime.debug.CompilerDebugAccessor"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 23
            goto 22
      StackMap locals:
      StackMap stack:
         5: aload 1
            ldc "com.oracle.truffle.api.nodes.NodeAccessor"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 23
            goto 22
      StackMap locals:
      StackMap stack:
         6: aload 1
            ldc "com.oracle.truffle.api.io.IOAccessor"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 23
            goto 22
      StackMap locals:
      StackMap stack:
         7: aload 1
            ldc "com.oracle.truffle.api.TruffleAccessor"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 23
            goto 22
      StackMap locals:
      StackMap stack:
         8: aload 1
            ldc "com.oracle.truffle.api.impl.DefaultRuntimeAccessor"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 23
            goto 22
      StackMap locals:
      StackMap stack:
         9: aload 1
            ldc "com.oracle.truffle.api.source.SourceAccessor"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 23
            goto 22
      StackMap locals:
      StackMap stack:
        10: aload 1
            ldc "org.graalvm.compiler.truffle.runtime.GraalRuntimeAccessor"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 23
            goto 22
      StackMap locals:
      StackMap stack:
        11: aload 1
            ldc "com.oracle.truffle.tck.instrumentation.VerifierInstrument$TruffleTCKAccessor"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 23
            goto 22
      StackMap locals:
      StackMap stack:
        12: aload 1
            ldc "com.oracle.truffle.api.utilities.JSONHelper.DumpAccessor"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 23
            goto 22
      StackMap locals:
      StackMap stack:
        13: aload 1
            ldc "com.oracle.truffle.api.exception.ExceptionAccessor"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 23
            goto 22
      StackMap locals:
      StackMap stack:
        14: aload 1
            ldc "com.oracle.truffle.api.instrumentation.test.AbstractInstrumentationTest$TestAccessor"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 23
            goto 22
      StackMap locals:
      StackMap stack:
        15: aload 1
            ldc "com.oracle.truffle.api.LanguageAccessor"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 23
            goto 22
      StackMap locals:
      StackMap stack:
        16: aload 1
            ldc "com.oracle.truffle.api.frame.FrameAccessor"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 23
            goto 22
      StackMap locals:
      StackMap stack:
        17: aload 1
            ldc "com.oracle.truffle.api.debug.Debugger$AccessorDebug"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 23
            goto 22
      StackMap locals:
      StackMap stack:
        18: aload 1
            ldc "com.oracle.truffle.api.interop.InteropAccessor"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 23
            goto 22
      StackMap locals:
      StackMap stack:
        19: aload 1
            ldc "com.oracle.truffle.api.library.LibraryAccessor"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 23
            goto 22
      StackMap locals:
      StackMap stack:
        20: aload 1
            ldc "com.oracle.truffle.api.test.polyglot.TestAPIAccessor"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 23
            goto 22
      StackMap locals:
      StackMap stack:
        21: aload 1
            ldc "com.oracle.truffle.polyglot.EngineAccessor"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 23
        22: .line 1020
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        23: .line 1022
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.oracle.truffle.api.impl.Accessor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   24     0  this  Lcom/oracle/truffle/api/impl/Accessor;

  public final com.oracle.truffle.api.impl.Accessor$NodeSupport nodeSupport();
    descriptor: ()Lcom/oracle/truffle/api/impl/Accessor$NodeSupport;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.impl.Accessor this
         0: .line 1025
            getstatic com.oracle.truffle.api.impl.Accessor$Constants.NODES:Lcom/oracle/truffle/api/impl/Accessor$NodeSupport;
            areturn
        end local 0 // com.oracle.truffle.api.impl.Accessor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/impl/Accessor;

  public final com.oracle.truffle.api.impl.Accessor$LanguageSupport languageSupport();
    descriptor: ()Lcom/oracle/truffle/api/impl/Accessor$LanguageSupport;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.impl.Accessor this
         0: .line 1029
            getstatic com.oracle.truffle.api.impl.Accessor$Constants.LANGUAGE:Lcom/oracle/truffle/api/impl/Accessor$LanguageSupport;
            areturn
        end local 0 // com.oracle.truffle.api.impl.Accessor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/impl/Accessor;

  public final com.oracle.truffle.api.impl.Accessor$EngineSupport engineSupport();
    descriptor: ()Lcom/oracle/truffle/api/impl/Accessor$EngineSupport;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.impl.Accessor this
         0: .line 1033
            getstatic com.oracle.truffle.api.impl.Accessor$Constants.ENGINE:Lcom/oracle/truffle/api/impl/Accessor$EngineSupport;
            areturn
        end local 0 // com.oracle.truffle.api.impl.Accessor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/impl/Accessor;

  public final com.oracle.truffle.api.impl.Accessor$InstrumentSupport instrumentSupport();
    descriptor: ()Lcom/oracle/truffle/api/impl/Accessor$InstrumentSupport;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.impl.Accessor this
         0: .line 1037
            getstatic com.oracle.truffle.api.impl.Accessor$Constants.INSTRUMENT:Lcom/oracle/truffle/api/impl/Accessor$InstrumentSupport;
            areturn
        end local 0 // com.oracle.truffle.api.impl.Accessor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/impl/Accessor;

  public final com.oracle.truffle.api.impl.Accessor$InteropSupport interopSupport();
    descriptor: ()Lcom/oracle/truffle/api/impl/Accessor$InteropSupport;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.impl.Accessor this
         0: .line 1041
            getstatic com.oracle.truffle.api.impl.Accessor$Constants.INTEROP:Lcom/oracle/truffle/api/impl/Accessor$InteropSupport;
            areturn
        end local 0 // com.oracle.truffle.api.impl.Accessor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/impl/Accessor;

  public final com.oracle.truffle.api.impl.Accessor$ExceptionSupport exceptionSupport();
    descriptor: ()Lcom/oracle/truffle/api/impl/Accessor$ExceptionSupport;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.impl.Accessor this
         0: .line 1045
            getstatic com.oracle.truffle.api.impl.Accessor$Constants.EXCEPTION:Lcom/oracle/truffle/api/impl/Accessor$ExceptionSupport;
            areturn
        end local 0 // com.oracle.truffle.api.impl.Accessor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/impl/Accessor;

  public final com.oracle.truffle.api.impl.Accessor$SourceSupport sourceSupport();
    descriptor: ()Lcom/oracle/truffle/api/impl/Accessor$SourceSupport;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.impl.Accessor this
         0: .line 1049
            getstatic com.oracle.truffle.api.impl.Accessor$Constants.SOURCE:Lcom/oracle/truffle/api/impl/Accessor$SourceSupport;
            areturn
        end local 0 // com.oracle.truffle.api.impl.Accessor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/impl/Accessor;

  public final com.oracle.truffle.api.impl.Accessor$FrameSupport framesSupport();
    descriptor: ()Lcom/oracle/truffle/api/impl/Accessor$FrameSupport;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.impl.Accessor this
         0: .line 1053
            getstatic com.oracle.truffle.api.impl.Accessor$Constants.FRAMES:Lcom/oracle/truffle/api/impl/Accessor$FrameSupport;
            areturn
        end local 0 // com.oracle.truffle.api.impl.Accessor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/impl/Accessor;

  public final com.oracle.truffle.api.impl.Accessor$RuntimeSupport runtimeSupport();
    descriptor: ()Lcom/oracle/truffle/api/impl/Accessor$RuntimeSupport;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.impl.Accessor this
         0: .line 1057
            getstatic com.oracle.truffle.api.impl.Accessor$Constants.RUNTIME:Lcom/oracle/truffle/api/impl/Accessor$RuntimeSupport;
            areturn
        end local 0 // com.oracle.truffle.api.impl.Accessor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/impl/Accessor;

  public final com.oracle.truffle.api.impl.Accessor$IOSupport ioSupport();
    descriptor: ()Lcom/oracle/truffle/api/impl/Accessor$IOSupport;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.impl.Accessor this
         0: .line 1061
            getstatic com.oracle.truffle.api.impl.Accessor$Constants.IO:Lcom/oracle/truffle/api/impl/Accessor$IOSupport;
            areturn
        end local 0 // com.oracle.truffle.api.impl.Accessor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/impl/Accessor;

  public final com.oracle.truffle.api.impl.Accessor$JDKSupport jdkSupport();
    descriptor: ()Lcom/oracle/truffle/api/impl/Accessor$JDKSupport;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.impl.Accessor this
         0: .line 1065
            getstatic com.oracle.truffle.api.impl.Accessor.JDKSERVICES:Lcom/oracle/truffle/api/impl/Accessor$JDKSupport;
            areturn
        end local 0 // com.oracle.truffle.api.impl.Accessor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/impl/Accessor;

  public static void main(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String[] args
         0: .line 1074
            new java.lang.IllegalStateException
            dup
            invokespecial java.lang.IllegalStateException.<init>:()V
            athrow
        end local 0 // java.lang.String[] args
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  args  [Ljava/lang/String;
    MethodParameters:
      Name  Flags
      args  

  private static com.oracle.truffle.api.impl.TVMCI getTVMCI();
    descriptor: ()Lcom/oracle/truffle/api/impl/TVMCI;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 1087
            invokestatic org.graalvm.nativeimage.ImageInfo.inImageRuntimeCode:()Z
            ifeq 2
         1: .line 1088
            getstatic com.oracle.truffle.api.impl.Accessor.tvmci:Lcom/oracle/truffle/api/impl/TVMCI;
            areturn
         2: .line 1090
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.impl.Accessor.tvmci:Lcom/oracle/truffle/api/impl/TVMCI;
            astore 0 /* result */
        start local 0 // com.oracle.truffle.api.impl.TVMCI result
         3: .line 1091
            aload 0 /* result */
            ifnonnull 6
         4: .line 1092
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
            ldc Lcom/oracle/truffle/api/impl/TVMCI;
            invokeinterface com.oracle.truffle.api.TruffleRuntime.getCapability:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.impl.TVMCI
            astore 0 /* result */
         5: .line 1093
            aload 0 /* result */
            putstatic com.oracle.truffle.api.impl.Accessor.tvmci:Lcom/oracle/truffle/api/impl/TVMCI;
         6: .line 1095
      StackMap locals: com.oracle.truffle.api.impl.TVMCI
      StackMap stack:
            aload 0 /* result */
            areturn
        end local 0 // com.oracle.truffle.api.impl.TVMCI result
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            3    7     0  result  Lcom/oracle/truffle/api/impl/TVMCI;
}
SourceFile: "Accessor.java"
NestMembers:
  com.oracle.truffle.api.impl.Accessor$Constants  com.oracle.truffle.api.impl.Accessor$EngineSupport  com.oracle.truffle.api.impl.Accessor$ExceptionSupport  com.oracle.truffle.api.impl.Accessor$FrameSupport  com.oracle.truffle.api.impl.Accessor$IOSupport  com.oracle.truffle.api.impl.Accessor$InstrumentSupport  com.oracle.truffle.api.impl.Accessor$InteropSupport  com.oracle.truffle.api.impl.Accessor$JDKSupport  com.oracle.truffle.api.impl.Accessor$LanguageSupport  com.oracle.truffle.api.impl.Accessor$NodeSupport  com.oracle.truffle.api.impl.Accessor$RuntimeSupport  com.oracle.truffle.api.impl.Accessor$SourceSupport  com.oracle.truffle.api.impl.Accessor$Support
InnerClasses:
  public abstract CompilationFinal = com.oracle.truffle.api.CompilerDirectives$CompilationFinal of com.oracle.truffle.api.CompilerDirectives
  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 final JDKSupport = com.oracle.truffle.api.impl.Accessor$JDKSupport 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
  abstract Support = com.oracle.truffle.api.impl.Accessor$Support of com.oracle.truffle.api.impl.Accessor