public class com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator implements com.oracle.truffle.dsl.processor.expression.DSLExpression$DSLExpressionVisitor
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator
super_class: java.lang.Object
{
private final java.util.Map<com.oracle.truffle.dsl.processor.expression.DSLExpression$Variable, com.oracle.truffle.dsl.processor.java.model.CodeTree> bindings;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Lcom/oracle/truffle/dsl/processor/expression/DSLExpression$Variable;Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;>;
private final com.oracle.truffle.dsl.processor.java.model.CodeTree root;
descriptor: Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Deque<com.oracle.truffle.dsl.processor.java.model.CodeTree> stack;
descriptor: Ljava/util/Deque;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Deque<Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;>;
void <init>(com.oracle.truffle.dsl.processor.java.model.CodeTree, java.util.Map<com.oracle.truffle.dsl.processor.expression.DSLExpression$Variable, com.oracle.truffle.dsl.processor.java.model.CodeTree>);
descriptor: (Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;Ljava/util/Map;)V
flags: (0x0000)
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
new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
putfield com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.stack:Ljava/util/Deque;
2: aload 0
aload 2
putfield com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.bindings:Ljava/util/Map;
3: aload 0
aload 1
putfield com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.root:Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/dsl/processor/generator/DSLExpressionGenerator;
0 5 1 root Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
0 5 2 bindings Ljava/util/Map<Lcom/oracle/truffle/dsl/processor/expression/DSLExpression$Variable;Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;>;
Signature: (Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;Ljava/util/Map<Lcom/oracle/truffle/dsl/processor/expression/DSLExpression$Variable;Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;>;)V
MethodParameters:
Name Flags
root
bindings
public void visitClassLiteral(com.oracle.truffle.dsl.processor.expression.DSLExpression$ClassLiteral);
descriptor: (Lcom/oracle/truffle/dsl/processor/expression/DSLExpression$ClassLiteral;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokestatic com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 1
invokevirtual com.oracle.truffle.dsl.processor.expression.DSLExpression$ClassLiteral.getLiteral:()Ljavax/lang/model/type/TypeMirror;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.typeLiteral:(Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.build:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
invokevirtual com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.push:(Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/dsl/processor/generator/DSLExpressionGenerator;
0 2 1 classLiteral Lcom/oracle/truffle/dsl/processor/expression/DSLExpression$ClassLiteral;
MethodParameters:
Name Flags
classLiteral
public void visitBinary(com.oracle.truffle.dsl.processor.expression.DSLExpression$Binary);
descriptor: (Lcom/oracle/truffle/dsl/processor/expression/DSLExpression$Binary;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.stack:Ljava/util/Deque;
invokeinterface java.util.Deque.pop:()Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.java.model.CodeTree
astore 2
start local 2 1: aload 0
getfield com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.stack:Ljava/util/Deque;
invokeinterface java.util.Deque.pop:()Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.java.model.CodeTree
astore 3
start local 3 2: aload 0
getfield com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.stack:Ljava/util/Deque;
aload 3
new java.lang.StringBuilder
dup
ldc " "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual com.oracle.truffle.dsl.processor.expression.DSLExpression$Binary.getOperator:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
aload 2
invokestatic com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.combine:(Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
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/dsl/processor/generator/DSLExpressionGenerator;
0 4 1 binary Lcom/oracle/truffle/dsl/processor/expression/DSLExpression$Binary;
1 4 2 right Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
2 4 3 left Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
MethodParameters:
Name Flags
binary
public void visitCast(com.oracle.truffle.dsl.processor.expression.DSLExpression$Cast);
descriptor: (Lcom/oracle/truffle/dsl/processor/expression/DSLExpression$Cast;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
astore 2
start local 2 1: aload 2
ldc "("
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
2: aload 2
aload 1
invokevirtual com.oracle.truffle.dsl.processor.expression.DSLExpression$Cast.getCastType:()Ljavax/lang/model/type/TypeMirror;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.cast:(Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
3: aload 2
aload 0
invokevirtual com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.pop:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.tree:(Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
4: aload 2
ldc ")"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
5: aload 0
aload 2
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.build:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
invokevirtual com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.push:(Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;)V
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/dsl/processor/generator/DSLExpressionGenerator;
0 7 1 cast Lcom/oracle/truffle/dsl/processor/expression/DSLExpression$Cast;
1 7 2 builder Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
MethodParameters:
Name Flags
cast
public void visitCall(com.oracle.truffle.dsl.processor.expression.DSLExpression$Call);
descriptor: (Lcom/oracle/truffle/dsl/processor/expression/DSLExpression$Call;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.dsl.processor.expression.DSLExpression$Call.getResolvedMethod:()Ljavax/lang/model/element/ExecutableElement;
astore 2
start local 2 1: aload 2
invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
invokeinterface java.util.List.size:()I
anewarray com.oracle.truffle.dsl.processor.java.model.CodeTree
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 6
4: StackMap locals: javax.lang.model.element.ExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTree[] int
StackMap stack:
aload 3
aload 3
arraylength
iload 4
isub
iconst_1
isub
aload 0
invokevirtual com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.pop:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
aastore
5: iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
aload 3
arraylength
if_icmplt 4
end local 4 7: invokestatic com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
astore 4
start local 4 8: aload 1
invokevirtual com.oracle.truffle.dsl.processor.expression.DSLExpression$Call.getResolvedMethod:()Ljavax/lang/model/element/ExecutableElement;
invokeinterface javax.lang.model.element.ExecutableElement.getKind:()Ljavax/lang/model/element/ElementKind;
getstatic javax.lang.model.element.ElementKind.CONSTRUCTOR:Ljavax/lang/model/element/ElementKind;
if_acmpne 15
9: aload 1
invokevirtual com.oracle.truffle.dsl.processor.expression.DSLExpression$Call.getResolvedType:()Ljavax/lang/model/type/TypeMirror;
astore 5
start local 5 10: aload 5
invokeinterface javax.lang.model.type.TypeMirror.getKind:()Ljavax/lang/model/type/TypeKind;
getstatic javax.lang.model.type.TypeKind.DECLARED:Ljavax/lang/model/type/TypeKind;
if_acmpne 13
aload 5
checkcast javax.lang.model.type.DeclaredType
invokeinterface javax.lang.model.type.DeclaredType.getTypeArguments:()Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifne 13
11: aload 4
new java.lang.StringBuilder
dup
aload 5
checkcast javax.lang.model.type.DeclaredType
iconst_0
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.getDeclaredName:(Ljavax/lang/model/type/DeclaredType;Z)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "<>"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startNew:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
12: goto 26
13: StackMap locals: com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator com.oracle.truffle.dsl.processor.expression.DSLExpression$Call javax.lang.model.element.ExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTree[] com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.type.TypeMirror
StackMap stack:
aload 4
aload 1
invokevirtual com.oracle.truffle.dsl.processor.expression.DSLExpression$Call.getResolvedType:()Ljavax/lang/model/type/TypeMirror;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startNew:(Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
end local 5 14: goto 26
StackMap locals:
StackMap stack:
15: aload 1
invokevirtual com.oracle.truffle.dsl.processor.expression.DSLExpression$Call.getReceiver:()Lcom/oracle/truffle/dsl/processor/expression/DSLExpression;
ifnonnull 23
16: aload 2
invokestatic com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.isStatic:(Ljavax/lang/model/element/Element;)Z
ifeq 19
17: aload 4
aload 2
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startStaticCall:(Ljavax/lang/model/element/ExecutableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
18: goto 26
19: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.root:Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
ifnull 21
20: aload 4
aload 0
getfield com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.root:Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.tree:(Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "."
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
21: StackMap locals:
StackMap stack:
aload 4
aload 2
invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startCall:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
22: goto 26
23: StackMap locals:
StackMap stack:
aload 2
invokestatic com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.isStatic:(Ljavax/lang/model/element/Element;)Z
ifeq 25
24: new java.lang.AssertionError
dup
ldc "Static calls must not have receivers."
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
25: StackMap locals:
StackMap stack:
aload 4
aload 0
invokevirtual com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.pop:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
aload 2
invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startCall:(Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
26: StackMap locals:
StackMap stack:
aload 3
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 30
StackMap locals: com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator com.oracle.truffle.dsl.processor.expression.DSLExpression$Call javax.lang.model.element.ExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTree[] com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder top int int com.oracle.truffle.dsl.processor.java.model.CodeTree[]
StackMap stack:
27: aload 8
iload 6
aaload
astore 5
start local 5 28: aload 4
aload 5
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.tree:(Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
end local 5 29: iinc 6 1
StackMap locals:
StackMap stack:
30: iload 6
iload 7
if_icmplt 27
31: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
32: aload 0
aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.build:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
invokevirtual com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.push:(Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;)V
33: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lcom/oracle/truffle/dsl/processor/generator/DSLExpressionGenerator;
0 34 1 call Lcom/oracle/truffle/dsl/processor/expression/DSLExpression$Call;
1 34 2 method Ljavax/lang/model/element/ExecutableElement;
2 34 3 parameters [Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
3 7 4 i I
8 34 4 builder Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
10 14 5 type Ljavax/lang/model/type/TypeMirror;
28 29 5 parameter Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
MethodParameters:
Name Flags
call
public void visitIntLiteral(com.oracle.truffle.dsl.processor.expression.DSLExpression$IntLiteral);
descriptor: (Lcom/oracle/truffle/dsl/processor/expression/DSLExpression$IntLiteral;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.dsl.processor.expression.DSLExpression$IntLiteral.getLiteral:()Ljava/lang/String;
invokestatic com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
invokevirtual com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.push:(Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/dsl/processor/generator/DSLExpressionGenerator;
0 2 1 binary Lcom/oracle/truffle/dsl/processor/expression/DSLExpression$IntLiteral;
MethodParameters:
Name Flags
binary
public void visitBooleanLiteral(com.oracle.truffle.dsl.processor.expression.DSLExpression$BooleanLiteral);
descriptor: (Lcom/oracle/truffle/dsl/processor/expression/DSLExpression$BooleanLiteral;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.dsl.processor.expression.DSLExpression$BooleanLiteral.getLiteral:()Z
ifeq 1
ldc "true"
goto 2
StackMap locals:
StackMap stack: com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator
1: ldc "false"
StackMap locals: com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator com.oracle.truffle.dsl.processor.expression.DSLExpression$BooleanLiteral
StackMap stack: com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator java.lang.String
2: invokestatic com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
invokevirtual com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.push:(Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/dsl/processor/generator/DSLExpressionGenerator;
0 4 1 binary Lcom/oracle/truffle/dsl/processor/expression/DSLExpression$BooleanLiteral;
MethodParameters:
Name Flags
binary
public void visitNegate(com.oracle.truffle.dsl.processor.expression.DSLExpression$Negate);
descriptor: (Lcom/oracle/truffle/dsl/processor/expression/DSLExpression$Negate;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "!"
invokestatic com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
ldc "("
invokestatic com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
aload 0
invokevirtual com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.pop:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
ldc ")"
invokestatic com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
invokestatic com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.combine:(Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
invokestatic com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.combine:(Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
invokevirtual com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.push:(Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/dsl/processor/generator/DSLExpressionGenerator;
0 2 1 negate Lcom/oracle/truffle/dsl/processor/expression/DSLExpression$Negate;
MethodParameters:
Name Flags
negate
public void visitVariable(com.oracle.truffle.dsl.processor.expression.DSLExpression$Variable);
descriptor: (Lcom/oracle/truffle/dsl/processor/expression/DSLExpression$Variable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.dsl.processor.expression.DSLExpression$Variable.getResolvedVariable:()Ljavax/lang/model/element/VariableElement;
astore 2
start local 2 1: aload 1
invokevirtual com.oracle.truffle.dsl.processor.expression.DSLExpression$Variable.getResolvedType:()Ljavax/lang/model/type/TypeMirror;
invokeinterface javax.lang.model.type.TypeMirror.getKind:()Ljavax/lang/model/type/TypeKind;
getstatic javax.lang.model.type.TypeKind.NULL:Ljavax/lang/model/type/TypeKind;
if_acmpne 4
2: ldc "null"
invokestatic com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.singleString:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
astore 3
start local 3 3: goto 19
end local 3 StackMap locals: javax.lang.model.element.VariableElement
StackMap stack:
4: aload 1
invokevirtual com.oracle.truffle.dsl.processor.expression.DSLExpression$Variable.getReceiver:()Lcom/oracle/truffle/dsl/processor/expression/DSLExpression;
ifnonnull 16
5: aload 2
invokestatic com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.isStatic:(Ljavax/lang/model/element/Element;)Z
ifeq 8
6: aload 2
invokestatic com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.staticReference:(Ljavax/lang/model/element/VariableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
astore 3
start local 3 7: goto 19
end local 3 8: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.bindings:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.java.model.CodeTree
astore 3
start local 3 9: iconst_1
istore 4
start local 4 10: aload 3
ifnonnull 13
11: aload 2
invokeinterface javax.lang.model.element.VariableElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
invokestatic com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
astore 3
12: iconst_0
istore 4
13: StackMap locals: com.oracle.truffle.dsl.processor.java.model.CodeTree int
StackMap stack:
aload 0
getfield com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.root:Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
ifnull 19
iload 4
ifne 19
14: aload 0
getfield com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.root:Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
ldc "."
invokestatic com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
aload 3
invokestatic com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.combine:(Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
astore 3
end local 4 15: goto 19
end local 3 16: StackMap locals:
StackMap stack:
aload 2
invokestatic com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.isStatic:(Ljavax/lang/model/element/Element;)Z
ifeq 18
17: new java.lang.AssertionError
dup
ldc "Static variables cannot have receivers."
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
18: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.pop:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
ldc "."
invokestatic com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
aload 2
invokeinterface javax.lang.model.element.VariableElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
invokestatic com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
invokestatic com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.combine:(Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
astore 3
start local 3 19: StackMap locals: com.oracle.truffle.dsl.processor.java.model.CodeTree
StackMap stack:
aload 0
aload 3
invokevirtual com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.push:(Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;)V
20: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lcom/oracle/truffle/dsl/processor/generator/DSLExpressionGenerator;
0 21 1 variable Lcom/oracle/truffle/dsl/processor/expression/DSLExpression$Variable;
1 21 2 resolvedVariable Ljavax/lang/model/element/VariableElement;
3 4 3 tree Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
7 8 3 tree Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
9 16 3 tree Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
19 21 3 tree Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
10 15 4 bound Z
MethodParameters:
Name Flags
variable
private static boolean isStatic(javax.lang.model.element.Element);
descriptor: (Ljavax/lang/model/element/Element;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface javax.lang.model.element.Element.getModifiers:()Ljava/util/Set;
getstatic javax.lang.model.element.Modifier.STATIC:Ljavax/lang/model/element/Modifier;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 element Ljavax/lang/model/element/Element;
MethodParameters:
Name Flags
element
private static com.oracle.truffle.dsl.processor.java.model.CodeTree combine(com.oracle.truffle.dsl.processor.java.model.CodeTree, com.oracle.truffle.dsl.processor.java.model.CodeTree);
descriptor: (Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder
dup
aconst_null
invokespecial com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.<init>:(Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;)V
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startGroup:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 0
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.tree:(Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 1
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.tree:(Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.build:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 tree1 Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
0 1 1 tree2 Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
MethodParameters:
Name Flags
tree1
tree2
private static com.oracle.truffle.dsl.processor.java.model.CodeTree combine(com.oracle.truffle.dsl.processor.java.model.CodeTree, com.oracle.truffle.dsl.processor.java.model.CodeTree, com.oracle.truffle.dsl.processor.java.model.CodeTree);
descriptor: (Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder
dup
aconst_null
invokespecial com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.<init>:(Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;)V
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startGroup:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 0
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.tree:(Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 1
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.tree:(Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 2
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.tree:(Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.build:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 tree1 Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
0 1 1 tree2 Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
0 1 2 tree3 Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
MethodParameters:
Name Flags
tree1
tree2
tree3
private static com.oracle.truffle.dsl.processor.java.model.CodeTree string(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.singleString:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 s Ljava/lang/String;
MethodParameters:
Name Flags
s
private static com.oracle.truffle.dsl.processor.java.model.CodeTree staticReference(javax.lang.model.element.VariableElement);
descriptor: (Ljavax/lang/model/element/VariableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokeinterface javax.lang.model.element.VariableElement.getEnclosingElement:()Ljavax/lang/model/element/Element;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aload 0
invokeinterface javax.lang.model.element.VariableElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
invokestatic com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.singleString:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
areturn
3: StackMap locals: javax.lang.model.element.Element
StackMap stack:
invokestatic com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 1
invokeinterface javax.lang.model.element.Element.asType:()Ljavax/lang/model/type/TypeMirror;
aload 0
invokeinterface javax.lang.model.element.VariableElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.staticReference:(Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.build:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 var Ljavax/lang/model/element/VariableElement;
1 4 1 enclosing Ljavax/lang/model/element/Element;
MethodParameters:
Name Flags
var
private void push(com.oracle.truffle.dsl.processor.java.model.CodeTree);
descriptor: (Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.stack:Ljava/util/Deque;
aload 1
invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/dsl/processor/generator/DSLExpressionGenerator;
0 2 1 tree Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
MethodParameters:
Name Flags
tree
private com.oracle.truffle.dsl.processor.java.model.CodeTree pop();
descriptor: ()Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.stack:Ljava/util/Deque;
invokeinterface java.util.Deque.pop:()Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.java.model.CodeTree
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/dsl/processor/generator/DSLExpressionGenerator;
public static com.oracle.truffle.dsl.processor.java.model.CodeTree write(com.oracle.truffle.dsl.processor.expression.DSLExpression, com.oracle.truffle.dsl.processor.java.model.CodeTree, java.util.Map<com.oracle.truffle.dsl.processor.expression.DSLExpression$Variable, com.oracle.truffle.dsl.processor.java.model.CodeTree>);
descriptor: (Lcom/oracle/truffle/dsl/processor/expression/DSLExpression;Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;Ljava/util/Map;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator
dup
aload 1
aload 2
invokespecial com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.<init>:(Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;Ljava/util/Map;)V
astore 3
start local 3 1: aload 0
aload 3
invokevirtual com.oracle.truffle.dsl.processor.expression.DSLExpression.accept:(Lcom/oracle/truffle/dsl/processor/expression/DSLExpression$DSLExpressionVisitor;)V
2: ldc "("
invokestatic com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
aload 3
invokevirtual com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.pop:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
ldc ")"
invokestatic com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
invokestatic com.oracle.truffle.dsl.processor.generator.DSLExpressionGenerator.combine:(Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 expression Lcom/oracle/truffle/dsl/processor/expression/DSLExpression;
0 3 1 root Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
0 3 2 bindings Ljava/util/Map<Lcom/oracle/truffle/dsl/processor/expression/DSLExpression$Variable;Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;>;
1 3 3 writer Lcom/oracle/truffle/dsl/processor/generator/DSLExpressionGenerator;
Signature: (Lcom/oracle/truffle/dsl/processor/expression/DSLExpression;Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;Ljava/util/Map<Lcom/oracle/truffle/dsl/processor/expression/DSLExpression$Variable;Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;>;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
MethodParameters:
Name Flags
expression
root
bindings
}
SourceFile: "DSLExpressionGenerator.java"
InnerClasses:
public final Binary = com.oracle.truffle.dsl.processor.expression.DSLExpression$Binary of com.oracle.truffle.dsl.processor.expression.DSLExpression
public final BooleanLiteral = com.oracle.truffle.dsl.processor.expression.DSLExpression$BooleanLiteral of com.oracle.truffle.dsl.processor.expression.DSLExpression
public final Call = com.oracle.truffle.dsl.processor.expression.DSLExpression$Call of com.oracle.truffle.dsl.processor.expression.DSLExpression
public final Cast = com.oracle.truffle.dsl.processor.expression.DSLExpression$Cast of com.oracle.truffle.dsl.processor.expression.DSLExpression
public final ClassLiteral = com.oracle.truffle.dsl.processor.expression.DSLExpression$ClassLiteral of com.oracle.truffle.dsl.processor.expression.DSLExpression
public abstract DSLExpressionVisitor = com.oracle.truffle.dsl.processor.expression.DSLExpression$DSLExpressionVisitor of com.oracle.truffle.dsl.processor.expression.DSLExpression
public final IntLiteral = com.oracle.truffle.dsl.processor.expression.DSLExpression$IntLiteral of com.oracle.truffle.dsl.processor.expression.DSLExpression
public final Negate = com.oracle.truffle.dsl.processor.expression.DSLExpression$Negate of com.oracle.truffle.dsl.processor.expression.DSLExpression
public final Variable = com.oracle.truffle.dsl.processor.expression.DSLExpression$Variable of com.oracle.truffle.dsl.processor.expression.DSLExpression