public abstract class com.oracle.truffle.api.TruffleLanguage<C>
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.api.TruffleLanguage
super_class: java.lang.Object
{
com.oracle.truffle.api.nodes.LanguageInfo languageInfo;
descriptor: Lcom/oracle/truffle/api/nodes/LanguageInfo;
flags: (0x0000)
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
com.oracle.truffle.api.TruffleLanguage$ContextReference<java.lang.Object> reference;
descriptor: Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;
flags: (0x0000)
Signature: Lcom/oracle/truffle/api/TruffleLanguage$ContextReference<Ljava/lang/Object;>;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
java.lang.Object polyglotLanguageInstance;
descriptor: Ljava/lang/Object;
flags: (0x0000)
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
java.util.List<com.oracle.truffle.api.ContextThreadLocal<?>> contextThreadLocals;
descriptor: Ljava/util/List;
flags: (0x0000)
Signature: Ljava/util/List<Lcom/oracle/truffle/api/ContextThreadLocal<*>;>;
java.util.List<com.oracle.truffle.api.ContextLocal<?>> contextLocals;
descriptor: Ljava/util/List;
flags: (0x0000)
Signature: Ljava/util/List<Lcom/oracle/truffle/api/ContextLocal<*>;>;
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/api/TruffleLanguage;
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.api.TruffleLanguage.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/TruffleLanguage<TC;>;
protected boolean areOptionsCompatible(org.graalvm.options.OptionValues, org.graalvm.options.OptionValues);
descriptor: (Lorg/graalvm/options/OptionValues;Lorg/graalvm/options/OptionValues;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/TruffleLanguage<TC;>;
0 1 1 firstOptions Lorg/graalvm/options/OptionValues;
0 1 2 newOptions Lorg/graalvm/options/OptionValues;
MethodParameters:
Name Flags
firstOptions
newOptions
protected abstract C createContext(com.oracle.truffle.api.TruffleLanguage$Env);
descriptor: (Lcom/oracle/truffle/api/TruffleLanguage$Env;)Ljava/lang/Object;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: (Lcom/oracle/truffle/api/TruffleLanguage$Env;)TC;
MethodParameters:
Name Flags
env
protected void initializeContext();
descriptor: (Ljava/lang/Object;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/TruffleLanguage<TC;>;
0 1 1 context TC;
Exceptions:
throws java.lang.Exception
Signature: (TC;)V
MethodParameters:
Name Flags
context
protected void finalizeContext();
descriptor: (Ljava/lang/Object;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/TruffleLanguage<TC;>;
0 1 1 context TC;
Signature: (TC;)V
MethodParameters:
Name Flags
context
protected boolean initializeMultiContext();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/TruffleLanguage<TC;>;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
protected void initializeMultipleContexts();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/TruffleLanguage<TC;>;
protected void disposeContext();
descriptor: (Ljava/lang/Object;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/TruffleLanguage<TC;>;
0 1 1 context TC;
Signature: (TC;)V
MethodParameters:
Name Flags
context
protected com.oracle.truffle.api.CallTarget parse(com.oracle.truffle.api.TruffleLanguage$ParsingRequest);
descriptor: (Lcom/oracle/truffle/api/TruffleLanguage$ParsingRequest;)Lcom/oracle/truffle/api/CallTarget;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.UnsupportedOperationException
dup
1: ldc "Override parse method of %s, it will be made abstract in future version of Truffle API!"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
2: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/api/TruffleLanguage<TC;>;
0 3 1 request Lcom/oracle/truffle/api/TruffleLanguage$ParsingRequest;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
request
protected com.oracle.truffle.api.nodes.ExecutableNode parse(com.oracle.truffle.api.TruffleLanguage$InlineParsingRequest);
descriptor: (Lcom/oracle/truffle/api/TruffleLanguage$InlineParsingRequest;)Lcom/oracle/truffle/api/nodes/ExecutableNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/TruffleLanguage<TC;>;
0 1 1 request Lcom/oracle/truffle/api/TruffleLanguage$InlineParsingRequest;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
request
protected org.graalvm.options.OptionDescriptors getOptionDescriptors();
descriptor: ()Lorg/graalvm/options/OptionDescriptors;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic org.graalvm.options.OptionDescriptors.EMPTY:Lorg/graalvm/options/OptionDescriptors;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/TruffleLanguage<TC;>;
protected boolean patchContext(C, com.oracle.truffle.api.TruffleLanguage$Env);
descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/api/TruffleLanguage$Env;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/TruffleLanguage<TC;>;
0 1 1 context TC;
0 1 2 newEnv Lcom/oracle/truffle/api/TruffleLanguage$Env;
Signature: (TC;Lcom/oracle/truffle/api/TruffleLanguage$Env;)Z
MethodParameters:
Name Flags
context
newEnv
protected findExportedSymbol(C, java.lang.String, boolean);
descriptor: (Ljava/lang/Object;Ljava/lang/String;Z)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/TruffleLanguage<TC;>;
0 1 1 context TC;
0 1 2 globalName Ljava/lang/String;
0 1 3 onlyExplicit Z
Signature: (TC;Ljava/lang/String;Z)Ljava/lang/Object;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
context
globalName
onlyExplicit
protected boolean isThreadAccessAllowed(java.lang.Thread, boolean);
descriptor: (Ljava/lang/Thread;Z)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/TruffleLanguage<TC;>;
0 1 1 thread Ljava/lang/Thread;
0 1 2 singleThreaded Z
MethodParameters:
Name Flags
thread
singleThreaded
protected void initializeMultiThreading();
descriptor: (Ljava/lang/Object;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/TruffleLanguage<TC;>;
0 1 1 context TC;
Signature: (TC;)V
MethodParameters:
Name Flags
context
protected void initializeThread(C, java.lang.Thread);
descriptor: (Ljava/lang/Object;Ljava/lang/Thread;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=3, args_size=3
start local 0 start local 1 start local 2 0: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/TruffleLanguage<TC;>;
0 1 1 context TC;
0 1 2 thread Ljava/lang/Thread;
Signature: (TC;Ljava/lang/Thread;)V
MethodParameters:
Name Flags
context
thread
protected void disposeThread(C, java.lang.Thread);
descriptor: (Ljava/lang/Object;Ljava/lang/Thread;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=3, args_size=3
start local 0 start local 1 start local 2 0: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/TruffleLanguage<TC;>;
0 1 1 context TC;
0 1 2 thread Ljava/lang/Thread;
Signature: (TC;Ljava/lang/Thread;)V
MethodParameters:
Name Flags
context
thread
protected getLanguageGlobal(C);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/TruffleLanguage<TC;>;
0 1 1 context TC;
Signature: (TC;)Ljava/lang/Object;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
context
protected boolean isObjectOfLanguage(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/TruffleLanguage<TC;>;
0 1 1 object Ljava/lang/Object;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
object
protected java.lang.Iterable<com.oracle.truffle.api.Scope> findLocalScopes(C, com.oracle.truffle.api.nodes.Node, com.oracle.truffle.api.frame.Frame);
descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/frame/Frame;)Ljava/lang/Iterable;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic com.oracle.truffle.api.TruffleLanguage.$assertionsDisabled:Z
ifne 1
aload 2
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.api.LanguageAccessor.engineAccess:()Lcom/oracle/truffle/api/impl/Accessor$EngineSupport;
aload 2
aload 3
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual com.oracle.truffle.api.impl.Accessor$EngineSupport.createDefaultLexicalScope:(Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/frame/Frame;Ljava/lang/Class;)Ljava/lang/Iterable;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/TruffleLanguage<TC;>;
0 2 1 context TC;
0 2 2 node Lcom/oracle/truffle/api/nodes/Node;
0 2 3 frame Lcom/oracle/truffle/api/frame/Frame;
Signature: (TC;Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/frame/Frame;)Ljava/lang/Iterable<Lcom/oracle/truffle/api/Scope;>;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
context
node
frame
protected java.lang.Iterable<com.oracle.truffle.api.Scope> findTopScopes(C);
descriptor: (Ljava/lang/Object;)Ljava/lang/Iterable;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.api.TruffleLanguage.getLanguageGlobal:(Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 1: invokestatic com.oracle.truffle.api.LanguageAccessor.engineAccess:()Lcom/oracle/truffle/api/impl/Accessor$EngineSupport;
aload 2
invokevirtual com.oracle.truffle.api.impl.Accessor$EngineSupport.createDefaultTopScope:(Ljava/lang/Object;)Ljava/lang/Iterable;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/TruffleLanguage<TC;>;
0 2 1 context TC;
1 2 2 global Ljava/lang/Object;
Signature: (TC;)Ljava/lang/Iterable<Lcom/oracle/truffle/api/Scope;>;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
context
protected getScope(C);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.api.TruffleLanguage.findTopScopes:(Ljava/lang/Object;)Ljava/lang/Iterable;
astore 2
start local 2 1: invokestatic com.oracle.truffle.api.LanguageAccessor.engineAccess:()Lcom/oracle/truffle/api/impl/Accessor$EngineSupport;
aconst_null
aload 2
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual com.oracle.truffle.api.impl.Accessor$EngineSupport.legacyScopes2ScopeObject:(Lcom/oracle/truffle/api/nodes/NodeInterface;Ljava/util/Iterator;Ljava/lang/Class;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/TruffleLanguage<TC;>;
0 2 1 context TC;
1 2 2 legacyScopes Ljava/lang/Iterable<Lcom/oracle/truffle/api/Scope;>;
Signature: (TC;)Ljava/lang/Object;
MethodParameters:
Name Flags
context
protected java.lang.String toString(C, );
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokestatic java.util.Objects.toString:(Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/TruffleLanguage<TC;>;
0 1 1 context TC;
0 1 2 value Ljava/lang/Object;
Signature: (TC;Ljava/lang/Object;)Ljava/lang/String;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
context
value
protected boolean isVisible(C, );
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/TruffleLanguage<TC;>;
0 1 1 context TC;
0 1 2 value Ljava/lang/Object;
Signature: (TC;Ljava/lang/Object;)Z
MethodParameters:
Name Flags
context
value
protected getLanguageView(C, );
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/TruffleLanguage<TC;>;
0 1 1 context TC;
0 1 2 value Ljava/lang/Object;
Signature: (TC;Ljava/lang/Object;)Ljava/lang/Object;
MethodParameters:
Name Flags
context
value
protected getScopedView(C, com.oracle.truffle.api.nodes.Node, com.oracle.truffle.api.frame.Frame, );
descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/frame/Frame;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/TruffleLanguage<TC;>;
0 1 1 context TC;
0 1 2 location Lcom/oracle/truffle/api/nodes/Node;
0 1 3 frame Lcom/oracle/truffle/api/frame/Frame;
0 1 4 value Ljava/lang/Object;
Signature: (TC;Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/frame/Frame;Ljava/lang/Object;)Ljava/lang/Object;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
context
location
frame
value
protected findMetaObject(C, );
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/TruffleLanguage<TC;>;
0 1 1 context TC;
0 1 2 value Ljava/lang/Object;
Signature: (TC;Ljava/lang/Object;)Ljava/lang/Object;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
context
value
protected com.oracle.truffle.api.source.SourceSection findSourceLocation(C, );
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Lcom/oracle/truffle/api/source/SourceSection;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/TruffleLanguage<TC;>;
0 1 1 context TC;
0 1 2 value Ljava/lang/Object;
Signature: (TC;Ljava/lang/Object;)Lcom/oracle/truffle/api/source/SourceSection;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
context
value
public final com.oracle.truffle.api.TruffleLanguage$ContextReference<C> getContextReference();
descriptor: ()Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.TruffleLanguage.reference:Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;
ifnonnull 2
1: new java.lang.IllegalStateException
dup
ldc "TruffleLanguage instance is not initialized. Cannot get the current context reference."
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.TruffleLanguage.reference:Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/api/TruffleLanguage<TC;>;
Signature: ()Lcom/oracle/truffle/api/TruffleLanguage$ContextReference<TC;>;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
com.oracle.truffle.api.CallTarget parse(com.oracle.truffle.api.source.Source, java.lang.String[]);
descriptor: (Lcom/oracle/truffle/api/source/Source;[Ljava/lang/String;)Lcom/oracle/truffle/api/CallTarget;
flags: (0x0080) ACC_VARARGS
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: new com.oracle.truffle.api.TruffleLanguage$ParsingRequest
dup
aload 1
aload 2
invokespecial com.oracle.truffle.api.TruffleLanguage$ParsingRequest.<init>:(Lcom/oracle/truffle/api/source/Source;[Ljava/lang/String;)V
astore 3
start local 3 1: aload 3
aload 0
invokevirtual com.oracle.truffle.api.TruffleLanguage$ParsingRequest.parse:(Lcom/oracle/truffle/api/TruffleLanguage;)Lcom/oracle/truffle/api/CallTarget;
astore 4
start local 4 2: goto 10
end local 4 StackMap locals: com.oracle.truffle.api.TruffleLanguage com.oracle.truffle.api.source.Source java.lang.String[] com.oracle.truffle.api.TruffleLanguage$ParsingRequest
StackMap stack: java.lang.RuntimeException
3: astore 5
start local 5 4: aload 5
athrow
end local 5 5: StackMap locals:
StackMap stack: java.lang.Exception
astore 5
start local 5 6: new java.lang.RuntimeException
dup
aload 5
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 5 7: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
8: aload 3
invokevirtual com.oracle.truffle.api.TruffleLanguage$ParsingRequest.dispose:()V
9: aload 6
athrow
start local 4 10: StackMap locals: com.oracle.truffle.api.CallTarget
StackMap stack:
aload 3
invokevirtual com.oracle.truffle.api.TruffleLanguage$ParsingRequest.dispose:()V
11: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/truffle/api/TruffleLanguage<TC;>;
0 12 1 source Lcom/oracle/truffle/api/source/Source;
0 12 2 argumentNames [Ljava/lang/String;
1 12 3 request Lcom/oracle/truffle/api/TruffleLanguage$ParsingRequest;
2 3 4 target Lcom/oracle/truffle/api/CallTarget;
10 12 4 target Lcom/oracle/truffle/api/CallTarget;
4 5 5 ex Ljava/lang/RuntimeException;
6 7 5 ex Ljava/lang/Exception;
Exception table:
from to target type
1 2 3 Class java.lang.RuntimeException
1 2 5 Class java.lang.Exception
1 7 7 any
MethodParameters:
Name Flags
source
argumentNames
com.oracle.truffle.api.nodes.ExecutableNode parseInline(com.oracle.truffle.api.source.Source, com.oracle.truffle.api.nodes.Node, com.oracle.truffle.api.frame.MaterializedFrame);
descriptor: (Lcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/frame/MaterializedFrame;)Lcom/oracle/truffle/api/nodes/ExecutableNode;
flags: (0x0000)
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic com.oracle.truffle.api.TruffleLanguage.$assertionsDisabled:Z
ifne 1
aload 2
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
new com.oracle.truffle.api.TruffleLanguage$InlineParsingRequest
dup
aload 1
aload 2
aload 3
invokespecial com.oracle.truffle.api.TruffleLanguage$InlineParsingRequest.<init>:(Lcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/frame/MaterializedFrame;)V
astore 4
start local 4 2: aload 4
aload 0
invokevirtual com.oracle.truffle.api.TruffleLanguage$InlineParsingRequest.parse:(Lcom/oracle/truffle/api/TruffleLanguage;)Lcom/oracle/truffle/api/nodes/ExecutableNode;
astore 5
start local 5 3: goto 11
end local 5 StackMap locals: com.oracle.truffle.api.TruffleLanguage com.oracle.truffle.api.source.Source com.oracle.truffle.api.nodes.Node com.oracle.truffle.api.frame.MaterializedFrame com.oracle.truffle.api.TruffleLanguage$InlineParsingRequest
StackMap stack: java.lang.RuntimeException
4: astore 6
start local 6 5: aload 6
athrow
end local 6 6: StackMap locals:
StackMap stack: java.lang.Exception
astore 6
start local 6 7: new java.lang.RuntimeException
dup
aload 6
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 6 8: StackMap locals:
StackMap stack: java.lang.Throwable
astore 7
9: aload 4
invokevirtual com.oracle.truffle.api.TruffleLanguage$InlineParsingRequest.dispose:()V
10: aload 7
athrow
start local 5 11: StackMap locals: com.oracle.truffle.api.nodes.ExecutableNode
StackMap stack:
aload 4
invokevirtual com.oracle.truffle.api.TruffleLanguage$InlineParsingRequest.dispose:()V
12: aload 5
areturn
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 13 0 this Lcom/oracle/truffle/api/TruffleLanguage<TC;>;
0 13 1 source Lcom/oracle/truffle/api/source/Source;
0 13 2 context Lcom/oracle/truffle/api/nodes/Node;
0 13 3 frame Lcom/oracle/truffle/api/frame/MaterializedFrame;
2 13 4 request Lcom/oracle/truffle/api/TruffleLanguage$InlineParsingRequest;
3 4 5 snippet Lcom/oracle/truffle/api/nodes/ExecutableNode;
11 13 5 snippet Lcom/oracle/truffle/api/nodes/ExecutableNode;
5 6 6 ex Ljava/lang/RuntimeException;
7 8 6 ex Ljava/lang/Exception;
Exception table:
from to target type
2 3 4 Class java.lang.RuntimeException
2 3 6 Class java.lang.Exception
2 8 8 any
MethodParameters:
Name Flags
source
context
frame
protected static <T extends com.oracle.truffle.api.TruffleLanguage<?>> T getCurrentLanguage(java.lang.Class<T>);
descriptor: (Ljava/lang/Class;)Lcom/oracle/truffle/api/TruffleLanguage;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: invokestatic com.oracle.truffle.api.LanguageAccessor.engineAccess:()Lcom/oracle/truffle/api/impl/Accessor$EngineSupport;
aload 0
invokevirtual com.oracle.truffle.api.impl.Accessor$EngineSupport.getCurrentLanguage:(Ljava/lang/Class;)Lcom/oracle/truffle/api/TruffleLanguage;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
start local 1 3: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreter:()V
4: aload 1
invokestatic com.oracle.truffle.api.TruffleLanguage$Env.engineToLanguageException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 languageClass Ljava/lang/Class<TT;>;
3 5 1 t Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.lang.Throwable
Signature: <T:Lcom/oracle/truffle/api/TruffleLanguage<*>;>(Ljava/lang/Class<TT;>;)TT;
MethodParameters:
Name Flags
languageClass
protected static <C, T extends com.oracle.truffle.api.TruffleLanguage<C>> C getCurrentContext(java.lang.Class<T>);
descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic com.oracle.truffle.api.LanguageAccessor.ENGINE:Lcom/oracle/truffle/api/impl/Accessor$EngineSupport;
aload 0
invokevirtual com.oracle.truffle.api.impl.Accessor$EngineSupport.getCurrentContext:(Ljava/lang/Class;)Ljava/lang/Object;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
start local 1 3: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreter:()V
4: aload 1
invokestatic com.oracle.truffle.api.TruffleLanguage$Env.engineToLanguageException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 languageClass Ljava/lang/Class<TT;>;
3 5 1 t Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.lang.Throwable
Signature: <C:Ljava/lang/Object;T:Lcom/oracle/truffle/api/TruffleLanguage<TC;>;>(Ljava/lang/Class<TT;>;)TC;
MethodParameters:
Name Flags
languageClass
protected final <T> com.oracle.truffle.api.ContextLocal<T> createContextLocal(com.oracle.truffle.api.TruffleLanguage$ContextLocalFactory<C, T>);
descriptor: (Lcom/oracle/truffle/api/TruffleLanguage$ContextLocalFactory;)Lcom/oracle/truffle/api/ContextLocal;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.api.LanguageAccessor.ENGINE:Lcom/oracle/truffle/api/impl/Accessor$EngineSupport;
aload 1
invokevirtual com.oracle.truffle.api.impl.Accessor$EngineSupport.createLanguageContextLocal:(Ljava/lang/Object;)Lcom/oracle/truffle/api/ContextLocal;
astore 2
start local 2 1: aload 0
getfield com.oracle.truffle.api.TruffleLanguage.contextLocals:Ljava/util/List;
ifnonnull 3
2: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.oracle.truffle.api.TruffleLanguage.contextLocals:Ljava/util/List;
3: StackMap locals: com.oracle.truffle.api.ContextLocal
StackMap stack:
aload 0
getfield com.oracle.truffle.api.TruffleLanguage.contextLocals:Ljava/util/List;
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
4: goto 7
StackMap locals:
StackMap stack: java.lang.UnsupportedOperationException
5: pop
6: new java.lang.IllegalStateException
dup
ldc "The set of context locals is frozen. Context locals can only be created during construction of the TruffleLanguage subclass."
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/api/TruffleLanguage<TC;>;
0 8 1 factory Lcom/oracle/truffle/api/TruffleLanguage$ContextLocalFactory<TC;TT;>;
1 8 2 local Lcom/oracle/truffle/api/ContextLocal<TT;>;
Exception table:
from to target type
3 4 5 Class java.lang.UnsupportedOperationException
Signature: <T:Ljava/lang/Object;>(Lcom/oracle/truffle/api/TruffleLanguage$ContextLocalFactory<TC;TT;>;)Lcom/oracle/truffle/api/ContextLocal<TT;>;
MethodParameters:
Name Flags
factory
protected final <T> com.oracle.truffle.api.ContextThreadLocal<T> createContextThreadLocal(com.oracle.truffle.api.TruffleLanguage$ContextThreadLocalFactory<C, T>);
descriptor: (Lcom/oracle/truffle/api/TruffleLanguage$ContextThreadLocalFactory;)Lcom/oracle/truffle/api/ContextThreadLocal;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.api.LanguageAccessor.ENGINE:Lcom/oracle/truffle/api/impl/Accessor$EngineSupport;
aload 1
invokevirtual com.oracle.truffle.api.impl.Accessor$EngineSupport.createLanguageContextThreadLocal:(Ljava/lang/Object;)Lcom/oracle/truffle/api/ContextThreadLocal;
astore 2
start local 2 1: aload 0
getfield com.oracle.truffle.api.TruffleLanguage.contextThreadLocals:Ljava/util/List;
ifnonnull 3
2: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.oracle.truffle.api.TruffleLanguage.contextThreadLocals:Ljava/util/List;
3: StackMap locals: com.oracle.truffle.api.ContextThreadLocal
StackMap stack:
aload 0
getfield com.oracle.truffle.api.TruffleLanguage.contextThreadLocals:Ljava/util/List;
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
4: goto 7
StackMap locals:
StackMap stack: java.lang.UnsupportedOperationException
5: pop
6: new java.lang.IllegalStateException
dup
ldc "The set of context thread locals is frozen. Context thread locals can only be created during construction of the TruffleLanguage subclass."
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/api/TruffleLanguage<TC;>;
0 8 1 factory Lcom/oracle/truffle/api/TruffleLanguage$ContextThreadLocalFactory<TC;TT;>;
1 8 2 local Lcom/oracle/truffle/api/ContextThreadLocal<TT;>;
Exception table:
from to target type
3 4 5 Class java.lang.UnsupportedOperationException
Signature: <T:Ljava/lang/Object;>(Lcom/oracle/truffle/api/TruffleLanguage$ContextThreadLocalFactory<TC;TT;>;)Lcom/oracle/truffle/api/ContextThreadLocal<TT;>;
MethodParameters:
Name Flags
factory
protected final java.lang.String getLanguageHome();
descriptor: ()Ljava/lang/String;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=3, locals=2, args_size=1
start local 0 0: invokestatic com.oracle.truffle.api.LanguageAccessor.engineAccess:()Lcom/oracle/truffle/api/impl/Accessor$EngineSupport;
invokestatic com.oracle.truffle.api.LanguageAccessor.nodesAccess:()Lcom/oracle/truffle/api/impl/Accessor$NodeSupport;
aload 0
getfield com.oracle.truffle.api.TruffleLanguage.languageInfo:Lcom/oracle/truffle/api/nodes/LanguageInfo;
invokevirtual com.oracle.truffle.api.impl.Accessor$NodeSupport.getPolyglotLanguage:(Lcom/oracle/truffle/api/nodes/LanguageInfo;)Ljava/lang/Object;
invokevirtual com.oracle.truffle.api.impl.Accessor$EngineSupport.getLanguageHome:(Ljava/lang/Object;)Ljava/lang/String;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
start local 1 3: aload 1
invokestatic com.oracle.truffle.api.TruffleLanguage$Env.engineToLanguageException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/api/TruffleLanguage<TC;>;
3 4 1 t Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.lang.Throwable
protected final int getAsynchronousStackDepth();
descriptor: ()I
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=3, locals=1, args_size=1
start local 0 0: invokestatic com.oracle.truffle.api.LanguageAccessor.engineAccess:()Lcom/oracle/truffle/api/impl/Accessor$EngineSupport;
invokestatic com.oracle.truffle.api.LanguageAccessor.nodesAccess:()Lcom/oracle/truffle/api/impl/Accessor$NodeSupport;
aload 0
getfield com.oracle.truffle.api.TruffleLanguage.languageInfo:Lcom/oracle/truffle/api/nodes/LanguageInfo;
invokevirtual com.oracle.truffle.api.impl.Accessor$NodeSupport.getPolyglotLanguage:(Lcom/oracle/truffle/api/nodes/LanguageInfo;)Ljava/lang/Object;
invokevirtual com.oracle.truffle.api.impl.Accessor$EngineSupport.getAsynchronousStackDepth:(Ljava/lang/Object;)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/TruffleLanguage<TC;>;
}
Signature: <C:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "TruffleLanguage.java"
NestMembers:
com.oracle.truffle.api.TruffleLanguage$ContextLocalFactory com.oracle.truffle.api.TruffleLanguage$ContextPolicy com.oracle.truffle.api.TruffleLanguage$ContextReference com.oracle.truffle.api.TruffleLanguage$ContextThreadLocalFactory com.oracle.truffle.api.TruffleLanguage$Env com.oracle.truffle.api.TruffleLanguage$InlineParsingRequest com.oracle.truffle.api.TruffleLanguage$LanguageReference com.oracle.truffle.api.TruffleLanguage$ParsingRequest com.oracle.truffle.api.TruffleLanguage$Provider com.oracle.truffle.api.TruffleLanguage$Registration
InnerClasses:
public abstract CompilationFinal = com.oracle.truffle.api.CompilerDirectives$CompilationFinal of com.oracle.truffle.api.CompilerDirectives
protected abstract ContextLocalFactory = com.oracle.truffle.api.TruffleLanguage$ContextLocalFactory of com.oracle.truffle.api.TruffleLanguage
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
protected abstract ContextThreadLocalFactory = com.oracle.truffle.api.TruffleLanguage$ContextThreadLocalFactory of com.oracle.truffle.api.TruffleLanguage
public final Env = com.oracle.truffle.api.TruffleLanguage$Env of com.oracle.truffle.api.TruffleLanguage
public final InlineParsingRequest = com.oracle.truffle.api.TruffleLanguage$InlineParsingRequest of com.oracle.truffle.api.TruffleLanguage
public abstract LanguageReference = com.oracle.truffle.api.TruffleLanguage$LanguageReference of com.oracle.truffle.api.TruffleLanguage
public final ParsingRequest = com.oracle.truffle.api.TruffleLanguage$ParsingRequest of com.oracle.truffle.api.TruffleLanguage
public abstract Provider = com.oracle.truffle.api.TruffleLanguage$Provider of com.oracle.truffle.api.TruffleLanguage
public abstract Registration = com.oracle.truffle.api.TruffleLanguage$Registration of com.oracle.truffle.api.TruffleLanguage
public abstract EngineSupport = com.oracle.truffle.api.impl.Accessor$EngineSupport of com.oracle.truffle.api.impl.Accessor
public abstract NodeSupport = com.oracle.truffle.api.impl.Accessor$NodeSupport of com.oracle.truffle.api.impl.Accessor