public abstract class com.oracle.graal.python.nodes.expression.ExpressionNode extends com.oracle.graal.python.nodes.PNode
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.graal.python.nodes.expression.ExpressionNode
super_class: com.oracle.graal.python.nodes.PNode
{
public static final com.oracle.graal.python.nodes.expression.ExpressionNode[] EMPTY_ARRAY;
descriptor: [Lcom/oracle/graal/python/nodes/expression/ExpressionNode;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: iconst_0
anewarray com.oracle.graal.python.nodes.expression.ExpressionNode
putstatic com.oracle.graal.python.nodes.expression.ExpressionNode.EMPTY_ARRAY:[Lcom/oracle/graal/python/nodes/expression/ExpressionNode;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.oracle.graal.python.nodes.PNode.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/nodes/expression/ExpressionNode;
public abstract java.lang.Object execute(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
frame
public int executeInt(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.graal.python.nodes.expression.ExpressionNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
astore 2
start local 2 1: aload 2
instanceof java.lang.Integer
ifeq 3
2: aload 2
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
ireturn
3: StackMap locals: java.lang.Object
StackMap stack:
new com.oracle.truffle.api.nodes.UnexpectedResultException
dup
aload 2
invokespecial com.oracle.truffle.api.nodes.UnexpectedResultException.<init>:(Ljava/lang/Object;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/graal/python/nodes/expression/ExpressionNode;
0 4 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
1 4 2 value Ljava/lang/Object;
Exceptions:
throws com.oracle.truffle.api.nodes.UnexpectedResultException
MethodParameters:
Name Flags
frame
public long executeLong(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.graal.python.nodes.expression.ExpressionNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
astore 2
start local 2 1: aload 2
instanceof java.lang.Long
ifeq 3
2: aload 2
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
lreturn
3: StackMap locals: java.lang.Object
StackMap stack:
new com.oracle.truffle.api.nodes.UnexpectedResultException
dup
aload 2
invokespecial com.oracle.truffle.api.nodes.UnexpectedResultException.<init>:(Ljava/lang/Object;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/graal/python/nodes/expression/ExpressionNode;
0 4 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
1 4 2 value Ljava/lang/Object;
Exceptions:
throws com.oracle.truffle.api.nodes.UnexpectedResultException
MethodParameters:
Name Flags
frame
public double executeDouble(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)D
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.graal.python.nodes.expression.ExpressionNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
astore 2
start local 2 1: aload 2
instanceof java.lang.Double
ifeq 3
2: aload 2
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
dreturn
3: StackMap locals: java.lang.Object
StackMap stack:
new com.oracle.truffle.api.nodes.UnexpectedResultException
dup
aload 2
invokespecial com.oracle.truffle.api.nodes.UnexpectedResultException.<init>:(Ljava/lang/Object;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/graal/python/nodes/expression/ExpressionNode;
0 4 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
1 4 2 o Ljava/lang/Object;
Exceptions:
throws com.oracle.truffle.api.nodes.UnexpectedResultException
MethodParameters:
Name Flags
frame
public boolean executeBoolean(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.graal.python.nodes.expression.ExpressionNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
astore 2
start local 2 1: aload 2
instanceof java.lang.Boolean
ifeq 3
2: aload 2
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
3: StackMap locals: java.lang.Object
StackMap stack:
new com.oracle.truffle.api.nodes.UnexpectedResultException
dup
aload 2
invokespecial com.oracle.truffle.api.nodes.UnexpectedResultException.<init>:(Ljava/lang/Object;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/graal/python/nodes/expression/ExpressionNode;
0 4 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
1 4 2 o Ljava/lang/Object;
Exceptions:
throws com.oracle.truffle.api.nodes.UnexpectedResultException
MethodParameters:
Name Flags
frame
public boolean hasSideEffectAsAnExpression();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/nodes/expression/ExpressionNode;
public com.oracle.graal.python.nodes.expression.ExpressionNode unwrap();
descriptor: ()Lcom/oracle/graal/python/nodes/expression/ExpressionNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tExpressionNodeWrapper cannot be resolved to a type\n\tExpressionNodeWrapper cannot be resolved to a type\n\tExpressionNodeWrapper cannot be resolved to a type\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/graal/python/nodes/expression/ExpressionNode;
public com.oracle.truffle.api.instrumentation.InstrumentableNode$WrapperNode createWrapper(com.oracle.truffle.api.instrumentation.ProbeNode);
descriptor: (Lcom/oracle/truffle/api/instrumentation/ProbeNode;)Lcom/oracle/truffle/api/instrumentation/InstrumentableNode$WrapperNode;
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\tExpressionNodeWrapper cannot be resolved to a type\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/graal/python/nodes/expression/ExpressionNode;
MethodParameters:
Name Flags
probe
public boolean hasTag(java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$ExpressionTag;
if_acmpeq 2
aload 1
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$StatementTag;
if_acmpne 1
aload 0
invokevirtual com.oracle.graal.python.nodes.expression.ExpressionNode.isStatement:()Z
ifne 2
StackMap locals:
StackMap stack:
1: aload 0
aload 1
invokespecial com.oracle.graal.python.nodes.PNode.hasTag:(Ljava/lang/Class;)Z
ifne 2
iconst_0
ireturn
StackMap locals:
StackMap stack:
2: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/graal/python/nodes/expression/ExpressionNode;
0 3 1 tag Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;
Signature: (Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;)Z
MethodParameters:
Name Flags
tag
private boolean isStatement();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.graal.python.nodes.expression.ExpressionNode.getParent:()Lcom/oracle/truffle/api/nodes/Node;
astore 1
start local 1 1: aload 1
instanceof com.oracle.truffle.api.instrumentation.InstrumentableNode$WrapperNode
ifeq 3
2: aload 1
invokevirtual com.oracle.truffle.api.nodes.Node.getParent:()Lcom/oracle/truffle/api/nodes/Node;
astore 1
3: StackMap locals: com.oracle.truffle.api.nodes.Node
StackMap stack:
aload 1
instanceof com.oracle.graal.python.nodes.expression.ExpressionNode$ExpressionWithSideEffect
ifne 4
aload 1
instanceof com.oracle.graal.python.nodes.expression.ExpressionNode$ExpressionWithSideEffects
ifne 4
iconst_0
ireturn
StackMap locals:
StackMap stack:
4: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/graal/python/nodes/expression/ExpressionNode;
1 5 1 parent Lcom/oracle/truffle/api/nodes/Node;
public final com.oracle.graal.python.nodes.statement.StatementNode asStatement();
descriptor: ()Lcom/oracle/graal/python/nodes/statement/StatementNode;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.oracle.graal.python.nodes.expression.ExpressionNode$ExpressionStatementNode
dup
aload 0
invokespecial com.oracle.graal.python.nodes.expression.ExpressionNode$ExpressionStatementNode.<init>:(Lcom/oracle/graal/python/nodes/expression/ExpressionNode;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/nodes/expression/ExpressionNode;
public final com.oracle.graal.python.nodes.expression.ExpressionNode withSideEffect(com.oracle.graal.python.nodes.statement.StatementNode);
descriptor: (Lcom/oracle/graal/python/nodes/statement/StatementNode;)Lcom/oracle/graal/python/nodes/expression/ExpressionNode;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof com.oracle.graal.python.nodes.control.BlockNode
ifeq 2
1: new com.oracle.graal.python.nodes.expression.ExpressionNode$ExpressionWithSideEffects
dup
aload 0
aload 1
checkcast com.oracle.graal.python.nodes.control.BlockNode
invokevirtual com.oracle.graal.python.nodes.control.BlockNode.getStatements:()[Lcom/oracle/graal/python/nodes/statement/StatementNode;
invokespecial com.oracle.graal.python.nodes.expression.ExpressionNode$ExpressionWithSideEffects.<init>:(Lcom/oracle/graal/python/nodes/expression/ExpressionNode;[Lcom/oracle/graal/python/nodes/statement/StatementNode;)V
areturn
2: StackMap locals:
StackMap stack:
new com.oracle.graal.python.nodes.expression.ExpressionNode$ExpressionWithSideEffect
dup
aload 0
aload 1
invokespecial com.oracle.graal.python.nodes.expression.ExpressionNode$ExpressionWithSideEffect.<init>:(Lcom/oracle/graal/python/nodes/expression/ExpressionNode;Lcom/oracle/graal/python/nodes/statement/StatementNode;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/graal/python/nodes/expression/ExpressionNode;
0 3 1 sideEffect Lcom/oracle/graal/python/nodes/statement/StatementNode;
MethodParameters:
Name Flags
sideEffect
public final com.oracle.graal.python.nodes.expression.ExpressionNode withSideEffect(com.oracle.graal.python.nodes.statement.StatementNode[]);
descriptor: ([Lcom/oracle/graal/python/nodes/statement/StatementNode;)Lcom/oracle/graal/python/nodes/expression/ExpressionNode;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.graal.python.nodes.expression.ExpressionNode$ExpressionWithSideEffects
dup
aload 0
aload 1
invokespecial com.oracle.graal.python.nodes.expression.ExpressionNode$ExpressionWithSideEffects.<init>:(Lcom/oracle/graal/python/nodes/expression/ExpressionNode;[Lcom/oracle/graal/python/nodes/statement/StatementNode;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/nodes/expression/ExpressionNode;
0 1 1 sideEffects [Lcom/oracle/graal/python/nodes/statement/StatementNode;
MethodParameters:
Name Flags
sideEffects
}
SourceFile: "ExpressionNode.java"
NestMembers:
com.oracle.graal.python.nodes.expression.ExpressionNode$ExpressionStatementNode com.oracle.graal.python.nodes.expression.ExpressionNode$ExpressionWithSideEffect com.oracle.graal.python.nodes.expression.ExpressionNode$ExpressionWithSideEffects
InnerClasses:
public final ExpressionStatementNode = com.oracle.graal.python.nodes.expression.ExpressionNode$ExpressionStatementNode of com.oracle.graal.python.nodes.expression.ExpressionNode
public final ExpressionWithSideEffect = com.oracle.graal.python.nodes.expression.ExpressionNode$ExpressionWithSideEffect of com.oracle.graal.python.nodes.expression.ExpressionNode
public final ExpressionWithSideEffects = com.oracle.graal.python.nodes.expression.ExpressionNode$ExpressionWithSideEffects of com.oracle.graal.python.nodes.expression.ExpressionNode
public abstract WrapperNode = com.oracle.truffle.api.instrumentation.InstrumentableNode$WrapperNode of com.oracle.truffle.api.instrumentation.InstrumentableNode
public final ExpressionTag = com.oracle.truffle.api.instrumentation.StandardTags$ExpressionTag of com.oracle.truffle.api.instrumentation.StandardTags
public final StatementTag = com.oracle.truffle.api.instrumentation.StandardTags$StatementTag of com.oracle.truffle.api.instrumentation.StandardTags
RuntimeInvisibleAnnotations:
com.oracle.truffle.api.instrumentation.GenerateWrapper()