final class com.oracle.truffle.polyglot.PolyglotLanguageInstance implements com.oracle.truffle.polyglot.PolyglotImpl$VMObject
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.oracle.truffle.polyglot.PolyglotLanguageInstance
  super_class: java.lang.Object
{
  final com.oracle.truffle.polyglot.PolyglotLanguage language;
    descriptor: Lcom/oracle/truffle/polyglot/PolyglotLanguage;
    flags: (0x0010) ACC_FINAL

  final com.oracle.truffle.api.TruffleLanguage<java.lang.Object> spi;
    descriptor: Lcom/oracle/truffle/api/TruffleLanguage;
    flags: (0x0010) ACC_FINAL
    Signature: Lcom/oracle/truffle/api/TruffleLanguage<Ljava/lang/Object;>;

  private final com.oracle.truffle.polyglot.PolyglotSourceCache sourceCache;
    descriptor: Lcom/oracle/truffle/polyglot/PolyglotSourceCache;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final java.util.Map<java.lang.Class<?>, com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache> valueCodeCache;
    descriptor: Ljava/util/Map;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Class<*>;Lcom/oracle/truffle/polyglot/PolyglotValue$InteropCodeCache;>;

  final java.util.Map<java.lang.Object, java.lang.Object> hostInteropCodeCache;
    descriptor: Ljava/util/Map;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Object;Ljava/lang/Object;>;

  private volatile com.oracle.truffle.polyglot.OptionValuesImpl firstOptionValues;
    descriptor: Lcom/oracle/truffle/polyglot/OptionValuesImpl;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile boolean multiContextInitialized;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private final com.oracle.truffle.api.Assumption singleContext;
    descriptor: Lcom/oracle/truffle/api/Assumption;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.oracle.truffle.api.TruffleLanguage$LanguageReference<com.oracle.truffle.api.TruffleLanguage<java.lang.Object>> directLanguageSupplier;
    descriptor: Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference<Lcom/oracle/truffle/api/TruffleLanguage<Ljava/lang/Object;>;>;

  private final com.oracle.truffle.api.TruffleLanguage$ContextReference<java.lang.Object> directContextSupplier;
    descriptor: Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/oracle/truffle/api/TruffleLanguage$ContextReference<Ljava/lang/Object;>;

  java.util.List<com.oracle.truffle.polyglot.PolyglotLocals$LanguageContextLocal<?>> contextLocals;
    descriptor: Ljava/util/List;
    flags: (0x0000) 
    Signature: Ljava/util/List<Lcom/oracle/truffle/polyglot/PolyglotLocals$LanguageContextLocal<*>;>;

  java.util.List<com.oracle.truffle.polyglot.PolyglotLocals$LanguageContextThreadLocal<?>> contextThreadLocals;
    descriptor: Ljava/util/List;
    flags: (0x0000) 
    Signature: Ljava/util/List<Lcom/oracle/truffle/polyglot/PolyglotLocals$LanguageContextThreadLocal<*>;>;

  com.oracle.truffle.polyglot.PolyglotLocals$LocalLocation[] contextLocalLocations;
    descriptor: [Lcom/oracle/truffle/polyglot/PolyglotLocals$LocalLocation;
    flags: (0x0000) 

  com.oracle.truffle.polyglot.PolyglotLocals$LocalLocation[] contextThreadLocalLocations;
    descriptor: [Lcom/oracle/truffle/polyglot/PolyglotLocals$LocalLocation;
    flags: (0x0000) 

  int claimedCount;
    descriptor: I
    flags: (0x0000) 

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$com$oracle$truffle$api$TruffleLanguage$ContextPolicy;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 65
            ldc Lcom/oracle/truffle/polyglot/PolyglotLanguageInstance;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic com.oracle.truffle.polyglot.PolyglotLanguageInstance.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(com.oracle.truffle.polyglot.PolyglotLanguage);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguage;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=6, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageInstance this
        start local 1 // com.oracle.truffle.polyglot.PolyglotLanguage language
         0: .line 96
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 76
            aload 0 /* this */
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
            ldc "Single context per language instance."
            invokeinterface com.oracle.truffle.api.TruffleRuntime.createAssumption:(Ljava/lang/String;)Lcom/oracle/truffle/api/Assumption;
            putfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.singleContext:Lcom/oracle/truffle/api/Assumption;
         2: .line 97
            aload 0 /* this */
            aload 1 /* language */
            putfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.language:Lcom/oracle/truffle/polyglot/PolyglotLanguage;
         3: .line 98
            aload 0 /* this */
            new com.oracle.truffle.polyglot.PolyglotSourceCache
            dup
            invokespecial com.oracle.truffle.polyglot.PolyglotSourceCache.<init>:()V
            putfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.sourceCache:Lcom/oracle/truffle/polyglot/PolyglotSourceCache;
         4: .line 99
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.valueCodeCache:Ljava/util/Map;
         5: .line 100
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.hostInteropCodeCache:Ljava/util/Map;
         6: .line 102
            aload 0 /* this */
            aload 1 /* language */
            getfield com.oracle.truffle.polyglot.PolyglotLanguage.cache:Lcom/oracle/truffle/polyglot/LanguageCache;
            invokevirtual com.oracle.truffle.polyglot.LanguageCache.loadLanguage:()Lcom/oracle/truffle/api/TruffleLanguage;
            putfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.spi:Lcom/oracle/truffle/api/TruffleLanguage;
         7: .line 103
            getstatic com.oracle.truffle.polyglot.EngineAccessor.LANGUAGE:Lcom/oracle/truffle/api/impl/Accessor$LanguageSupport;
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.spi:Lcom/oracle/truffle/api/TruffleLanguage;
            aload 1 /* language */
            getfield com.oracle.truffle.polyglot.PolyglotLanguage.info:Lcom/oracle/truffle/api/nodes/LanguageInfo;
            aload 1 /* language */
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.impl.Accessor$LanguageSupport.initializeLanguage:(Lcom/oracle/truffle/api/TruffleLanguage;Lcom/oracle/truffle/api/nodes/LanguageInfo;Ljava/lang/Object;Ljava/lang/Object;)V
         8: .line 104
            goto 11
      StackMap locals: com.oracle.truffle.polyglot.PolyglotLanguageInstance com.oracle.truffle.polyglot.PolyglotLanguage
      StackMap stack: java.lang.Exception
         9: astore 2 /* e */
        start local 2 // java.lang.Exception e
        10: .line 105
            new java.lang.IllegalStateException
            dup
            ldc "Error initializing language '%s' using class '%s'."
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* language */
            getfield com.oracle.truffle.polyglot.PolyglotLanguage.cache:Lcom/oracle/truffle/polyglot/LanguageCache;
            invokevirtual com.oracle.truffle.polyglot.LanguageCache.getId:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 1 /* language */
            getfield com.oracle.truffle.polyglot.PolyglotLanguage.cache:Lcom/oracle/truffle/polyglot/LanguageCache;
            invokevirtual com.oracle.truffle.polyglot.LanguageCache.getClassName:()Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aload 2 /* e */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.Exception e
        11: .line 108
      StackMap locals:
      StackMap stack:
            aload 1 /* language */
            getfield com.oracle.truffle.polyglot.PolyglotLanguage.cache:Lcom/oracle/truffle/polyglot/LanguageCache;
            invokevirtual com.oracle.truffle.polyglot.LanguageCache.getPolicy:()Lcom/oracle/truffle/api/TruffleLanguage$ContextPolicy;
            getstatic com.oracle.truffle.api.TruffleLanguage$ContextPolicy.EXCLUSIVE:Lcom/oracle/truffle/api/TruffleLanguage$ContextPolicy;
            if_acmpeq 12
            iconst_1
            goto 13
      StackMap locals:
      StackMap stack:
        12: iconst_0
      StackMap locals:
      StackMap stack: int
        13: istore 2 /* mayBeUsedInInnerContext */
        start local 2 // boolean mayBeUsedInInnerContext
        14: .line 109
            aload 1 /* language */
            aload 1 /* language */
            invokevirtual com.oracle.truffle.polyglot.PolyglotLanguage.getEffectiveContextPolicy:(Lcom/oracle/truffle/polyglot/PolyglotLanguage;)Lcom/oracle/truffle/api/TruffleLanguage$ContextPolicy;
            getstatic com.oracle.truffle.api.TruffleLanguage$ContextPolicy.EXCLUSIVE:Lcom/oracle/truffle/api/TruffleLanguage$ContextPolicy;
            if_acmpne 15
            iconst_1
            goto 16
      StackMap locals: int
      StackMap stack:
        15: iconst_0
      StackMap locals:
      StackMap stack: int
        16: istore 3 /* currentExclusive */
        start local 3 // boolean currentExclusive
        17: .line 111
            iload 3 /* currentExclusive */
            ifeq 18
            aconst_null
            goto 19
      StackMap locals: int
      StackMap stack:
        18: aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.singleContext:Lcom/oracle/truffle/api/Assumption;
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.Assumption
        19: astore 4 /* useDirectSingleContext */
        start local 4 // com.oracle.truffle.api.Assumption useDirectSingleContext
        20: .line 112
            iload 2 /* mayBeUsedInInnerContext */
            ifeq 21
            aload 1 /* language */
            getfield com.oracle.truffle.polyglot.PolyglotLanguage.engine:Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
            getfield com.oracle.truffle.polyglot.PolyglotEngineImpl.noInnerContexts:Lcom/oracle/truffle/api/Assumption;
            goto 22
      StackMap locals: com.oracle.truffle.api.Assumption
      StackMap stack:
        21: aconst_null
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.Assumption
        22: astore 5 /* useInnerContext */
        start local 5 // com.oracle.truffle.api.Assumption useInnerContext
        23: .line 114
            aload 1 /* language */
            getfield com.oracle.truffle.polyglot.PolyglotLanguage.engine:Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
            getfield com.oracle.truffle.polyglot.PolyglotEngineImpl.conservativeContextReferences:Z
            ifeq 26
        24: .line 115
            aload 0 /* this */
            aload 1 /* language */
            invokevirtual com.oracle.truffle.polyglot.PolyglotLanguage.getConservativeContextReference:()Lcom/oracle/truffle/polyglot/PolyglotReferences$AbstractContextReference;
            putfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.directContextSupplier:Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;
        25: .line 116
            goto 34
        26: .line 117
      StackMap locals: com.oracle.truffle.api.Assumption
      StackMap stack:
            aload 4 /* useDirectSingleContext */
            ifnonnull 29
            aload 5 /* useInnerContext */
            ifnonnull 29
        27: .line 119
            aload 0 /* this */
            aload 1 /* language */
            iload 3 /* currentExclusive */
            invokestatic com.oracle.truffle.polyglot.PolyglotReferences.createAlwaysSingleContext:(Lcom/oracle/truffle/polyglot/PolyglotLanguage;Z)Lcom/oracle/truffle/polyglot/PolyglotReferences$AbstractContextReference;
            putfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.directContextSupplier:Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;
        28: .line 120
            goto 34
        29: .line 121
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* language */
        30: .line 122
            aload 5 /* useInnerContext */
        31: .line 123
            aload 4 /* useDirectSingleContext */
        32: .line 124
            aload 1 /* language */
            invokevirtual com.oracle.truffle.polyglot.PolyglotLanguage.getContextReference:()Lcom/oracle/truffle/polyglot/PolyglotReferences$AbstractContextReference;
            iload 3 /* currentExclusive */
        33: .line 121
            invokestatic com.oracle.truffle.polyglot.PolyglotReferences.createAssumeSingleContext:(Lcom/oracle/truffle/polyglot/PolyglotLanguage;Lcom/oracle/truffle/api/Assumption;Lcom/oracle/truffle/api/Assumption;Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;Z)Lcom/oracle/truffle/polyglot/PolyglotReferences$AbstractContextReference;
            putfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.directContextSupplier:Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;
        34: .line 127
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* language */
            aload 0 /* this */
            invokestatic com.oracle.truffle.polyglot.PolyglotReferences.createAlwaysSingleLanguage:(Lcom/oracle/truffle/polyglot/PolyglotLanguage;Lcom/oracle/truffle/polyglot/PolyglotLanguageInstance;)Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference;
            putfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.directLanguageSupplier:Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference;
        35: .line 128
            return
        end local 5 // com.oracle.truffle.api.Assumption useInnerContext
        end local 4 // com.oracle.truffle.api.Assumption useDirectSingleContext
        end local 3 // boolean currentExclusive
        end local 2 // boolean mayBeUsedInInnerContext
        end local 1 // com.oracle.truffle.polyglot.PolyglotLanguage language
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageInstance this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   36     0                     this  Lcom/oracle/truffle/polyglot/PolyglotLanguageInstance;
            0   36     1                 language  Lcom/oracle/truffle/polyglot/PolyglotLanguage;
           10   11     2                        e  Ljava/lang/Exception;
           14   36     2  mayBeUsedInInnerContext  Z
           17   36     3         currentExclusive  Z
           20   36     4   useDirectSingleContext  Lcom/oracle/truffle/api/Assumption;
           23   36     5          useInnerContext  Lcom/oracle/truffle/api/Assumption;
      Exception table:
        from    to  target  type
           6     8       9  Class java.lang.Exception
    MethodParameters:
          Name  Flags
      language  

  public com.oracle.truffle.polyglot.PolyglotEngineImpl getEngine();
    descriptor: ()Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageInstance this
         0: .line 131
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.language:Lcom/oracle/truffle/polyglot/PolyglotLanguage;
            getfield com.oracle.truffle.polyglot.PolyglotLanguage.engine:Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
            areturn
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageInstance this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/polyglot/PolyglotLanguageInstance;

  boolean areOptionsCompatible(com.oracle.truffle.polyglot.OptionValuesImpl);
    descriptor: (Lcom/oracle/truffle/polyglot/OptionValuesImpl;)Z
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageInstance this
        start local 1 // com.oracle.truffle.polyglot.OptionValuesImpl newOptionValues
         0: .line 135
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.firstOptionValues:Lcom/oracle/truffle/polyglot/OptionValuesImpl;
            astore 2 /* firstOptions */
        start local 2 // com.oracle.truffle.polyglot.OptionValuesImpl firstOptions
         1: .line 136
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.firstOptionValues:Lcom/oracle/truffle/polyglot/OptionValuesImpl;
            ifnonnull 3
         2: .line 137
            iconst_1
            ireturn
         3: .line 139
      StackMap locals: com.oracle.truffle.polyglot.OptionValuesImpl
      StackMap stack:
            getstatic com.oracle.truffle.polyglot.EngineAccessor.LANGUAGE:Lcom/oracle/truffle/api/impl/Accessor$LanguageSupport;
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.spi:Lcom/oracle/truffle/api/TruffleLanguage;
            aload 2 /* firstOptions */
            aload 1 /* newOptionValues */
            invokevirtual com.oracle.truffle.api.impl.Accessor$LanguageSupport.areOptionsCompatible:(Lcom/oracle/truffle/api/TruffleLanguage;Lorg/graalvm/options/OptionValues;Lorg/graalvm/options/OptionValues;)Z
            ireturn
        end local 2 // com.oracle.truffle.polyglot.OptionValuesImpl firstOptions
        end local 1 // com.oracle.truffle.polyglot.OptionValuesImpl newOptionValues
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageInstance this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lcom/oracle/truffle/polyglot/PolyglotLanguageInstance;
            0    4     1  newOptionValues  Lcom/oracle/truffle/polyglot/OptionValuesImpl;
            1    4     2     firstOptions  Lcom/oracle/truffle/polyglot/OptionValuesImpl;
    MethodParameters:
                 Name  Flags
      newOptionValues  

  void claim(com.oracle.truffle.polyglot.OptionValuesImpl);
    descriptor: (Lcom/oracle/truffle/polyglot/OptionValuesImpl;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageInstance this
        start local 1 // com.oracle.truffle.polyglot.OptionValuesImpl optionValues
         0: .line 144
            getstatic com.oracle.truffle.polyglot.PolyglotLanguageInstance.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.language:Lcom/oracle/truffle/polyglot/PolyglotLanguage;
            getfield com.oracle.truffle.polyglot.PolyglotLanguage.engine:Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
            getfield com.oracle.truffle.polyglot.PolyglotEngineImpl.lock:Ljava/lang/Object;
            invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 145
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.firstOptionValues:Lcom/oracle/truffle/polyglot/OptionValuesImpl;
            ifnonnull 3
         2: .line 146
            aload 0 /* this */
            aload 1 /* optionValues */
            putfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.firstOptionValues:Lcom/oracle/truffle/polyglot/OptionValuesImpl;
         3: .line 148
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.claimedCount:I
            iconst_1
            iadd
            putfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.claimedCount:I
         4: .line 149
            return
        end local 1 // com.oracle.truffle.polyglot.OptionValuesImpl optionValues
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageInstance this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lcom/oracle/truffle/polyglot/PolyglotLanguageInstance;
            0    5     1  optionValues  Lcom/oracle/truffle/polyglot/OptionValuesImpl;
    MethodParameters:
              Name  Flags
      optionValues  

  void patchFirstOptions(com.oracle.truffle.polyglot.OptionValuesImpl);
    descriptor: (Lcom/oracle/truffle/polyglot/OptionValuesImpl;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageInstance this
        start local 1 // com.oracle.truffle.polyglot.OptionValuesImpl optionValues
         0: .line 152
            aload 0 /* this */
            aload 1 /* optionValues */
            putfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.firstOptionValues:Lcom/oracle/truffle/polyglot/OptionValuesImpl;
         1: .line 153
            return
        end local 1 // com.oracle.truffle.polyglot.OptionValuesImpl optionValues
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageInstance this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lcom/oracle/truffle/polyglot/PolyglotLanguageInstance;
            0    2     1  optionValues  Lcom/oracle/truffle/polyglot/OptionValuesImpl;
    MethodParameters:
              Name  Flags
      optionValues  

  void ensureMultiContextInitialized();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageInstance this
         0: .line 156
            getstatic com.oracle.truffle.polyglot.PolyglotLanguageInstance.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.language:Lcom/oracle/truffle/polyglot/PolyglotLanguage;
            getfield com.oracle.truffle.polyglot.PolyglotLanguage.engine:Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
            getfield com.oracle.truffle.polyglot.PolyglotEngineImpl.lock:Ljava/lang/Object;
            invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 157
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.language:Lcom/oracle/truffle/polyglot/PolyglotLanguage;
            getfield com.oracle.truffle.polyglot.PolyglotLanguage.engine:Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
            getfield com.oracle.truffle.polyglot.PolyglotEngineImpl.singleContext:Lcom/oracle/truffle/api/Assumption;
            invokeinterface com.oracle.truffle.api.Assumption.isValid:()Z
            ifne 7
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.language:Lcom/oracle/truffle/polyglot/PolyglotLanguage;
            getfield com.oracle.truffle.polyglot.PolyglotLanguage.cache:Lcom/oracle/truffle/polyglot/LanguageCache;
            invokevirtual com.oracle.truffle.polyglot.LanguageCache.getPolicy:()Lcom/oracle/truffle/api/TruffleLanguage$ContextPolicy;
            getstatic com.oracle.truffle.api.TruffleLanguage$ContextPolicy.EXCLUSIVE:Lcom/oracle/truffle/api/TruffleLanguage$ContextPolicy;
            if_acmpeq 7
         2: .line 158
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.multiContextInitialized:Z
            ifne 7
         3: .line 159
            aload 0 /* this */
            iconst_1
            putfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.multiContextInitialized:Z
         4: .line 160
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.language:Lcom/oracle/truffle/polyglot/PolyglotLanguage;
            getfield com.oracle.truffle.polyglot.PolyglotLanguage.engine:Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
            aconst_null
            invokevirtual com.oracle.truffle.polyglot.PolyglotEngineImpl.initializeMultiContext:(Lcom/oracle/truffle/polyglot/PolyglotContextImpl;)V
         5: .line 161
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.singleContext:Lcom/oracle/truffle/api/Assumption;
            invokeinterface com.oracle.truffle.api.Assumption.invalidate:()V
         6: .line 162
            getstatic com.oracle.truffle.polyglot.EngineAccessor.LANGUAGE:Lcom/oracle/truffle/api/impl/Accessor$LanguageSupport;
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.spi:Lcom/oracle/truffle/api/TruffleLanguage;
            invokevirtual com.oracle.truffle.api.impl.Accessor$LanguageSupport.initializeMultiContext:(Lcom/oracle/truffle/api/TruffleLanguage;)Z
            pop
         7: .line 165
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageInstance this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/oracle/truffle/polyglot/PolyglotLanguageInstance;

  com.oracle.truffle.polyglot.PolyglotSourceCache getSourceCache();
    descriptor: ()Lcom/oracle/truffle/polyglot/PolyglotSourceCache;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageInstance this
         0: .line 168
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.sourceCache:Lcom/oracle/truffle/polyglot/PolyglotSourceCache;
            areturn
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageInstance this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/polyglot/PolyglotLanguageInstance;

  com.oracle.truffle.api.TruffleLanguage$ContextReference<java.lang.Object> getDirectContextSupplier();
    descriptor: ()Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageInstance this
         0: .line 175
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.directContextSupplier:Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;
            areturn
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageInstance this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/polyglot/PolyglotLanguageInstance;
    Signature: ()Lcom/oracle/truffle/api/TruffleLanguage$ContextReference<Ljava/lang/Object;>;

  com.oracle.truffle.api.TruffleLanguage$ContextReference<java.lang.Object> lookupContextSupplier(com.oracle.truffle.polyglot.PolyglotLanguage);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguage;)Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageInstance this
        start local 1 // com.oracle.truffle.polyglot.PolyglotLanguage sourceLanguage
         0: .line 182
            getstatic com.oracle.truffle.polyglot.PolyglotLanguageInstance.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.language:Lcom/oracle/truffle/polyglot/PolyglotLanguage;
            aload 1 /* sourceLanguage */
            if_acmpne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 184
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.truffle.polyglot.PolyglotLanguageInstance.$SWITCH_TABLE$com$oracle$truffle$api$TruffleLanguage$ContextPolicy:()[I
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.language:Lcom/oracle/truffle/polyglot/PolyglotLanguage;
            aload 1 /* sourceLanguage */
            invokevirtual com.oracle.truffle.polyglot.PolyglotLanguage.getEffectiveContextPolicy:(Lcom/oracle/truffle/polyglot/PolyglotLanguage;)Lcom/oracle/truffle/api/TruffleLanguage$ContextPolicy;
            invokevirtual com.oracle.truffle.api.TruffleLanguage$ContextPolicy.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 2
                    2: 6
                    3: 6
              default: 8
          }
         2: .line 186
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.language:Lcom/oracle/truffle/polyglot/PolyglotLanguage;
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.language:Lcom/oracle/truffle/polyglot/PolyglotLanguage;
            getfield com.oracle.truffle.polyglot.PolyglotLanguage.engine:Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
            getfield com.oracle.truffle.polyglot.PolyglotEngineImpl.noInnerContexts:Lcom/oracle/truffle/api/Assumption;
            aconst_null
         3: .line 187
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.language:Lcom/oracle/truffle/polyglot/PolyglotLanguage;
            invokevirtual com.oracle.truffle.polyglot.PolyglotLanguage.getContextReference:()Lcom/oracle/truffle/polyglot/PolyglotReferences$AbstractContextReference;
            iconst_1
         4: .line 186
            invokestatic com.oracle.truffle.polyglot.PolyglotReferences.createAssumeSingleContext:(Lcom/oracle/truffle/polyglot/PolyglotLanguage;Lcom/oracle/truffle/api/Assumption;Lcom/oracle/truffle/api/Assumption;Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;Z)Lcom/oracle/truffle/polyglot/PolyglotReferences$AbstractContextReference;
            astore 2 /* ref */
        start local 2 // com.oracle.truffle.api.TruffleLanguage$ContextReference ref
         5: .line 188
            goto 9
        end local 2 // com.oracle.truffle.api.TruffleLanguage$ContextReference ref
         6: .line 191
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.language:Lcom/oracle/truffle/polyglot/PolyglotLanguage;
            invokevirtual com.oracle.truffle.polyglot.PolyglotLanguage.getContextReference:()Lcom/oracle/truffle/polyglot/PolyglotReferences$AbstractContextReference;
            astore 2 /* ref */
        start local 2 // com.oracle.truffle.api.TruffleLanguage$ContextReference ref
         7: .line 192
            goto 9
        end local 2 // com.oracle.truffle.api.TruffleLanguage$ContextReference ref
         8: .line 194
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.truffle.api.CompilerDirectives.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        start local 2 // com.oracle.truffle.api.TruffleLanguage$ContextReference ref
         9: .line 196
      StackMap locals: com.oracle.truffle.api.TruffleLanguage$ContextReference
      StackMap stack:
            aload 2 /* ref */
            areturn
        end local 2 // com.oracle.truffle.api.TruffleLanguage$ContextReference ref
        end local 1 // com.oracle.truffle.polyglot.PolyglotLanguage sourceLanguage
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageInstance this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0            this  Lcom/oracle/truffle/polyglot/PolyglotLanguageInstance;
            0   10     1  sourceLanguage  Lcom/oracle/truffle/polyglot/PolyglotLanguage;
            5    6     2             ref  Lcom/oracle/truffle/api/TruffleLanguage$ContextReference<Ljava/lang/Object;>;
            7    8     2             ref  Lcom/oracle/truffle/api/TruffleLanguage$ContextReference<Ljava/lang/Object;>;
            9   10     2             ref  Lcom/oracle/truffle/api/TruffleLanguage$ContextReference<Ljava/lang/Object;>;
    Signature: (Lcom/oracle/truffle/polyglot/PolyglotLanguage;)Lcom/oracle/truffle/api/TruffleLanguage$ContextReference<Ljava/lang/Object;>;
    MethodParameters:
                Name  Flags
      sourceLanguage  

  com.oracle.truffle.api.TruffleLanguage$LanguageReference<com.oracle.truffle.api.TruffleLanguage<java.lang.Object>> getDirectLanguageReference();
    descriptor: ()Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageInstance this
         0: .line 203
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.directLanguageSupplier:Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference;
            areturn
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageInstance this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/polyglot/PolyglotLanguageInstance;
    Signature: ()Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference<Lcom/oracle/truffle/api/TruffleLanguage<Ljava/lang/Object;>;>;

  com.oracle.truffle.api.TruffleLanguage$LanguageReference<com.oracle.truffle.api.TruffleLanguage<java.lang.Object>> lookupLanguageSupplier(com.oracle.truffle.polyglot.PolyglotLanguage);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguage;)Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference;
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageInstance this
        start local 1 // com.oracle.truffle.polyglot.PolyglotLanguage sourceLanguage
         0: .line 210
            getstatic com.oracle.truffle.polyglot.PolyglotLanguageInstance.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.language:Lcom/oracle/truffle/polyglot/PolyglotLanguage;
            aload 1 /* sourceLanguage */
            if_acmpne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 211
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.truffle.polyglot.PolyglotLanguageInstance.$SWITCH_TABLE$com$oracle$truffle$api$TruffleLanguage$ContextPolicy:()[I
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.language:Lcom/oracle/truffle/polyglot/PolyglotLanguage;
            aload 1 /* sourceLanguage */
            invokevirtual com.oracle.truffle.polyglot.PolyglotLanguage.getEffectiveContextPolicy:(Lcom/oracle/truffle/polyglot/PolyglotLanguage;)Lcom/oracle/truffle/api/TruffleLanguage$ContextPolicy;
            invokevirtual com.oracle.truffle.api.TruffleLanguage$ContextPolicy.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 2
                    2: 3
                    3: 3
              default: 4
          }
         2: .line 213
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.language:Lcom/oracle/truffle/polyglot/PolyglotLanguage;
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.language:Lcom/oracle/truffle/polyglot/PolyglotLanguage;
            getfield com.oracle.truffle.polyglot.PolyglotLanguage.singleInstance:Lcom/oracle/truffle/api/Assumption;
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.language:Lcom/oracle/truffle/polyglot/PolyglotLanguage;
            invokevirtual com.oracle.truffle.polyglot.PolyglotLanguage.getLanguageReference:()Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference;
            invokestatic com.oracle.truffle.polyglot.PolyglotReferences.createAssumeSingleLanguage:(Lcom/oracle/truffle/polyglot/PolyglotLanguage;Lcom/oracle/truffle/polyglot/PolyglotLanguageInstance;Lcom/oracle/truffle/api/Assumption;Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference;)Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference;
            areturn
         3: .line 216
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.language:Lcom/oracle/truffle/polyglot/PolyglotLanguage;
            invokevirtual com.oracle.truffle.polyglot.PolyglotLanguage.getLanguageReference:()Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference;
            areturn
         4: .line 218
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.truffle.api.CompilerDirectives.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 1 // com.oracle.truffle.polyglot.PolyglotLanguage sourceLanguage
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageInstance this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lcom/oracle/truffle/polyglot/PolyglotLanguageInstance;
            0    5     1  sourceLanguage  Lcom/oracle/truffle/polyglot/PolyglotLanguage;
    Signature: (Lcom/oracle/truffle/polyglot/PolyglotLanguage;)Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference<Lcom/oracle/truffle/api/TruffleLanguage<Ljava/lang/Object;>;>;
    MethodParameters:
                Name  Flags
      sourceLanguage  

  void listCachedSources(java.util.Collection<org.graalvm.polyglot.Source>);
    descriptor: (Ljava/util/Collection;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotLanguageInstance this
        start local 1 // java.util.Collection sources
         0: .line 223
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.sourceCache:Lcom/oracle/truffle/polyglot/PolyglotSourceCache;
            aload 0 /* this */
            aload 1 /* sources */
            invokevirtual com.oracle.truffle.polyglot.PolyglotSourceCache.listCachedSources:(Lcom/oracle/truffle/polyglot/PolyglotLanguageInstance;Ljava/util/Collection;)V
         1: .line 224
            return
        end local 1 // java.util.Collection sources
        end local 0 // com.oracle.truffle.polyglot.PolyglotLanguageInstance this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/oracle/truffle/polyglot/PolyglotLanguageInstance;
            0    2     1  sources  Ljava/util/Collection<Lorg/graalvm/polyglot/Source;>;
    Signature: (Ljava/util/Collection<Lorg/graalvm/polyglot/Source;>;)V
    MethodParameters:
         Name  Flags
      sources  

  static int[] $SWITCH_TABLE$com$oracle$truffle$api$TruffleLanguage$ContextPolicy();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 65
            getstatic com.oracle.truffle.polyglot.PolyglotLanguageInstance.$SWITCH_TABLE$com$oracle$truffle$api$TruffleLanguage$ContextPolicy:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic com.oracle.truffle.api.TruffleLanguage$ContextPolicy.values:()[Lcom/oracle/truffle/api/TruffleLanguage$ContextPolicy;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic com.oracle.truffle.api.TruffleLanguage$ContextPolicy.EXCLUSIVE:Lcom/oracle/truffle/api/TruffleLanguage$ContextPolicy;
            invokevirtual com.oracle.truffle.api.TruffleLanguage$ContextPolicy.ordinal:()I
            iconst_1
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic com.oracle.truffle.api.TruffleLanguage$ContextPolicy.REUSE:Lcom/oracle/truffle/api/TruffleLanguage$ContextPolicy;
            invokevirtual com.oracle.truffle.api.TruffleLanguage$ContextPolicy.ordinal:()I
            iconst_2
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic com.oracle.truffle.api.TruffleLanguage$ContextPolicy.SHARED:Lcom/oracle/truffle/api/TruffleLanguage$ContextPolicy;
            invokevirtual com.oracle.truffle.api.TruffleLanguage$ContextPolicy.ordinal:()I
            iconst_3
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            dup
            putstatic com.oracle.truffle.polyglot.PolyglotLanguageInstance.$SWITCH_TABLE$com$oracle$truffle$api$TruffleLanguage$ContextPolicy:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
}
SourceFile: "PolyglotLanguageInstance.java"
InnerClasses:
  public final ContextPolicy = com.oracle.truffle.api.TruffleLanguage$ContextPolicy of com.oracle.truffle.api.TruffleLanguage
  public abstract ContextReference = com.oracle.truffle.api.TruffleLanguage$ContextReference of com.oracle.truffle.api.TruffleLanguage
  public abstract LanguageReference = com.oracle.truffle.api.TruffleLanguage$LanguageReference of com.oracle.truffle.api.TruffleLanguage
  public abstract LanguageSupport = com.oracle.truffle.api.impl.Accessor$LanguageSupport of com.oracle.truffle.api.impl.Accessor
  abstract VMObject = com.oracle.truffle.polyglot.PolyglotImpl$VMObject of com.oracle.truffle.polyglot.PolyglotImpl
  final LanguageContextLocal = com.oracle.truffle.polyglot.PolyglotLocals$LanguageContextLocal of com.oracle.truffle.polyglot.PolyglotLocals
  final LanguageContextThreadLocal = com.oracle.truffle.polyglot.PolyglotLocals$LanguageContextThreadLocal of com.oracle.truffle.polyglot.PolyglotLocals
  abstract LocalLocation = com.oracle.truffle.polyglot.PolyglotLocals$LocalLocation of com.oracle.truffle.polyglot.PolyglotLocals
  abstract AbstractContextReference = com.oracle.truffle.polyglot.PolyglotReferences$AbstractContextReference of com.oracle.truffle.polyglot.PolyglotReferences
  InteropCodeCache = com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache of com.oracle.truffle.polyglot.PolyglotValue