public final class com.oracle.truffle.sl.runtime.SLContext
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.sl.runtime.SLContext
super_class: java.lang.Object
{
private final com.oracle.truffle.sl.SLLanguage language;
descriptor: Lcom/oracle/truffle/sl/SLLanguage;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.api.TruffleLanguage$Env env;
descriptor: Lcom/oracle/truffle/api/TruffleLanguage$Env;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.io.BufferedReader input;
descriptor: Ljava/io/BufferedReader;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.io.PrintWriter output;
descriptor: Ljava/io/PrintWriter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.sl.runtime.SLFunctionRegistry functionRegistry;
descriptor: Lcom/oracle/truffle/sl/runtime/SLFunctionRegistry;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.api.instrumentation.AllocationReporter allocationReporter;
descriptor: Lcom/oracle/truffle/api/instrumentation/AllocationReporter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(com.oracle.truffle.sl.SLLanguage, com.oracle.truffle.api.TruffleLanguage$Env, java.util.List<com.oracle.truffle.api.dsl.NodeFactory<? extends com.oracle.truffle.sl.builtins.SLBuiltinNode>>);
descriptor: (Lcom/oracle/truffle/sl/SLLanguage;Lcom/oracle/truffle/api/TruffleLanguage$Env;Ljava/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
putfield com.oracle.truffle.sl.runtime.SLContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
2: aload 0
new java.io.BufferedReader
dup
new java.io.InputStreamReader
dup
aload 2
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.in:()Ljava/io/InputStream;
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
putfield com.oracle.truffle.sl.runtime.SLContext.input:Ljava/io/BufferedReader;
3: aload 0
new java.io.PrintWriter
dup
aload 2
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.out:()Ljava/io/OutputStream;
iconst_1
invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;Z)V
putfield com.oracle.truffle.sl.runtime.SLContext.output:Ljava/io/PrintWriter;
4: aload 0
aload 1
putfield com.oracle.truffle.sl.runtime.SLContext.language:Lcom/oracle/truffle/sl/SLLanguage;
5: aload 0
aload 2
ldc Lcom/oracle/truffle/api/instrumentation/AllocationReporter;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.AllocationReporter
putfield com.oracle.truffle.sl.runtime.SLContext.allocationReporter:Lcom/oracle/truffle/api/instrumentation/AllocationReporter;
6: aload 0
new com.oracle.truffle.sl.runtime.SLFunctionRegistry
dup
aload 1
invokespecial com.oracle.truffle.sl.runtime.SLFunctionRegistry.<init>:(Lcom/oracle/truffle/sl/SLLanguage;)V
putfield com.oracle.truffle.sl.runtime.SLContext.functionRegistry:Lcom/oracle/truffle/sl/runtime/SLFunctionRegistry;
7: aload 0
invokevirtual com.oracle.truffle.sl.runtime.SLContext.installBuiltins:()V
8: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 11
StackMap locals: com.oracle.truffle.sl.runtime.SLContext com.oracle.truffle.sl.SLLanguage com.oracle.truffle.api.TruffleLanguage$Env java.util.List top java.util.Iterator
StackMap stack:
9: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.dsl.NodeFactory
astore 4
start local 4 10: aload 0
aload 4
invokevirtual com.oracle.truffle.sl.runtime.SLContext.installBuiltin:(Lcom/oracle/truffle/api/dsl/NodeFactory;)V
end local 4 11: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
12: return
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/sl/runtime/SLContext;
0 13 1 language Lcom/oracle/truffle/sl/SLLanguage;
0 13 2 env Lcom/oracle/truffle/api/TruffleLanguage$Env;
0 13 3 externalBuiltins Ljava/util/List<Lcom/oracle/truffle/api/dsl/NodeFactory<+Lcom/oracle/truffle/sl/builtins/SLBuiltinNode;>;>;
10 11 4 builtin Lcom/oracle/truffle/api/dsl/NodeFactory<+Lcom/oracle/truffle/sl/builtins/SLBuiltinNode;>;
Signature: (Lcom/oracle/truffle/sl/SLLanguage;Lcom/oracle/truffle/api/TruffleLanguage$Env;Ljava/util/List<Lcom/oracle/truffle/api/dsl/NodeFactory<+Lcom/oracle/truffle/sl/builtins/SLBuiltinNode;>;>;)V
MethodParameters:
Name Flags
language
env
externalBuiltins
public com.oracle.truffle.api.TruffleLanguage$Env getEnv();
descriptor: ()Lcom/oracle/truffle/api/TruffleLanguage$Env;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.sl.runtime.SLContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/sl/runtime/SLContext;
public java.io.BufferedReader getInput();
descriptor: ()Ljava/io/BufferedReader;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.sl.runtime.SLContext.input:Ljava/io/BufferedReader;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/sl/runtime/SLContext;
public java.io.PrintWriter getOutput();
descriptor: ()Ljava/io/PrintWriter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.sl.runtime.SLContext.output:Ljava/io/PrintWriter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/sl/runtime/SLContext;
public com.oracle.truffle.sl.runtime.SLFunctionRegistry getFunctionRegistry();
descriptor: ()Lcom/oracle/truffle/sl/runtime/SLFunctionRegistry;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.sl.runtime.SLContext.functionRegistry:Lcom/oracle/truffle/sl/runtime/SLFunctionRegistry;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/sl/runtime/SLContext;
private void installBuiltins();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tSLReadlnBuiltinFactory cannot be resolved\n\tSLPrintlnBuiltinFactory cannot be resolved\n\tSLNanoTimeBuiltinFactory cannot be resolved\n\tSLDefineFunctionBuiltinFactory cannot be resolved\n\tSLStackTraceBuiltinFactory cannot be resolved\n\tSLHelloEqualsWorldBuiltinFactory cannot be resolved\n\tSLNewObjectBuiltinFactory cannot be resolved\n\tSLEvalBuiltinFactory cannot be resolved\n\tSLImportBuiltinFactory cannot be resolved\n\tSLGetSizeBuiltinFactory cannot be resolved\n\tSLHasSizeBuiltinFactory cannot be resolved\n\tSLIsExecutableBuiltinFactory cannot be resolved\n\tSLIsNullBuiltinFactory cannot be resolved\n\tSLWrapPrimitiveBuiltinFactory cannot be resolved\n\tSLTypeOfBuiltinFactory cannot be resolved\n\tSLIsInstanceBuiltinFactory cannot be resolved\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/sl/runtime/SLContext;
public void installBuiltin(com.oracle.truffle.api.dsl.NodeFactory<? extends com.oracle.truffle.sl.builtins.SLBuiltinNode>);
descriptor: (Lcom/oracle/truffle/api/dsl/NodeFactory;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.sl.runtime.SLContext.language:Lcom/oracle/truffle/sl/SLLanguage;
aload 1
invokevirtual com.oracle.truffle.sl.SLLanguage.lookupBuiltin:(Lcom/oracle/truffle/api/dsl/NodeFactory;)Lcom/oracle/truffle/api/RootCallTarget;
astore 2
start local 2 1: aload 2
invokeinterface com.oracle.truffle.api.RootCallTarget.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
invokevirtual com.oracle.truffle.api.nodes.RootNode.getName:()Ljava/lang/String;
astore 3
start local 3 2: aload 0
invokevirtual com.oracle.truffle.sl.runtime.SLContext.getFunctionRegistry:()Lcom/oracle/truffle/sl/runtime/SLFunctionRegistry;
aload 3
aload 2
invokevirtual com.oracle.truffle.sl.runtime.SLFunctionRegistry.register:(Ljava/lang/String;Lcom/oracle/truffle/api/RootCallTarget;)Lcom/oracle/truffle/sl/runtime/SLFunction;
pop
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/sl/runtime/SLContext;
0 4 1 factory Lcom/oracle/truffle/api/dsl/NodeFactory<+Lcom/oracle/truffle/sl/builtins/SLBuiltinNode;>;
1 4 2 target Lcom/oracle/truffle/api/RootCallTarget;
2 4 3 rootName Ljava/lang/String;
Signature: (Lcom/oracle/truffle/api/dsl/NodeFactory<+Lcom/oracle/truffle/sl/builtins/SLBuiltinNode;>;)V
MethodParameters:
Name Flags
factory
public com.oracle.truffle.api.instrumentation.AllocationReporter getAllocationReporter();
descriptor: ()Lcom/oracle/truffle/api/instrumentation/AllocationReporter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.sl.runtime.SLContext.allocationReporter:Lcom/oracle/truffle/api/instrumentation/AllocationReporter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/sl/runtime/SLContext;
public static java.lang.Object fromForeignValue(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
instanceof java.lang.Long
ifne 1
aload 0
instanceof com.oracle.truffle.sl.runtime.SLBigNumber
ifne 1
aload 0
instanceof java.lang.String
ifne 1
aload 0
instanceof java.lang.Boolean
ifeq 2
1: StackMap locals:
StackMap stack:
aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Character
ifeq 4
3: aload 0
checkcast java.lang.Character
invokevirtual java.lang.Character.charValue:()C
invokestatic com.oracle.truffle.sl.runtime.SLContext.fromForeignCharacter:(C)Ljava/lang/String;
areturn
4: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Number
ifeq 6
5: aload 0
invokestatic com.oracle.truffle.sl.runtime.SLContext.fromForeignNumber:(Ljava/lang/Object;)J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
areturn
6: StackMap locals:
StackMap stack:
aload 0
instanceof com.oracle.truffle.api.interop.TruffleObject
ifeq 8
7: aload 0
areturn
8: StackMap locals:
StackMap stack:
aload 0
instanceof com.oracle.truffle.sl.runtime.SLContext
ifeq 10
9: aload 0
areturn
10: StackMap locals:
StackMap stack:
ldc "Value is not a truffle value."
invokestatic com.oracle.truffle.api.CompilerDirectives.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 a Ljava/lang/Object;
MethodParameters:
Name Flags
a
private static long fromForeignNumber(java.lang.Object);
descriptor: (Ljava/lang/Object;)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
checkcast java.lang.Number
invokevirtual java.lang.Number.longValue:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 a Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
a
private static java.lang.String fromForeignCharacter(char);
descriptor: (C)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 c C
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
c
public com.oracle.truffle.api.CallTarget parse(com.oracle.truffle.api.source.Source);
descriptor: (Lcom/oracle/truffle/api/source/Source;)Lcom/oracle/truffle/api/CallTarget;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.sl.runtime.SLContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 1
iconst_0
anewarray java.lang.String
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.parsePublic:(Lcom/oracle/truffle/api/source/Source;[Ljava/lang/String;)Lcom/oracle/truffle/api/CallTarget;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/sl/runtime/SLContext;
0 1 1 source Lcom/oracle/truffle/api/source/Source;
MethodParameters:
Name Flags
source
public com.oracle.truffle.api.interop.TruffleObject getPolyglotBindings();
descriptor: ()Lcom/oracle/truffle/api/interop/TruffleObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.sl.runtime.SLContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getPolyglotBindings:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.interop.TruffleObject
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/sl/runtime/SLContext;
public static com.oracle.truffle.sl.runtime.SLContext getCurrent();
descriptor: ()Lcom/oracle/truffle/sl/runtime/SLContext;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic com.oracle.truffle.sl.SLLanguage.getCurrentContext:()Lcom/oracle/truffle/sl/runtime/SLContext;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "SLContext.java"
InnerClasses:
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
public final Env = com.oracle.truffle.api.TruffleLanguage$Env of com.oracle.truffle.api.TruffleLanguage