public class com.oracle.truffle.sl.parser.SLNodeFactory
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.sl.parser.SLNodeFactory
super_class: java.lang.Object
{
private final com.oracle.truffle.api.source.Source source;
descriptor: Lcom/oracle/truffle/api/source/Source;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Map<java.lang.String, com.oracle.truffle.api.RootCallTarget> allFunctions;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Lcom/oracle/truffle/api/RootCallTarget;>;
private int functionStartPos;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.lang.String functionName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private int functionBodyStartPos;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int parameterCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor;
descriptor: Lcom/oracle/truffle/api/frame/FrameDescriptor;
flags: (0x0002) ACC_PRIVATE
private java.util.List<com.oracle.truffle.sl.nodes.SLStatementNode> methodNodes;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Lcom/oracle/truffle/sl/nodes/SLStatementNode;>;
private com.oracle.truffle.sl.parser.SLNodeFactory$LexicalScope lexicalScope;
descriptor: Lcom/oracle/truffle/sl/parser/SLNodeFactory$LexicalScope;
flags: (0x0002) ACC_PRIVATE
private final com.oracle.truffle.sl.SLLanguage language;
descriptor: Lcom/oracle/truffle/sl/SLLanguage;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
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/sl/parser/SLNodeFactory;
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.sl.parser.SLNodeFactory.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(com.oracle.truffle.sl.SLLanguage, com.oracle.truffle.api.source.Source);
descriptor: (Lcom/oracle/truffle/sl/SLLanguage;Lcom/oracle/truffle/api/source/Source;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield com.oracle.truffle.sl.parser.SLNodeFactory.language:Lcom/oracle/truffle/sl/SLLanguage;
2: aload 0
aload 2
putfield com.oracle.truffle.sl.parser.SLNodeFactory.source:Lcom/oracle/truffle/api/source/Source;
3: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.oracle.truffle.sl.parser.SLNodeFactory.allFunctions:Ljava/util/Map;
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/sl/parser/SLNodeFactory;
0 5 1 language Lcom/oracle/truffle/sl/SLLanguage;
0 5 2 source Lcom/oracle/truffle/api/source/Source;
MethodParameters:
Name Flags
language
source
public java.util.Map<java.lang.String, com.oracle.truffle.api.RootCallTarget> getAllFunctions();
descriptor: ()Ljava/util/Map;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.sl.parser.SLNodeFactory.allFunctions:Ljava/util/Map;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/sl/parser/SLNodeFactory;
Signature: ()Ljava/util/Map<Ljava/lang/String;Lcom/oracle/truffle/api/RootCallTarget;>;
public void startFunction(org.antlr.v4.runtime.Token, org.antlr.v4.runtime.Token);
descriptor: (Lorg/antlr/v4/runtime/Token;Lorg/antlr/v4/runtime/Token;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.truffle.sl.parser.SLNodeFactory.$assertionsDisabled:Z
ifne 1
aload 0
getfield com.oracle.truffle.sl.parser.SLNodeFactory.functionStartPos:I
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.sl.parser.SLNodeFactory.$assertionsDisabled:Z
ifne 2
aload 0
getfield com.oracle.truffle.sl.parser.SLNodeFactory.functionName:Ljava/lang/String;
ifnull 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.sl.parser.SLNodeFactory.$assertionsDisabled:Z
ifne 3
aload 0
getfield com.oracle.truffle.sl.parser.SLNodeFactory.functionBodyStartPos:I
ifeq 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.sl.parser.SLNodeFactory.$assertionsDisabled:Z
ifne 4
aload 0
getfield com.oracle.truffle.sl.parser.SLNodeFactory.parameterCount:I
ifeq 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.sl.parser.SLNodeFactory.$assertionsDisabled:Z
ifne 5
aload 0
getfield com.oracle.truffle.sl.parser.SLNodeFactory.frameDescriptor:Lcom/oracle/truffle/api/frame/FrameDescriptor;
ifnull 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.sl.parser.SLNodeFactory.$assertionsDisabled:Z
ifne 6
aload 0
getfield com.oracle.truffle.sl.parser.SLNodeFactory.lexicalScope:Lcom/oracle/truffle/sl/parser/SLNodeFactory$LexicalScope;
ifnull 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals:
StackMap stack:
aload 0
aload 1
invokeinterface org.antlr.v4.runtime.Token.getStartIndex:()I
putfield com.oracle.truffle.sl.parser.SLNodeFactory.functionStartPos:I
7: aload 0
aload 1
invokeinterface org.antlr.v4.runtime.Token.getText:()Ljava/lang/String;
putfield com.oracle.truffle.sl.parser.SLNodeFactory.functionName:Ljava/lang/String;
8: aload 0
aload 2
invokeinterface org.antlr.v4.runtime.Token.getStartIndex:()I
putfield com.oracle.truffle.sl.parser.SLNodeFactory.functionBodyStartPos:I
9: aload 0
new com.oracle.truffle.api.frame.FrameDescriptor
dup
invokespecial com.oracle.truffle.api.frame.FrameDescriptor.<init>:()V
putfield com.oracle.truffle.sl.parser.SLNodeFactory.frameDescriptor:Lcom/oracle/truffle/api/frame/FrameDescriptor;
10: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.oracle.truffle.sl.parser.SLNodeFactory.methodNodes:Ljava/util/List;
11: aload 0
invokevirtual com.oracle.truffle.sl.parser.SLNodeFactory.startBlock:()V
12: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/oracle/truffle/sl/parser/SLNodeFactory;
0 13 1 nameToken Lorg/antlr/v4/runtime/Token;
0 13 2 bodyStartToken Lorg/antlr/v4/runtime/Token;
MethodParameters:
Name Flags
nameToken
bodyStartToken
public void addFormalParameter(org.antlr.v4.runtime.Token);
descriptor: (Lorg/antlr/v4/runtime/Token;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.sl.nodes.local.SLReadArgumentNode
dup
aload 0
getfield com.oracle.truffle.sl.parser.SLNodeFactory.parameterCount:I
invokespecial com.oracle.truffle.sl.nodes.local.SLReadArgumentNode.<init>:(I)V
astore 2
start local 2 1: aload 2
aload 1
invokeinterface org.antlr.v4.runtime.Token.getStartIndex:()I
aload 1
invokeinterface org.antlr.v4.runtime.Token.getText:()Ljava/lang/String;
invokevirtual java.lang.String.length:()I
invokevirtual com.oracle.truffle.sl.nodes.local.SLReadArgumentNode.setSourceSection:(II)V
2: aload 0
aload 0
aload 1
iconst_0
invokevirtual com.oracle.truffle.sl.parser.SLNodeFactory.createStringLiteral:(Lorg/antlr/v4/runtime/Token;Z)Lcom/oracle/truffle/sl/nodes/SLExpressionNode;
aload 2
aload 0
getfield com.oracle.truffle.sl.parser.SLNodeFactory.parameterCount:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual com.oracle.truffle.sl.parser.SLNodeFactory.createAssignment:(Lcom/oracle/truffle/sl/nodes/SLExpressionNode;Lcom/oracle/truffle/sl/nodes/SLExpressionNode;Ljava/lang/Integer;)Lcom/oracle/truffle/sl/nodes/SLExpressionNode;
astore 3
start local 3 3: aload 0
getfield com.oracle.truffle.sl.parser.SLNodeFactory.methodNodes:Ljava/util/List;
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
4: aload 0
dup
getfield com.oracle.truffle.sl.parser.SLNodeFactory.parameterCount:I
iconst_1
iadd
putfield com.oracle.truffle.sl.parser.SLNodeFactory.parameterCount:I
5: return
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/sl/parser/SLNodeFactory;
0 6 1 nameToken Lorg/antlr/v4/runtime/Token;
1 6 2 readArg Lcom/oracle/truffle/sl/nodes/local/SLReadArgumentNode;
3 6 3 assignment Lcom/oracle/truffle/sl/nodes/SLExpressionNode;
MethodParameters:
Name Flags
nameToken
public void finishFunction(com.oracle.truffle.sl.nodes.SLStatementNode);
descriptor: (Lcom/oracle/truffle/sl/nodes/SLStatementNode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 3
1: aload 0
aload 0
getfield com.oracle.truffle.sl.parser.SLNodeFactory.lexicalScope:Lcom/oracle/truffle/sl/parser/SLNodeFactory$LexicalScope;
getfield com.oracle.truffle.sl.parser.SLNodeFactory$LexicalScope.outer:Lcom/oracle/truffle/sl/parser/SLNodeFactory$LexicalScope;
putfield com.oracle.truffle.sl.parser.SLNodeFactory.lexicalScope:Lcom/oracle/truffle/sl/parser/SLNodeFactory$LexicalScope;
2: goto 12
3: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.sl.parser.SLNodeFactory.methodNodes:Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
4: aload 1
invokevirtual com.oracle.truffle.sl.nodes.SLStatementNode.getSourceEndIndex:()I
istore 2
start local 2 5: aload 0
getfield com.oracle.truffle.sl.parser.SLNodeFactory.source:Lcom/oracle/truffle/api/source/Source;
aload 0
getfield com.oracle.truffle.sl.parser.SLNodeFactory.functionStartPos:I
iload 2
aload 0
getfield com.oracle.truffle.sl.parser.SLNodeFactory.functionStartPos:I
isub
invokevirtual com.oracle.truffle.api.source.Source.createSection:(II)Lcom/oracle/truffle/api/source/SourceSection;
astore 3
start local 3 6: aload 0
aload 0
getfield com.oracle.truffle.sl.parser.SLNodeFactory.methodNodes:Ljava/util/List;
aload 0
getfield com.oracle.truffle.sl.parser.SLNodeFactory.parameterCount:I
aload 0
getfield com.oracle.truffle.sl.parser.SLNodeFactory.functionBodyStartPos:I
iload 2
aload 0
getfield com.oracle.truffle.sl.parser.SLNodeFactory.functionBodyStartPos:I
isub
invokevirtual com.oracle.truffle.sl.parser.SLNodeFactory.finishBlock:(Ljava/util/List;III)Lcom/oracle/truffle/sl/nodes/SLStatementNode;
astore 4
start local 4 7: getstatic com.oracle.truffle.sl.parser.SLNodeFactory.$assertionsDisabled:Z
ifne 8
aload 0
getfield com.oracle.truffle.sl.parser.SLNodeFactory.lexicalScope:Lcom/oracle/truffle/sl/parser/SLNodeFactory$LexicalScope;
ifnull 8
new java.lang.AssertionError
dup
ldc "Wrong scoping of blocks in parser"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
8: StackMap locals: int com.oracle.truffle.api.source.SourceSection com.oracle.truffle.sl.nodes.SLStatementNode
StackMap stack:
new com.oracle.truffle.sl.nodes.controlflow.SLFunctionBodyNode
dup
aload 4
invokespecial com.oracle.truffle.sl.nodes.controlflow.SLFunctionBodyNode.<init>:(Lcom/oracle/truffle/sl/nodes/SLStatementNode;)V
astore 5
start local 5 9: aload 5
aload 3
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharIndex:()I
aload 3
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharLength:()I
invokevirtual com.oracle.truffle.sl.nodes.controlflow.SLFunctionBodyNode.setSourceSection:(II)V
10: new com.oracle.truffle.sl.nodes.SLRootNode
dup
aload 0
getfield com.oracle.truffle.sl.parser.SLNodeFactory.language:Lcom/oracle/truffle/sl/SLLanguage;
aload 0
getfield com.oracle.truffle.sl.parser.SLNodeFactory.frameDescriptor:Lcom/oracle/truffle/api/frame/FrameDescriptor;
aload 5
aload 3
aload 0
getfield com.oracle.truffle.sl.parser.SLNodeFactory.functionName:Ljava/lang/String;
invokespecial com.oracle.truffle.sl.nodes.SLRootNode.<init>:(Lcom/oracle/truffle/sl/SLLanguage;Lcom/oracle/truffle/api/frame/FrameDescriptor;Lcom/oracle/truffle/sl/nodes/SLExpressionNode;Lcom/oracle/truffle/api/source/SourceSection;Ljava/lang/String;)V
astore 6
start local 6 11: aload 0
getfield com.oracle.truffle.sl.parser.SLNodeFactory.allFunctions:Ljava/util/Map;
aload 0
getfield com.oracle.truffle.sl.parser.SLNodeFactory.functionName:Ljava/lang/String;
invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
aload 6
invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 6 end local 5 end local 4 end local 3 end local 2 12: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield com.oracle.truffle.sl.parser.SLNodeFactory.functionStartPos:I
13: aload 0
aconst_null
putfield com.oracle.truffle.sl.parser.SLNodeFactory.functionName:Ljava/lang/String;
14: aload 0
iconst_0
putfield com.oracle.truffle.sl.parser.SLNodeFactory.functionBodyStartPos:I
15: aload 0
iconst_0
putfield com.oracle.truffle.sl.parser.SLNodeFactory.parameterCount:I
16: aload 0
aconst_null
putfield com.oracle.truffle.sl.parser.SLNodeFactory.frameDescriptor:Lcom/oracle/truffle/api/frame/FrameDescriptor;
17: aload 0
aconst_null
putfield com.oracle.truffle.sl.parser.SLNodeFactory.lexicalScope:Lcom/oracle/truffle/sl/parser/SLNodeFactory$LexicalScope;
18: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/oracle/truffle/sl/parser/SLNodeFactory;
0 19 1 bodyNode Lcom/oracle/truffle/sl/nodes/SLStatementNode;
5 12 2 bodyEndPos I
6 12 3 functionSrc Lcom/oracle/truffle/api/source/SourceSection;
7 12 4 methodBlock Lcom/oracle/truffle/sl/nodes/SLStatementNode;
9 12 5 functionBodyNode Lcom/oracle/truffle/sl/nodes/controlflow/SLFunctionBodyNode;
11 12 6 rootNode Lcom/oracle/truffle/sl/nodes/SLRootNode;
MethodParameters:
Name Flags
bodyNode
public void startBlock();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
new com.oracle.truffle.sl.parser.SLNodeFactory$LexicalScope
dup
aload 0
getfield com.oracle.truffle.sl.parser.SLNodeFactory.lexicalScope:Lcom/oracle/truffle/sl/parser/SLNodeFactory$LexicalScope;
invokespecial com.oracle.truffle.sl.parser.SLNodeFactory$LexicalScope.<init>:(Lcom/oracle/truffle/sl/parser/SLNodeFactory$LexicalScope;)V
putfield com.oracle.truffle.sl.parser.SLNodeFactory.lexicalScope:Lcom/oracle/truffle/sl/parser/SLNodeFactory$LexicalScope;
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/sl/parser/SLNodeFactory;
public com.oracle.truffle.sl.nodes.SLStatementNode finishBlock(java.util.List<com.oracle.truffle.sl.nodes.SLStatementNode>, int, int);
descriptor: (Ljava/util/List;II)Lcom/oracle/truffle/sl/nodes/SLStatementNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iconst_0
iload 2
iload 3
invokevirtual com.oracle.truffle.sl.parser.SLNodeFactory.finishBlock:(Ljava/util/List;III)Lcom/oracle/truffle/sl/nodes/SLStatementNode;
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/sl/parser/SLNodeFactory;
0 1 1 bodyNodes Ljava/util/List<Lcom/oracle/truffle/sl/nodes/SLStatementNode;>;
0 1 2 startPos I
0 1 3 length I
Signature: (Ljava/util/List<Lcom/oracle/truffle/sl/nodes/SLStatementNode;>;II)Lcom/oracle/truffle/sl/nodes/SLStatementNode;
MethodParameters:
Name Flags
bodyNodes
startPos
length
public com.oracle.truffle.sl.nodes.SLStatementNode finishBlock(java.util.List<com.oracle.truffle.sl.nodes.SLStatementNode>, int, int, int);
descriptor: (Ljava/util/List;III)Lcom/oracle/truffle/sl/nodes/SLStatementNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 0
getfield com.oracle.truffle.sl.parser.SLNodeFactory.lexicalScope:Lcom/oracle/truffle/sl/parser/SLNodeFactory$LexicalScope;
getfield com.oracle.truffle.sl.parser.SLNodeFactory$LexicalScope.outer:Lcom/oracle/truffle/sl/parser/SLNodeFactory$LexicalScope;
putfield com.oracle.truffle.sl.parser.SLNodeFactory.lexicalScope:Lcom/oracle/truffle/sl/parser/SLNodeFactory$LexicalScope;
1: aload 1
invokestatic com.oracle.truffle.sl.parser.SLNodeFactory.containsNull:(Ljava/util/List;)Z
ifeq 3
2: aconst_null
areturn
3: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
aload 1
invokeinterface java.util.List.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 5
start local 5 4: aload 0
aload 1
aload 5
invokevirtual com.oracle.truffle.sl.parser.SLNodeFactory.flattenBlocks:(Ljava/lang/Iterable;Ljava/util/List;)V
5: aload 5
invokeinterface java.util.List.size:()I
istore 6
start local 6 6: iload 2
istore 7
start local 7 7: goto 12
8: StackMap locals: java.util.List int int
StackMap stack:
aload 5
iload 7
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.sl.nodes.SLStatementNode
astore 8
start local 8 9: aload 8
invokevirtual com.oracle.truffle.sl.nodes.SLStatementNode.hasSource:()Z
ifeq 11
aload 8
invokestatic com.oracle.truffle.sl.parser.SLNodeFactory.isHaltInCondition:(Lcom/oracle/truffle/sl/nodes/SLStatementNode;)Z
ifne 11
10: aload 8
invokevirtual com.oracle.truffle.sl.nodes.SLStatementNode.addStatementTag:()V
end local 8 11: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
12: iload 7
iload 6
if_icmplt 8
end local 7 13: new com.oracle.truffle.sl.nodes.controlflow.SLBlockNode
dup
aload 5
aload 5
invokeinterface java.util.List.size:()I
anewarray com.oracle.truffle.sl.nodes.SLStatementNode
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast com.oracle.truffle.sl.nodes.SLStatementNode[]
invokespecial com.oracle.truffle.sl.nodes.controlflow.SLBlockNode.<init>:([Lcom/oracle/truffle/sl/nodes/SLStatementNode;)V
astore 7
start local 7 14: aload 7
iload 3
iload 4
invokevirtual com.oracle.truffle.sl.nodes.controlflow.SLBlockNode.setSourceSection:(II)V
15: aload 7
areturn
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 16 0 this Lcom/oracle/truffle/sl/parser/SLNodeFactory;
0 16 1 bodyNodes Ljava/util/List<Lcom/oracle/truffle/sl/nodes/SLStatementNode;>;
0 16 2 skipCount I
0 16 3 startPos I
0 16 4 length I
4 16 5 flattenedNodes Ljava/util/List<Lcom/oracle/truffle/sl/nodes/SLStatementNode;>;
6 16 6 n I
7 13 7 i I
9 11 8 statement Lcom/oracle/truffle/sl/nodes/SLStatementNode;
14 16 7 blockNode Lcom/oracle/truffle/sl/nodes/controlflow/SLBlockNode;
Signature: (Ljava/util/List<Lcom/oracle/truffle/sl/nodes/SLStatementNode;>;III)Lcom/oracle/truffle/sl/nodes/SLStatementNode;
MethodParameters:
Name Flags
bodyNodes
skipCount
startPos
length
private static boolean isHaltInCondition(com.oracle.truffle.sl.nodes.SLStatementNode);
descriptor: (Lcom/oracle/truffle/sl/nodes/SLStatementNode;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof com.oracle.truffle.sl.nodes.controlflow.SLIfNode
ifne 1
aload 0
instanceof com.oracle.truffle.sl.nodes.controlflow.SLWhileNode
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 statement Lcom/oracle/truffle/sl/nodes/SLStatementNode;
MethodParameters:
Name Flags
statement
private void flattenBlocks(java.lang.Iterable<? extends com.oracle.truffle.sl.nodes.SLStatementNode>, java.util.List<com.oracle.truffle.sl.nodes.SLStatementNode>);
descriptor: (Ljava/lang/Iterable;Ljava/util/List;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 4
goto 6
StackMap locals: com.oracle.truffle.sl.parser.SLNodeFactory java.lang.Iterable java.util.List top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.sl.nodes.SLStatementNode
astore 3
start local 3 2: aload 3
instanceof com.oracle.truffle.sl.nodes.controlflow.SLBlockNode
ifeq 5
3: aload 0
aload 3
checkcast com.oracle.truffle.sl.nodes.controlflow.SLBlockNode
invokevirtual com.oracle.truffle.sl.nodes.controlflow.SLBlockNode.getStatements:()Ljava/util/List;
aload 2
invokevirtual com.oracle.truffle.sl.parser.SLNodeFactory.flattenBlocks:(Ljava/lang/Iterable;Ljava/util/List;)V
4: goto 6
5: StackMap locals: com.oracle.truffle.sl.parser.SLNodeFactory java.lang.Iterable java.util.List com.oracle.truffle.sl.nodes.SLStatementNode java.util.Iterator
StackMap stack:
aload 2
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 6: StackMap locals: com.oracle.truffle.sl.parser.SLNodeFactory java.lang.Iterable java.util.List top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/sl/parser/SLNodeFactory;
0 8 1 bodyNodes Ljava/lang/Iterable<+Lcom/oracle/truffle/sl/nodes/SLStatementNode;>;
0 8 2 flattenedNodes Ljava/util/List<Lcom/oracle/truffle/sl/nodes/SLStatementNode;>;
2 6 3 n Lcom/oracle/truffle/sl/nodes/SLStatementNode;
Signature: (Ljava/lang/Iterable<+Lcom/oracle/truffle/sl/nodes/SLStatementNode;>;Ljava/util/List<Lcom/oracle/truffle/sl/nodes/SLStatementNode;>;)V
MethodParameters:
Name Flags
bodyNodes
flattenedNodes
com.oracle.truffle.sl.nodes.SLStatementNode createDebugger(org.antlr.v4.runtime.Token);
descriptor: (Lorg/antlr/v4/runtime/Token;)Lcom/oracle/truffle/sl/nodes/SLStatementNode;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.sl.nodes.controlflow.SLDebuggerNode
dup
invokespecial com.oracle.truffle.sl.nodes.controlflow.SLDebuggerNode.<init>:()V
astore 2
start local 2 1: aload 2
aload 1
invokestatic com.oracle.truffle.sl.parser.SLNodeFactory.srcFromToken:(Lcom/oracle/truffle/sl/nodes/SLStatementNode;Lorg/antlr/v4/runtime/Token;)V
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/sl/parser/SLNodeFactory;
0 3 1 debuggerToken Lorg/antlr/v4/runtime/Token;
1 3 2 debuggerNode Lcom/oracle/truffle/sl/nodes/controlflow/SLDebuggerNode;
MethodParameters:
Name Flags
debuggerToken
public com.oracle.truffle.sl.nodes.SLStatementNode createBreak(org.antlr.v4.runtime.Token);
descriptor: (Lorg/antlr/v4/runtime/Token;)Lcom/oracle/truffle/sl/nodes/SLStatementNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.sl.nodes.controlflow.SLBreakNode
dup
invokespecial com.oracle.truffle.sl.nodes.controlflow.SLBreakNode.<init>:()V
astore 2
start local 2 1: aload 2
aload 1
invokestatic com.oracle.truffle.sl.parser.SLNodeFactory.srcFromToken:(Lcom/oracle/truffle/sl/nodes/SLStatementNode;Lorg/antlr/v4/runtime/Token;)V
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/sl/parser/SLNodeFactory;
0 3 1 breakToken Lorg/antlr/v4/runtime/Token;
1 3 2 breakNode Lcom/oracle/truffle/sl/nodes/controlflow/SLBreakNode;
MethodParameters:
Name Flags
breakToken
public com.oracle.truffle.sl.nodes.SLStatementNode createContinue(org.antlr.v4.runtime.Token);
descriptor: (Lorg/antlr/v4/runtime/Token;)Lcom/oracle/truffle/sl/nodes/SLStatementNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.sl.nodes.controlflow.SLContinueNode
dup
invokespecial com.oracle.truffle.sl.nodes.controlflow.SLContinueNode.<init>:()V
astore 2
start local 2 1: aload 2
aload 1
invokestatic com.oracle.truffle.sl.parser.SLNodeFactory.srcFromToken:(Lcom/oracle/truffle/sl/nodes/SLStatementNode;Lorg/antlr/v4/runtime/Token;)V
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/sl/parser/SLNodeFactory;
0 3 1 continueToken Lorg/antlr/v4/runtime/Token;
1 3 2 continueNode Lcom/oracle/truffle/sl/nodes/controlflow/SLContinueNode;
MethodParameters:
Name Flags
continueToken
public com.oracle.truffle.sl.nodes.SLStatementNode createWhile(org.antlr.v4.runtime.Token, com.oracle.truffle.sl.nodes.SLExpressionNode, com.oracle.truffle.sl.nodes.SLStatementNode);
descriptor: (Lorg/antlr/v4/runtime/Token;Lcom/oracle/truffle/sl/nodes/SLExpressionNode;Lcom/oracle/truffle/sl/nodes/SLStatementNode;)Lcom/oracle/truffle/sl/nodes/SLStatementNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ifnull 1
aload 3
ifnonnull 2
1: StackMap locals:
StackMap stack:
aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.sl.nodes.SLExpressionNode.addStatementTag:()V
3: aload 1
invokeinterface org.antlr.v4.runtime.Token.getStartIndex:()I
istore 4
start local 4 4: aload 3
invokevirtual com.oracle.truffle.sl.nodes.SLStatementNode.getSourceEndIndex:()I
istore 5
start local 5 5: new com.oracle.truffle.sl.nodes.controlflow.SLWhileNode
dup
aload 2
aload 3
invokespecial com.oracle.truffle.sl.nodes.controlflow.SLWhileNode.<init>:(Lcom/oracle/truffle/sl/nodes/SLExpressionNode;Lcom/oracle/truffle/sl/nodes/SLStatementNode;)V
astore 6
start local 6 6: aload 6
iload 4
iload 5
iload 4
isub
invokevirtual com.oracle.truffle.sl.nodes.controlflow.SLWhileNode.setSourceSection:(II)V
7: aload 6
areturn
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 8 0 this Lcom/oracle/truffle/sl/parser/SLNodeFactory;
0 8 1 whileToken Lorg/antlr/v4/runtime/Token;
0 8 2 conditionNode Lcom/oracle/truffle/sl/nodes/SLExpressionNode;
0 8 3 bodyNode Lcom/oracle/truffle/sl/nodes/SLStatementNode;
4 8 4 start I
5 8 5 end I
6 8 6 whileNode Lcom/oracle/truffle/sl/nodes/controlflow/SLWhileNode;
MethodParameters:
Name Flags
whileToken
conditionNode
bodyNode
public com.oracle.truffle.sl.nodes.SLStatementNode createIf(org.antlr.v4.runtime.Token, com.oracle.truffle.sl.nodes.SLExpressionNode, com.oracle.truffle.sl.nodes.SLStatementNode, com.oracle.truffle.sl.nodes.SLStatementNode);
descriptor: (Lorg/antlr/v4/runtime/Token;Lcom/oracle/truffle/sl/nodes/SLExpressionNode;Lcom/oracle/truffle/sl/nodes/SLStatementNode;Lcom/oracle/truffle/sl/nodes/SLStatementNode;)Lcom/oracle/truffle/sl/nodes/SLStatementNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
ifnull 1
aload 3
ifnonnull 2
1: StackMap locals:
StackMap stack:
aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.sl.nodes.SLExpressionNode.addStatementTag:()V
3: aload 1
invokeinterface org.antlr.v4.runtime.Token.getStartIndex:()I
istore 5
start local 5 4: aload 4
ifnonnull 5
aload 3
invokevirtual com.oracle.truffle.sl.nodes.SLStatementNode.getSourceEndIndex:()I
goto 6
StackMap locals: int
StackMap stack:
5: aload 4
invokevirtual com.oracle.truffle.sl.nodes.SLStatementNode.getSourceEndIndex:()I
StackMap locals:
StackMap stack: int
6: istore 6
start local 6 7: new com.oracle.truffle.sl.nodes.controlflow.SLIfNode
dup
aload 2
aload 3
aload 4
invokespecial com.oracle.truffle.sl.nodes.controlflow.SLIfNode.<init>:(Lcom/oracle/truffle/sl/nodes/SLExpressionNode;Lcom/oracle/truffle/sl/nodes/SLStatementNode;Lcom/oracle/truffle/sl/nodes/SLStatementNode;)V
astore 7
start local 7 8: aload 7
iload 5
iload 6
iload 5
isub
invokevirtual com.oracle.truffle.sl.nodes.controlflow.SLIfNode.setSourceSection:(II)V
9: aload 7
areturn
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 10 0 this Lcom/oracle/truffle/sl/parser/SLNodeFactory;
0 10 1 ifToken Lorg/antlr/v4/runtime/Token;
0 10 2 conditionNode Lcom/oracle/truffle/sl/nodes/SLExpressionNode;
0 10 3 thenPartNode Lcom/oracle/truffle/sl/nodes/SLStatementNode;
0 10 4 elsePartNode Lcom/oracle/truffle/sl/nodes/SLStatementNode;
4 10 5 start I
7 10 6 end I
8 10 7 ifNode Lcom/oracle/truffle/sl/nodes/controlflow/SLIfNode;
MethodParameters:
Name Flags
ifToken
conditionNode
thenPartNode
elsePartNode
public com.oracle.truffle.sl.nodes.SLStatementNode createReturn(org.antlr.v4.runtime.Token, com.oracle.truffle.sl.nodes.SLExpressionNode);
descriptor: (Lorg/antlr/v4/runtime/Token;Lcom/oracle/truffle/sl/nodes/SLExpressionNode;)Lcom/oracle/truffle/sl/nodes/SLStatementNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface org.antlr.v4.runtime.Token.getStartIndex:()I
istore 3
start local 3 1: aload 2
ifnonnull 2
aload 1
invokeinterface org.antlr.v4.runtime.Token.getText:()Ljava/lang/String;
invokevirtual java.lang.String.length:()I
goto 3
StackMap locals: int
StackMap stack:
2: aload 2
invokevirtual com.oracle.truffle.sl.nodes.SLExpressionNode.getSourceEndIndex:()I
iload 3
isub
StackMap locals:
StackMap stack: int
3: istore 4
start local 4 4: new com.oracle.truffle.sl.nodes.controlflow.SLReturnNode
dup
aload 2
invokespecial com.oracle.truffle.sl.nodes.controlflow.SLReturnNode.<init>:(Lcom/oracle/truffle/sl/nodes/SLExpressionNode;)V
astore 5
start local 5 5: aload 5
iload 3
iload 4
invokevirtual com.oracle.truffle.sl.nodes.controlflow.SLReturnNode.setSourceSection:(II)V
6: 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 7 0 this Lcom/oracle/truffle/sl/parser/SLNodeFactory;
0 7 1 t Lorg/antlr/v4/runtime/Token;
0 7 2 valueNode Lcom/oracle/truffle/sl/nodes/SLExpressionNode;
1 7 3 start I
4 7 4 length I
5 7 5 returnNode Lcom/oracle/truffle/sl/nodes/controlflow/SLReturnNode;
MethodParameters:
Name Flags
t
valueNode
public com.oracle.truffle.sl.nodes.SLExpressionNode createBinary(org.antlr.v4.runtime.Token, com.oracle.truffle.sl.nodes.SLExpressionNode, com.oracle.truffle.sl.nodes.SLExpressionNode);
descriptor: (Lorg/antlr/v4/runtime/Token;Lcom/oracle/truffle/sl/nodes/SLExpressionNode;Lcom/oracle/truffle/sl/nodes/SLExpressionNode;)Lcom/oracle/truffle/sl/nodes/SLExpressionNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tSLUnboxNodeGen cannot be resolved\n\tSLUnboxNodeGen cannot be resolved\n\tSLAddNodeGen cannot be resolved\n\tSLMulNodeGen cannot be resolved\n\tSLDivNodeGen cannot be resolved\n\tSLSubNodeGen cannot be resolved\n\tSLLessThanNodeGen cannot be resolved\n\tSLLessOrEqualNodeGen cannot be resolved\n\tSLLogicalNotNodeGen cannot be resolved\n\tSLLessOrEqualNodeGen cannot be resolved\n\tSLLogicalNotNodeGen cannot be resolved\n\tSLLessThanNodeGen cannot be resolved\n\tSLEqualNodeGen cannot be resolved\n\tSLLogicalNotNodeGen cannot be resolved\n\tSLEqualNodeGen 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/parser/SLNodeFactory;
MethodParameters:
Name Flags
opToken
leftNode
rightNode
public com.oracle.truffle.sl.nodes.SLExpressionNode createCall(com.oracle.truffle.sl.nodes.SLExpressionNode, java.util.List<com.oracle.truffle.sl.nodes.SLExpressionNode>, org.antlr.v4.runtime.Token);
descriptor: (Lcom/oracle/truffle/sl/nodes/SLExpressionNode;Ljava/util/List;Lorg/antlr/v4/runtime/Token;)Lcom/oracle/truffle/sl/nodes/SLExpressionNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnull 1
aload 2
invokestatic com.oracle.truffle.sl.parser.SLNodeFactory.containsNull:(Ljava/util/List;)Z
ifeq 2
1: StackMap locals:
StackMap stack:
aconst_null
areturn
2: StackMap locals:
StackMap stack:
new com.oracle.truffle.sl.nodes.expression.SLInvokeNode
dup
aload 1
aload 2
aload 2
invokeinterface java.util.List.size:()I
anewarray com.oracle.truffle.sl.nodes.SLExpressionNode
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast com.oracle.truffle.sl.nodes.SLExpressionNode[]
invokespecial com.oracle.truffle.sl.nodes.expression.SLInvokeNode.<init>:(Lcom/oracle/truffle/sl/nodes/SLExpressionNode;[Lcom/oracle/truffle/sl/nodes/SLExpressionNode;)V
astore 4
start local 4 3: aload 1
invokevirtual com.oracle.truffle.sl.nodes.SLExpressionNode.getSourceCharIndex:()I
istore 5
start local 5 4: aload 3
invokeinterface org.antlr.v4.runtime.Token.getStartIndex:()I
aload 3
invokeinterface org.antlr.v4.runtime.Token.getText:()Ljava/lang/String;
invokevirtual java.lang.String.length:()I
iadd
istore 6
start local 6 5: aload 4
iload 5
iload 6
iload 5
isub
invokevirtual com.oracle.truffle.sl.nodes.SLExpressionNode.setSourceSection:(II)V
6: aload 4
invokevirtual com.oracle.truffle.sl.nodes.SLExpressionNode.addExpressionTag:()V
7: aload 4
areturn
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 8 0 this Lcom/oracle/truffle/sl/parser/SLNodeFactory;
0 8 1 functionNode Lcom/oracle/truffle/sl/nodes/SLExpressionNode;
0 8 2 parameterNodes Ljava/util/List<Lcom/oracle/truffle/sl/nodes/SLExpressionNode;>;
0 8 3 finalToken Lorg/antlr/v4/runtime/Token;
3 8 4 result Lcom/oracle/truffle/sl/nodes/SLExpressionNode;
4 8 5 startPos I
5 8 6 endPos I
Signature: (Lcom/oracle/truffle/sl/nodes/SLExpressionNode;Ljava/util/List<Lcom/oracle/truffle/sl/nodes/SLExpressionNode;>;Lorg/antlr/v4/runtime/Token;)Lcom/oracle/truffle/sl/nodes/SLExpressionNode;
MethodParameters:
Name Flags
functionNode
parameterNodes
finalToken
public com.oracle.truffle.sl.nodes.SLExpressionNode createAssignment(com.oracle.truffle.sl.nodes.SLExpressionNode, com.oracle.truffle.sl.nodes.SLExpressionNode);
descriptor: (Lcom/oracle/truffle/sl/nodes/SLExpressionNode;Lcom/oracle/truffle/sl/nodes/SLExpressionNode;)Lcom/oracle/truffle/sl/nodes/SLExpressionNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aconst_null
invokevirtual com.oracle.truffle.sl.parser.SLNodeFactory.createAssignment:(Lcom/oracle/truffle/sl/nodes/SLExpressionNode;Lcom/oracle/truffle/sl/nodes/SLExpressionNode;Ljava/lang/Integer;)Lcom/oracle/truffle/sl/nodes/SLExpressionNode;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/sl/parser/SLNodeFactory;
0 1 1 nameNode Lcom/oracle/truffle/sl/nodes/SLExpressionNode;
0 1 2 valueNode Lcom/oracle/truffle/sl/nodes/SLExpressionNode;
MethodParameters:
Name Flags
nameNode
valueNode
public com.oracle.truffle.sl.nodes.SLExpressionNode createAssignment(com.oracle.truffle.sl.nodes.SLExpressionNode, com.oracle.truffle.sl.nodes.SLExpressionNode, java.lang.Integer);
descriptor: (Lcom/oracle/truffle/sl/nodes/SLExpressionNode;Lcom/oracle/truffle/sl/nodes/SLExpressionNode;Ljava/lang/Integer;)Lcom/oracle/truffle/sl/nodes/SLExpressionNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tSLWriteLocalVariableNodeGen 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/parser/SLNodeFactory;
MethodParameters:
Name Flags
nameNode
valueNode
argumentIndex
public com.oracle.truffle.sl.nodes.SLExpressionNode createRead(com.oracle.truffle.sl.nodes.SLExpressionNode);
descriptor: (Lcom/oracle/truffle/sl/nodes/SLExpressionNode;)Lcom/oracle/truffle/sl/nodes/SLExpressionNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tSLReadLocalVariableNodeGen 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/parser/SLNodeFactory;
MethodParameters:
Name Flags
nameNode
public com.oracle.truffle.sl.nodes.SLExpressionNode createStringLiteral(org.antlr.v4.runtime.Token, boolean);
descriptor: (Lorg/antlr/v4/runtime/Token;Z)Lcom/oracle/truffle/sl/nodes/SLExpressionNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface org.antlr.v4.runtime.Token.getText:()Ljava/lang/String;
astore 3
start local 3 1: iload 2
ifeq 5
2: getstatic com.oracle.truffle.sl.parser.SLNodeFactory.$assertionsDisabled:Z
ifne 4
aload 3
invokevirtual java.lang.String.length:()I
iconst_2
if_icmplt 3
aload 3
ldc "\""
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 3
aload 3
ldc "\""
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 4
StackMap locals: java.lang.String
StackMap stack:
3: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 3
iconst_1
aload 3
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 3
5: StackMap locals:
StackMap stack:
new com.oracle.truffle.sl.nodes.expression.SLStringLiteralNode
dup
aload 3
invokevirtual java.lang.String.intern:()Ljava/lang/String;
invokespecial com.oracle.truffle.sl.nodes.expression.SLStringLiteralNode.<init>:(Ljava/lang/String;)V
astore 4
start local 4 6: aload 4
aload 1
invokestatic com.oracle.truffle.sl.parser.SLNodeFactory.srcFromToken:(Lcom/oracle/truffle/sl/nodes/SLStatementNode;Lorg/antlr/v4/runtime/Token;)V
7: aload 4
invokevirtual com.oracle.truffle.sl.nodes.expression.SLStringLiteralNode.addExpressionTag:()V
8: 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 9 0 this Lcom/oracle/truffle/sl/parser/SLNodeFactory;
0 9 1 literalToken Lorg/antlr/v4/runtime/Token;
0 9 2 removeQuotes Z
1 9 3 literal Ljava/lang/String;
6 9 4 result Lcom/oracle/truffle/sl/nodes/expression/SLStringLiteralNode;
MethodParameters:
Name Flags
literalToken
removeQuotes
public com.oracle.truffle.sl.nodes.SLExpressionNode createNumericLiteral(org.antlr.v4.runtime.Token);
descriptor: (Lorg/antlr/v4/runtime/Token;)Lcom/oracle/truffle/sl/nodes/SLExpressionNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.sl.nodes.expression.SLLongLiteralNode
dup
aload 1
invokeinterface org.antlr.v4.runtime.Token.getText:()Ljava/lang/String;
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
invokespecial com.oracle.truffle.sl.nodes.expression.SLLongLiteralNode.<init>:(J)V
astore 2
start local 2 1: goto 4
end local 2 StackMap locals:
StackMap stack: java.lang.NumberFormatException
2: pop
3: new com.oracle.truffle.sl.nodes.expression.SLBigIntegerLiteralNode
dup
new java.math.BigInteger
dup
aload 1
invokeinterface org.antlr.v4.runtime.Token.getText:()Ljava/lang/String;
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;)V
invokespecial com.oracle.truffle.sl.nodes.expression.SLBigIntegerLiteralNode.<init>:(Ljava/math/BigInteger;)V
astore 2
start local 2 4: StackMap locals: com.oracle.truffle.sl.nodes.SLExpressionNode
StackMap stack:
aload 2
aload 1
invokestatic com.oracle.truffle.sl.parser.SLNodeFactory.srcFromToken:(Lcom/oracle/truffle/sl/nodes/SLStatementNode;Lorg/antlr/v4/runtime/Token;)V
5: aload 2
invokevirtual com.oracle.truffle.sl.nodes.SLExpressionNode.addExpressionTag:()V
6: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/sl/parser/SLNodeFactory;
0 7 1 literalToken Lorg/antlr/v4/runtime/Token;
1 2 2 result Lcom/oracle/truffle/sl/nodes/SLExpressionNode;
4 7 2 result Lcom/oracle/truffle/sl/nodes/SLExpressionNode;
Exception table:
from to target type
0 1 2 Class java.lang.NumberFormatException
MethodParameters:
Name Flags
literalToken
public com.oracle.truffle.sl.nodes.SLExpressionNode createParenExpression(com.oracle.truffle.sl.nodes.SLExpressionNode, int, int);
descriptor: (Lcom/oracle/truffle/sl/nodes/SLExpressionNode;II)Lcom/oracle/truffle/sl/nodes/SLExpressionNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
new com.oracle.truffle.sl.nodes.expression.SLParenExpressionNode
dup
aload 1
invokespecial com.oracle.truffle.sl.nodes.expression.SLParenExpressionNode.<init>:(Lcom/oracle/truffle/sl/nodes/SLExpressionNode;)V
astore 4
start local 4 3: aload 4
iload 2
iload 3
invokevirtual com.oracle.truffle.sl.nodes.expression.SLParenExpressionNode.setSourceSection:(II)V
4: 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 5 0 this Lcom/oracle/truffle/sl/parser/SLNodeFactory;
0 5 1 expressionNode Lcom/oracle/truffle/sl/nodes/SLExpressionNode;
0 5 2 start I
0 5 3 length I
3 5 4 result Lcom/oracle/truffle/sl/nodes/expression/SLParenExpressionNode;
MethodParameters:
Name Flags
expressionNode
start
length
public com.oracle.truffle.sl.nodes.SLExpressionNode createReadProperty(com.oracle.truffle.sl.nodes.SLExpressionNode, com.oracle.truffle.sl.nodes.SLExpressionNode);
descriptor: (Lcom/oracle/truffle/sl/nodes/SLExpressionNode;Lcom/oracle/truffle/sl/nodes/SLExpressionNode;)Lcom/oracle/truffle/sl/nodes/SLExpressionNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tSLReadPropertyNodeGen 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/parser/SLNodeFactory;
MethodParameters:
Name Flags
receiverNode
nameNode
public com.oracle.truffle.sl.nodes.SLExpressionNode createWriteProperty(com.oracle.truffle.sl.nodes.SLExpressionNode, com.oracle.truffle.sl.nodes.SLExpressionNode, com.oracle.truffle.sl.nodes.SLExpressionNode);
descriptor: (Lcom/oracle/truffle/sl/nodes/SLExpressionNode;Lcom/oracle/truffle/sl/nodes/SLExpressionNode;Lcom/oracle/truffle/sl/nodes/SLExpressionNode;)Lcom/oracle/truffle/sl/nodes/SLExpressionNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tSLWritePropertyNodeGen 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/parser/SLNodeFactory;
MethodParameters:
Name Flags
receiverNode
nameNode
valueNode
private static void srcFromToken(com.oracle.truffle.sl.nodes.SLStatementNode, org.antlr.v4.runtime.Token);
descriptor: (Lcom/oracle/truffle/sl/nodes/SLStatementNode;Lorg/antlr/v4/runtime/Token;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokeinterface org.antlr.v4.runtime.Token.getStartIndex:()I
aload 1
invokeinterface org.antlr.v4.runtime.Token.getText:()Ljava/lang/String;
invokevirtual java.lang.String.length:()I
invokevirtual com.oracle.truffle.sl.nodes.SLStatementNode.setSourceSection:(II)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 node Lcom/oracle/truffle/sl/nodes/SLStatementNode;
0 2 1 token Lorg/antlr/v4/runtime/Token;
MethodParameters:
Name Flags
node
token
private static boolean containsNull(java.util.List<?>);
descriptor: (Ljava/util/List;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 2
goto 4
StackMap locals: java.util.List top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 1
start local 1 2: aload 1
ifnonnull 4
3: iconst_1
ireturn
end local 1 4: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 list Ljava/util/List<*>;
2 4 1 e Ljava/lang/Object;
Signature: (Ljava/util/List<*>;)Z
MethodParameters:
Name Flags
list
}
SourceFile: "SLNodeFactory.java"
NestMembers:
com.oracle.truffle.sl.parser.SLNodeFactory$LexicalScope
InnerClasses:
LexicalScope = com.oracle.truffle.sl.parser.SLNodeFactory$LexicalScope of com.oracle.truffle.sl.parser.SLNodeFactory