final class com.oracle.truffle.polyglot.PolyglotLocals$LanguageContextThreadLocal$Location extends com.oracle.truffle.polyglot.PolyglotLocals$LocalLocation
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.polyglot.PolyglotLocals$LanguageContextThreadLocal$Location
super_class: com.oracle.truffle.polyglot.PolyglotLocals$LocalLocation
{
private final com.oracle.truffle.polyglot.PolyglotLanguage language;
descriptor: Lcom/oracle/truffle/polyglot/PolyglotLanguage;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(com.oracle.truffle.polyglot.PolyglotLanguage, int);
descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguage;I)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 // com.oracle.truffle.polyglot.PolyglotLocals$LanguageContextThreadLocal$Location this
start local 1 // com.oracle.truffle.polyglot.PolyglotLanguage language
start local 2 // int index
0: .line 406
aload 0 /* this */
aload 1 /* language */
getfield com.oracle.truffle.polyglot.PolyglotLanguage.engine:Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
iload 2 /* index */
invokespecial com.oracle.truffle.polyglot.PolyglotLocals$LocalLocation.<init>:(Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;I)V
1: .line 407
aload 0 /* this */
aload 1 /* language */
putfield com.oracle.truffle.polyglot.PolyglotLocals$LanguageContextThreadLocal$Location.language:Lcom/oracle/truffle/polyglot/PolyglotLanguage;
2: .line 408
return
end local 2 // int index
end local 1 // com.oracle.truffle.polyglot.PolyglotLanguage language
end local 0 // com.oracle.truffle.polyglot.PolyglotLocals$LanguageContextThreadLocal$Location this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/polyglot/PolyglotLocals$LanguageContextThreadLocal$Location;
0 3 1 language Lcom/oracle/truffle/polyglot/PolyglotLanguage;
0 3 2 index I
MethodParameters:
Name Flags
language
index
java.lang.Object invokeFactoryImpl(com.oracle.truffle.polyglot.PolyglotContextImpl, java.lang.Thread);
descriptor: (Lcom/oracle/truffle/polyglot/PolyglotContextImpl;Ljava/lang/Thread;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=5, locals=7, args_size=3
start local 0 // com.oracle.truffle.polyglot.PolyglotLocals$LanguageContextThreadLocal$Location this
start local 1 // com.oracle.truffle.polyglot.PolyglotContextImpl context
start local 2 // java.lang.Thread thread
0: .line 412
aload 1 /* context */
aload 0 /* this */
getfield com.oracle.truffle.polyglot.PolyglotLocals$LanguageContextThreadLocal$Location.language:Lcom/oracle/truffle/polyglot/PolyglotLanguage;
invokevirtual com.oracle.truffle.polyglot.PolyglotContextImpl.getContext:(Lcom/oracle/truffle/polyglot/PolyglotLanguage;)Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
astore 3 /* languageContext */
start local 3 // com.oracle.truffle.polyglot.PolyglotLanguageContext languageContext
1: .line 413
aload 3 /* languageContext */
invokevirtual com.oracle.truffle.polyglot.PolyglotLanguageContext.getLanguageInstance:()Lcom/oracle/truffle/polyglot/PolyglotLanguageInstance;
getfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.contextThreadLocals:Ljava/util/List;
astore 4 /* locals */
start local 4 // java.util.List locals
2: .line 414
aload 4 /* locals */
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 6
StackMap locals: com.oracle.truffle.polyglot.PolyglotLocals$LanguageContextThreadLocal$Location com.oracle.truffle.polyglot.PolyglotContextImpl java.lang.Thread com.oracle.truffle.polyglot.PolyglotLanguageContext java.util.List top java.util.Iterator
StackMap stack:
3: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.polyglot.PolyglotLocals$LanguageContextThreadLocal
astore 5 /* local */
start local 5 // com.oracle.truffle.polyglot.PolyglotLocals$LanguageContextThreadLocal local
4: .line 415
aload 0 /* this */
getfield com.oracle.truffle.polyglot.PolyglotLocals$LanguageContextThreadLocal$Location.index:I
aload 5 /* local */
getfield com.oracle.truffle.polyglot.PolyglotLocals$LanguageContextThreadLocal.location:Lcom/oracle/truffle/polyglot/PolyglotLocals$LocalLocation;
getfield com.oracle.truffle.polyglot.PolyglotLocals$LocalLocation.index:I
if_icmpne 6
5: .line 416
getstatic com.oracle.truffle.polyglot.EngineAccessor.LANGUAGE:Lcom/oracle/truffle/api/impl/Accessor$LanguageSupport;
aload 5 /* local */
getfield com.oracle.truffle.polyglot.PolyglotLocals$LanguageContextThreadLocal.factory:Ljava/lang/Object;
aload 1 /* context */
aload 0 /* this */
getfield com.oracle.truffle.polyglot.PolyglotLocals$LanguageContextThreadLocal$Location.language:Lcom/oracle/truffle/polyglot/PolyglotLanguage;
invokevirtual com.oracle.truffle.polyglot.PolyglotContextImpl.getContextImpl:(Lcom/oracle/truffle/polyglot/PolyglotLanguage;)Ljava/lang/Object;
aload 2 /* thread */
invokevirtual com.oracle.truffle.api.impl.Accessor$LanguageSupport.invokeContextThreadLocalFactory:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Thread;)Ljava/lang/Object;
areturn
end local 5 // com.oracle.truffle.polyglot.PolyglotLocals$LanguageContextThreadLocal local
6: .line 414
StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
7: .line 419
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Local index "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0 /* this */
getfield com.oracle.truffle.polyglot.PolyglotLocals$LanguageContextThreadLocal$Location.index:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " not found in language instance locals."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 4 // java.util.List locals
end local 3 // com.oracle.truffle.polyglot.PolyglotLanguageContext languageContext
end local 2 // java.lang.Thread thread
end local 1 // com.oracle.truffle.polyglot.PolyglotContextImpl context
end local 0 // com.oracle.truffle.polyglot.PolyglotLocals$LanguageContextThreadLocal$Location this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/polyglot/PolyglotLocals$LanguageContextThreadLocal$Location;
0 8 1 context Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
0 8 2 thread Ljava/lang/Thread;
1 8 3 languageContext Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
2 8 4 locals Ljava/util/List<Lcom/oracle/truffle/polyglot/PolyglotLocals$LanguageContextThreadLocal<*>;>;
4 6 5 local Lcom/oracle/truffle/polyglot/PolyglotLocals$LanguageContextThreadLocal<*>;
MethodParameters:
Name Flags
context
thread
}
SourceFile: "PolyglotLocals.java"
NestHost: com.oracle.truffle.polyglot.PolyglotLocals
InnerClasses:
public abstract LanguageSupport = com.oracle.truffle.api.impl.Accessor$LanguageSupport of com.oracle.truffle.api.impl.Accessor
final LanguageContextThreadLocal = com.oracle.truffle.polyglot.PolyglotLocals$LanguageContextThreadLocal of com.oracle.truffle.polyglot.PolyglotLocals
private final Location = com.oracle.truffle.polyglot.PolyglotLocals$LanguageContextThreadLocal$Location of com.oracle.truffle.polyglot.PolyglotLocals$LanguageContextThreadLocal
abstract LocalLocation = com.oracle.truffle.polyglot.PolyglotLocals$LocalLocation of com.oracle.truffle.polyglot.PolyglotLocals