final class com.oracle.truffle.polyglot.PolyglotLanguageContext$Lazy
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.polyglot.PolyglotLanguageContext$Lazy
super_class: java.lang.Object
{
final com.oracle.truffle.polyglot.PolyglotSourceCache sourceCache;
descriptor: Lcom/oracle/truffle/polyglot/PolyglotSourceCache;
flags: (0x0010) ACC_FINAL
final java.util.Set<com.oracle.truffle.polyglot.PolyglotThread> activePolyglotThreads;
descriptor: Ljava/util/Set;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/Set<Lcom/oracle/truffle/polyglot/PolyglotThread;>;
final java.lang.Object polyglotGuestBindings;
descriptor: Ljava/lang/Object;
flags: (0x0010) ACC_FINAL
final java.util.Map<java.lang.Class<?>, com.oracle.truffle.polyglot.PolyglotValue> valueCache;
descriptor: Ljava/util/Map;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Class<*>;Lcom/oracle/truffle/polyglot/PolyglotValue;>;
final java.lang.Thread$UncaughtExceptionHandler uncaughtExceptionHandler;
descriptor: Ljava/lang/Thread$UncaughtExceptionHandler;
flags: (0x0010) ACC_FINAL
final com.oracle.truffle.polyglot.PolyglotLanguageInstance languageInstance;
descriptor: Lcom/oracle/truffle/polyglot/PolyglotLanguageInstance;
flags: (0x0010) ACC_FINAL
java.util.Map<java.lang.String, com.oracle.truffle.api.nodes.LanguageInfo> accessibleInternalLanguages;
descriptor: Ljava/util/Map;
flags: (0x0000)
Signature: Ljava/util/Map<Ljava/lang/String;Lcom/oracle/truffle/api/nodes/LanguageInfo;>;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
java.util.Map<java.lang.String, com.oracle.truffle.api.nodes.LanguageInfo> accessiblePublicLanguages;
descriptor: Ljava/util/Map;
flags: (0x0000)
Signature: Ljava/util/Map<Ljava/lang/String;Lcom/oracle/truffle/api/nodes/LanguageInfo;>;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
final java.lang.Object internalFileSystemContext;
descriptor: Ljava/lang/Object;
flags: (0x0010) ACC_FINAL
final java.lang.Object publicFileSystemContext;
descriptor: Ljava/lang/Object;
flags: (0x0010) ACC_FINAL
final com.oracle.truffle.polyglot.PolyglotLanguageContext this$0;
descriptor: Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
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.PolyglotLanguageContext$Lazy.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(com.oracle.truffle.polyglot.PolyglotLanguageContext, com.oracle.truffle.polyglot.PolyglotLanguageInstance, com.oracle.truffle.polyglot.PolyglotContextConfig);
descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Lcom/oracle/truffle/polyglot/PolyglotLanguageInstance;Lcom/oracle/truffle/polyglot/PolyglotContextConfig;)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=4
start local 0 start local 2 start local 3 0: aload 0
aload 1
putfield com.oracle.truffle.polyglot.PolyglotLanguageContext$Lazy.this$0:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
putfield com.oracle.truffle.polyglot.PolyglotLanguageContext$Lazy.languageInstance:Lcom/oracle/truffle/polyglot/PolyglotLanguageInstance;
2: aload 0
aload 2
invokevirtual com.oracle.truffle.polyglot.PolyglotLanguageInstance.getSourceCache:()Lcom/oracle/truffle/polyglot/PolyglotSourceCache;
putfield com.oracle.truffle.polyglot.PolyglotLanguageContext$Lazy.sourceCache:Lcom/oracle/truffle/polyglot/PolyglotSourceCache;
3: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield com.oracle.truffle.polyglot.PolyglotLanguageContext$Lazy.activePolyglotThreads:Ljava/util/Set;
4: aload 0
new com.oracle.truffle.polyglot.PolyglotBindings
dup
aload 1
invokespecial com.oracle.truffle.polyglot.PolyglotBindings.<init>:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)V
putfield com.oracle.truffle.polyglot.PolyglotLanguageContext$Lazy.polyglotGuestBindings:Ljava/lang/Object;
5: aload 0
new com.oracle.truffle.polyglot.PolyglotLanguageContext$PolyglotUncaughtExceptionHandler
dup
aload 1
invokespecial com.oracle.truffle.polyglot.PolyglotLanguageContext$PolyglotUncaughtExceptionHandler.<init>:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)V
putfield com.oracle.truffle.polyglot.PolyglotLanguageContext$Lazy.uncaughtExceptionHandler:Ljava/lang/Thread$UncaughtExceptionHandler;
6: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield com.oracle.truffle.polyglot.PolyglotLanguageContext$Lazy.valueCache:Ljava/util/Map;
7: aload 0
aload 3
invokevirtual com.oracle.truffle.polyglot.PolyglotLanguageContext$Lazy.computeAccessPermissions:(Lcom/oracle/truffle/polyglot/PolyglotContextConfig;)V
8: aload 0
getstatic com.oracle.truffle.polyglot.EngineAccessor.LANGUAGE:Lcom/oracle/truffle/api/impl/Accessor$LanguageSupport;
aload 1
aload 3
getfield com.oracle.truffle.polyglot.PolyglotContextConfig.fileSystem:Lorg/graalvm/polyglot/io/FileSystem;
invokevirtual com.oracle.truffle.api.impl.Accessor$LanguageSupport.createFileSystemContext:(Ljava/lang/Object;Lorg/graalvm/polyglot/io/FileSystem;)Ljava/lang/Object;
putfield com.oracle.truffle.polyglot.PolyglotLanguageContext$Lazy.publicFileSystemContext:Ljava/lang/Object;
9: aload 0
getstatic com.oracle.truffle.polyglot.EngineAccessor.LANGUAGE:Lcom/oracle/truffle/api/impl/Accessor$LanguageSupport;
aload 1
aload 3
getfield com.oracle.truffle.polyglot.PolyglotContextConfig.internalFileSystem:Lorg/graalvm/polyglot/io/FileSystem;
invokevirtual com.oracle.truffle.api.impl.Accessor$LanguageSupport.createFileSystemContext:(Ljava/lang/Object;Lorg/graalvm/polyglot/io/FileSystem;)Ljava/lang/Object;
putfield com.oracle.truffle.polyglot.PolyglotLanguageContext$Lazy.internalFileSystemContext:Ljava/lang/Object;
10: return
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/polyglot/PolyglotLanguageContext$Lazy;
0 11 2 languageInstance Lcom/oracle/truffle/polyglot/PolyglotLanguageInstance;
0 11 3 config Lcom/oracle/truffle/polyglot/PolyglotContextConfig;
MethodParameters:
Name Flags
this$0 final
languageInstance
config
void computeAccessPermissions(com.oracle.truffle.polyglot.PolyglotContextConfig);
descriptor: (Lcom/oracle/truffle/polyglot/PolyglotContextConfig;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
aload 1
iconst_1
invokevirtual com.oracle.truffle.polyglot.PolyglotLanguageContext$Lazy.computeAccessibleLanguages:(Lcom/oracle/truffle/polyglot/PolyglotContextConfig;Z)Ljava/util/Map;
putfield com.oracle.truffle.polyglot.PolyglotLanguageContext$Lazy.accessibleInternalLanguages:Ljava/util/Map;
1: aload 0
aload 0
aload 1
iconst_0
invokevirtual com.oracle.truffle.polyglot.PolyglotLanguageContext$Lazy.computeAccessibleLanguages:(Lcom/oracle/truffle/polyglot/PolyglotContextConfig;Z)Ljava/util/Map;
putfield com.oracle.truffle.polyglot.PolyglotLanguageContext$Lazy.accessiblePublicLanguages:Ljava/util/Map;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/polyglot/PolyglotLanguageContext$Lazy;
0 3 1 config Lcom/oracle/truffle/polyglot/PolyglotContextConfig;
MethodParameters:
Name Flags
config
private java.util.Map<java.lang.String, com.oracle.truffle.api.nodes.LanguageInfo> computeAccessibleLanguages(com.oracle.truffle.polyglot.PolyglotContextConfig, boolean);
descriptor: (Lcom/oracle/truffle/polyglot/PolyglotContextConfig;Z)Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=12, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.polyglot.PolyglotLanguageContext$Lazy.languageInstance:Lcom/oracle/truffle/polyglot/PolyglotLanguageInstance;
getfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.language:Lcom/oracle/truffle/polyglot/PolyglotLanguage;
astore 3
start local 3 1: aload 3
invokevirtual com.oracle.truffle.polyglot.PolyglotLanguage.isHost:()Z
ifeq 3
2: aload 0
getfield com.oracle.truffle.polyglot.PolyglotLanguageContext$Lazy.languageInstance:Lcom/oracle/truffle/polyglot/PolyglotLanguageInstance;
invokevirtual com.oracle.truffle.polyglot.PolyglotLanguageInstance.getEngine:()Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
getfield com.oracle.truffle.polyglot.PolyglotEngineImpl.idToInternalLanguageInfo:Ljava/util/Map;
areturn
3: StackMap locals: com.oracle.truffle.polyglot.PolyglotLanguage
StackMap stack:
aload 1
getfield com.oracle.truffle.polyglot.PolyglotContextConfig.allowedPublicLanguages:Lorg/graalvm/collections/EconomicSet;
invokeinterface org.graalvm.collections.EconomicSet.isEmpty:()Z
istore 4
start local 4 4: aload 0
getfield com.oracle.truffle.polyglot.PolyglotLanguageContext$Lazy.languageInstance:Lcom/oracle/truffle/polyglot/PolyglotLanguageInstance;
invokevirtual com.oracle.truffle.polyglot.PolyglotLanguageInstance.getEngine:()Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
astore 5
start local 5 5: aload 5
invokevirtual com.oracle.truffle.polyglot.PolyglotEngineImpl.getAPIAccess:()Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl$APIAccess;
aload 1
getfield com.oracle.truffle.polyglot.PolyglotContextConfig.polyglotAccess:Lorg/graalvm/polyglot/PolyglotAccess;
aload 3
invokevirtual com.oracle.truffle.polyglot.PolyglotLanguage.getId:()Ljava/lang/String;
invokevirtual org.graalvm.polyglot.impl.AbstractPolyglotImpl$APIAccess.getEvalAccess:(Lorg/graalvm/polyglot/PolyglotAccess;Ljava/lang/String;)Lorg/graalvm/collections/UnmodifiableEconomicSet;
astore 6
start local 6 6: iload 4
ifeq 16
7: aload 6
ifnonnull 13
8: iload 2
ifeq 10
9: aload 5
getfield com.oracle.truffle.polyglot.PolyglotEngineImpl.idToInternalLanguageInfo:Ljava/util/Map;
areturn
10: StackMap locals: int com.oracle.truffle.polyglot.PolyglotEngineImpl org.graalvm.collections.UnmodifiableEconomicSet
StackMap stack:
getstatic org.graalvm.collections.Equivalence.DEFAULT:Lorg/graalvm/collections/Equivalence;
aload 6
invokestatic org.graalvm.collections.EconomicSet.create:(Lorg/graalvm/collections/Equivalence;Lorg/graalvm/collections/UnmodifiableEconomicSet;)Lorg/graalvm/collections/EconomicSet;
astore 7
start local 7 11: aload 7
aload 5
getfield com.oracle.truffle.polyglot.PolyglotEngineImpl.idToInternalLanguageInfo:Ljava/util/Map;
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokeinterface org.graalvm.collections.EconomicSet.addAll:(Ljava/lang/Iterable;)V
12: goto 20
end local 7 13: StackMap locals:
StackMap stack:
getstatic org.graalvm.collections.Equivalence.DEFAULT:Lorg/graalvm/collections/Equivalence;
aload 6
invokestatic org.graalvm.collections.EconomicSet.create:(Lorg/graalvm/collections/Equivalence;Lorg/graalvm/collections/UnmodifiableEconomicSet;)Lorg/graalvm/collections/EconomicSet;
astore 7
start local 7 14: aload 7
aload 3
invokevirtual com.oracle.truffle.polyglot.PolyglotLanguage.getId:()Ljava/lang/String;
invokeinterface org.graalvm.collections.EconomicSet.add:(Ljava/lang/Object;)Z
pop
15: goto 20
end local 7 16: StackMap locals:
StackMap stack:
aload 6
ifnonnull 18
17: aload 1
getfield com.oracle.truffle.polyglot.PolyglotContextConfig.allowedPublicLanguages:Lorg/graalvm/collections/EconomicSet;
astore 6
18: StackMap locals:
StackMap stack:
getstatic org.graalvm.collections.Equivalence.DEFAULT:Lorg/graalvm/collections/Equivalence;
aload 6
invokestatic org.graalvm.collections.EconomicSet.create:(Lorg/graalvm/collections/Equivalence;Lorg/graalvm/collections/UnmodifiableEconomicSet;)Lorg/graalvm/collections/EconomicSet;
astore 7
start local 7 19: aload 7
aload 3
invokevirtual com.oracle.truffle.polyglot.PolyglotLanguage.getId:()Ljava/lang/String;
invokeinterface org.graalvm.collections.EconomicSet.add:(Ljava/lang/Object;)Z
pop
20: StackMap locals: org.graalvm.collections.EconomicSet
StackMap stack:
new java.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
astore 8
start local 8 21: aload 7
invokeinterface org.graalvm.collections.EconomicSet.iterator:()Ljava/util/Iterator;
astore 10
goto 28
StackMap locals: com.oracle.truffle.polyglot.PolyglotLanguageContext$Lazy com.oracle.truffle.polyglot.PolyglotContextConfig int com.oracle.truffle.polyglot.PolyglotLanguage int com.oracle.truffle.polyglot.PolyglotEngineImpl org.graalvm.collections.UnmodifiableEconomicSet org.graalvm.collections.EconomicSet java.util.Map top java.util.Iterator
StackMap stack:
22: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 9
start local 9 23: aload 5
getfield com.oracle.truffle.polyglot.PolyglotEngineImpl.idToLanguage:Ljava/util/Map;
aload 9
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.polyglot.PolyglotLanguage
astore 11
start local 11 24: aload 11
ifnull 28
25: iload 2
ifne 27
aload 11
getfield com.oracle.truffle.polyglot.PolyglotLanguage.cache:Lcom/oracle/truffle/polyglot/LanguageCache;
invokevirtual com.oracle.truffle.polyglot.LanguageCache.isInternal:()Z
ifeq 27
26: goto 28
27: StackMap locals: com.oracle.truffle.polyglot.PolyglotLanguageContext$Lazy com.oracle.truffle.polyglot.PolyglotContextConfig int com.oracle.truffle.polyglot.PolyglotLanguage int com.oracle.truffle.polyglot.PolyglotEngineImpl org.graalvm.collections.UnmodifiableEconomicSet org.graalvm.collections.EconomicSet java.util.Map java.lang.String java.util.Iterator com.oracle.truffle.polyglot.PolyglotLanguage
StackMap stack:
aload 8
aload 9
aload 11
getfield com.oracle.truffle.polyglot.PolyglotLanguage.info:Lcom/oracle/truffle/api/nodes/LanguageInfo;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 11 end local 9 28: StackMap locals: com.oracle.truffle.polyglot.PolyglotLanguageContext$Lazy com.oracle.truffle.polyglot.PolyglotContextConfig int com.oracle.truffle.polyglot.PolyglotLanguage int com.oracle.truffle.polyglot.PolyglotEngineImpl org.graalvm.collections.UnmodifiableEconomicSet org.graalvm.collections.EconomicSet java.util.Map top java.util.Iterator
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 22
29: iload 2
ifeq 31
30: aload 0
aload 5
aload 8
aload 3
invokevirtual com.oracle.truffle.polyglot.PolyglotLanguageContext$Lazy.addDependentLanguages:(Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;Ljava/util/Map;Lcom/oracle/truffle/polyglot/PolyglotLanguage;)V
31: StackMap locals: com.oracle.truffle.polyglot.PolyglotLanguageContext$Lazy com.oracle.truffle.polyglot.PolyglotContextConfig int com.oracle.truffle.polyglot.PolyglotLanguage int com.oracle.truffle.polyglot.PolyglotEngineImpl org.graalvm.collections.UnmodifiableEconomicSet org.graalvm.collections.EconomicSet java.util.Map
StackMap stack:
iload 2
ifeq 38
32: aload 0
getfield com.oracle.truffle.polyglot.PolyglotLanguageContext$Lazy.languageInstance:Lcom/oracle/truffle/polyglot/PolyglotLanguageInstance;
invokevirtual com.oracle.truffle.polyglot.PolyglotLanguageInstance.getEngine:()Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
getfield com.oracle.truffle.polyglot.PolyglotEngineImpl.idToLanguage:Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 10
goto 36
StackMap locals: com.oracle.truffle.polyglot.PolyglotLanguageContext$Lazy com.oracle.truffle.polyglot.PolyglotContextConfig int com.oracle.truffle.polyglot.PolyglotLanguage int com.oracle.truffle.polyglot.PolyglotEngineImpl org.graalvm.collections.UnmodifiableEconomicSet org.graalvm.collections.EconomicSet java.util.Map top java.util.Iterator
StackMap stack:
33: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 9
start local 9 34: aload 9
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast com.oracle.truffle.polyglot.PolyglotLanguage
getfield com.oracle.truffle.polyglot.PolyglotLanguage.cache:Lcom/oracle/truffle/polyglot/LanguageCache;
invokevirtual com.oracle.truffle.polyglot.LanguageCache.isInternal:()Z
ifeq 36
35: aload 8
aload 9
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
aload 9
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast com.oracle.truffle.polyglot.PolyglotLanguage
getfield com.oracle.truffle.polyglot.PolyglotLanguage.info:Lcom/oracle/truffle/api/nodes/LanguageInfo;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 9 36: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 33
37: getstatic com.oracle.truffle.polyglot.PolyglotLanguageContext$Lazy.$assertionsDisabled:Z
ifne 38
aload 0
aload 8
aload 0
getfield com.oracle.truffle.polyglot.PolyglotLanguageContext$Lazy.languageInstance:Lcom/oracle/truffle/polyglot/PolyglotLanguageInstance;
getfield com.oracle.truffle.polyglot.PolyglotLanguageInstance.language:Lcom/oracle/truffle/polyglot/PolyglotLanguage;
aload 1
invokevirtual com.oracle.truffle.polyglot.PolyglotLanguageContext$Lazy.assertPermissionsConsistent:(Ljava/util/Map;Lcom/oracle/truffle/polyglot/PolyglotLanguage;Lcom/oracle/truffle/polyglot/PolyglotContextConfig;)Z
ifne 38
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
38: StackMap locals: com.oracle.truffle.polyglot.PolyglotLanguageContext$Lazy com.oracle.truffle.polyglot.PolyglotContextConfig int com.oracle.truffle.polyglot.PolyglotLanguage int com.oracle.truffle.polyglot.PolyglotEngineImpl org.graalvm.collections.UnmodifiableEconomicSet org.graalvm.collections.EconomicSet java.util.Map
StackMap stack:
aload 8
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 this Lcom/oracle/truffle/polyglot/PolyglotLanguageContext$Lazy;
0 39 1 config Lcom/oracle/truffle/polyglot/PolyglotContextConfig;
0 39 2 internal Z
1 39 3 thisLanguage Lcom/oracle/truffle/polyglot/PolyglotLanguage;
4 39 4 embedderAllAccess Z
5 39 5 engine Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
6 39 6 configuredAccess Lorg/graalvm/collections/UnmodifiableEconomicSet<Ljava/lang/String;>;
11 13 7 resolveLanguages Lorg/graalvm/collections/EconomicSet<Ljava/lang/String;>;
14 16 7 resolveLanguages Lorg/graalvm/collections/EconomicSet<Ljava/lang/String;>;
19 39 7 resolveLanguages Lorg/graalvm/collections/EconomicSet<Ljava/lang/String;>;
21 39 8 resolvedLanguages Ljava/util/Map<Ljava/lang/String;Lcom/oracle/truffle/api/nodes/LanguageInfo;>;
23 28 9 id Ljava/lang/String;
24 28 11 resolvedLanguage Lcom/oracle/truffle/polyglot/PolyglotLanguage;
34 36 9 entry Ljava/util/Map$Entry<Ljava/lang/String;Lcom/oracle/truffle/polyglot/PolyglotLanguage;>;
Signature: (Lcom/oracle/truffle/polyglot/PolyglotContextConfig;Z)Ljava/util/Map<Ljava/lang/String;Lcom/oracle/truffle/api/nodes/LanguageInfo;>;
MethodParameters:
Name Flags
config
internal
private boolean assertPermissionsConsistent(java.util.Map<java.lang.String, com.oracle.truffle.api.nodes.LanguageInfo>, com.oracle.truffle.polyglot.PolyglotLanguage, com.oracle.truffle.polyglot.PolyglotContextConfig);
descriptor: (Ljava/util/Map;Lcom/oracle/truffle/polyglot/PolyglotLanguage;Lcom/oracle/truffle/polyglot/PolyglotContextConfig;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.oracle.truffle.polyglot.PolyglotLanguageContext$Lazy.languageInstance:Lcom/oracle/truffle/polyglot/PolyglotLanguageInstance;
invokevirtual com.oracle.truffle.polyglot.PolyglotLanguageInstance.getEngine:()Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
getfield com.oracle.truffle.polyglot.PolyglotEngineImpl.idToLanguage:Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 4
StackMap locals: com.oracle.truffle.polyglot.PolyglotLanguageContext$Lazy java.util.Map com.oracle.truffle.polyglot.PolyglotLanguage com.oracle.truffle.polyglot.PolyglotContextConfig top java.util.Iterator
StackMap stack:
1: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 4
start local 4 2: aload 3
aload 2
aload 4
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast com.oracle.truffle.polyglot.PolyglotLanguage
invokevirtual com.oracle.truffle.polyglot.PolyglotContextConfig.isAccessPermitted:(Lcom/oracle/truffle/polyglot/PolyglotLanguage;Lcom/oracle/truffle/polyglot/PolyglotLanguage;)Z
istore 6
start local 6 3: getstatic com.oracle.truffle.polyglot.PolyglotLanguageContext$Lazy.$assertionsDisabled:Z
ifne 4
iload 6
aload 1
aload 4
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
if_icmpeq 4
new java.lang.AssertionError
dup
ldc "inconsistent access permissions"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 6 end local 4 4: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/polyglot/PolyglotLanguageContext$Lazy;
0 6 1 resolvedLanguages Ljava/util/Map<Ljava/lang/String;Lcom/oracle/truffle/api/nodes/LanguageInfo;>;
0 6 2 thisLanguage Lcom/oracle/truffle/polyglot/PolyglotLanguage;
0 6 3 config Lcom/oracle/truffle/polyglot/PolyglotContextConfig;
2 4 4 entry Ljava/util/Map$Entry<Ljava/lang/String;Lcom/oracle/truffle/polyglot/PolyglotLanguage;>;
3 4 6 permitted Z
Signature: (Ljava/util/Map<Ljava/lang/String;Lcom/oracle/truffle/api/nodes/LanguageInfo;>;Lcom/oracle/truffle/polyglot/PolyglotLanguage;Lcom/oracle/truffle/polyglot/PolyglotContextConfig;)Z
MethodParameters:
Name Flags
resolvedLanguages
thisLanguage
config
private void addDependentLanguages(com.oracle.truffle.polyglot.PolyglotEngineImpl, java.util.Map<java.lang.String, com.oracle.truffle.api.nodes.LanguageInfo>, com.oracle.truffle.polyglot.PolyglotLanguage);
descriptor: (Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;Ljava/util/Map;Lcom/oracle/truffle/polyglot/PolyglotLanguage;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
getfield com.oracle.truffle.polyglot.PolyglotLanguage.cache:Lcom/oracle/truffle/polyglot/LanguageCache;
invokevirtual com.oracle.truffle.polyglot.LanguageCache.getDependentLanguages:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 9
StackMap locals: com.oracle.truffle.polyglot.PolyglotLanguageContext$Lazy com.oracle.truffle.polyglot.PolyglotEngineImpl java.util.Map com.oracle.truffle.polyglot.PolyglotLanguage top java.util.Iterator
StackMap stack:
1: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 2: aload 1
getfield com.oracle.truffle.polyglot.PolyglotEngineImpl.idToLanguage:Ljava/util/Map;
aload 4
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.polyglot.PolyglotLanguage
astore 6
start local 6 3: aload 6
ifnonnull 5
4: goto 9
5: StackMap locals: com.oracle.truffle.polyglot.PolyglotLanguageContext$Lazy com.oracle.truffle.polyglot.PolyglotEngineImpl java.util.Map com.oracle.truffle.polyglot.PolyglotLanguage java.lang.String java.util.Iterator com.oracle.truffle.polyglot.PolyglotLanguage
StackMap stack:
aload 2
aload 4
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 7
6: goto 9
7: StackMap locals:
StackMap stack:
aload 2
aload 4
aload 6
getfield com.oracle.truffle.polyglot.PolyglotLanguage.info:Lcom/oracle/truffle/api/nodes/LanguageInfo;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: aload 0
aload 1
aload 2
aload 6
invokevirtual com.oracle.truffle.polyglot.PolyglotLanguageContext$Lazy.addDependentLanguages:(Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;Ljava/util/Map;Lcom/oracle/truffle/polyglot/PolyglotLanguage;)V
end local 6 end local 4 9: StackMap locals: com.oracle.truffle.polyglot.PolyglotLanguageContext$Lazy com.oracle.truffle.polyglot.PolyglotEngineImpl java.util.Map com.oracle.truffle.polyglot.PolyglotLanguage top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
10: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/polyglot/PolyglotLanguageContext$Lazy;
0 11 1 engine Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
0 11 2 resolvedLanguages Ljava/util/Map<Ljava/lang/String;Lcom/oracle/truffle/api/nodes/LanguageInfo;>;
0 11 3 currentLanguage Lcom/oracle/truffle/polyglot/PolyglotLanguage;
2 9 4 dependentLanguage Ljava/lang/String;
3 9 6 dependent Lcom/oracle/truffle/polyglot/PolyglotLanguage;
Signature: (Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;Ljava/util/Map<Ljava/lang/String;Lcom/oracle/truffle/api/nodes/LanguageInfo;>;Lcom/oracle/truffle/polyglot/PolyglotLanguage;)V
MethodParameters:
Name Flags
engine
resolvedLanguages
currentLanguage
}
SourceFile: "PolyglotLanguageContext.java"
NestHost: com.oracle.truffle.polyglot.PolyglotLanguageContext
InnerClasses:
public abstract CompilationFinal = com.oracle.truffle.api.CompilerDirectives$CompilationFinal of com.oracle.truffle.api.CompilerDirectives
public abstract LanguageSupport = com.oracle.truffle.api.impl.Accessor$LanguageSupport of com.oracle.truffle.api.impl.Accessor
final Lazy = com.oracle.truffle.polyglot.PolyglotLanguageContext$Lazy of com.oracle.truffle.polyglot.PolyglotLanguageContext
private PolyglotUncaughtExceptionHandler = com.oracle.truffle.polyglot.PolyglotLanguageContext$PolyglotUncaughtExceptionHandler of com.oracle.truffle.polyglot.PolyglotLanguageContext
public abstract UncaughtExceptionHandler = java.lang.Thread$UncaughtExceptionHandler of java.lang.Thread
public abstract Entry = java.util.Map$Entry of java.util.Map
public abstract APIAccess = org.graalvm.polyglot.impl.AbstractPolyglotImpl$APIAccess of org.graalvm.polyglot.impl.AbstractPolyglotImpl