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: .line 65
            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 // com.oracle.graal.python.nodes.expression.ExpressionNode this
         0: .line 63
            aload 0 /* this */
            invokespecial com.oracle.graal.python.nodes.PNode.<init>:()V
            return
        end local 0 // com.oracle.graal.python.nodes.expression.ExpressionNode this
      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 // com.oracle.graal.python.nodes.expression.ExpressionNode this
        start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
         0: .line 70
            aload 0 /* this */
            aload 1 /* frame */
            invokevirtual com.oracle.graal.python.nodes.expression.ExpressionNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
            astore 2 /* value */
        start local 2 // java.lang.Object value
         1: .line 71
            aload 2 /* value */
            instanceof java.lang.Integer
            ifeq 3
         2: .line 72
            aload 2 /* value */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            ireturn
         3: .line 74
      StackMap locals: java.lang.Object
      StackMap stack:
            new com.oracle.truffle.api.nodes.UnexpectedResultException
            dup
            aload 2 /* value */
            invokespecial com.oracle.truffle.api.nodes.UnexpectedResultException.<init>:(Ljava/lang/Object;)V
            athrow
        end local 2 // java.lang.Object value
        end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
        end local 0 // com.oracle.graal.python.nodes.expression.ExpressionNode this
      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 // com.oracle.graal.python.nodes.expression.ExpressionNode this
        start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
         0: .line 78
            aload 0 /* this */
            aload 1 /* frame */
            invokevirtual com.oracle.graal.python.nodes.expression.ExpressionNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
            astore 2 /* value */
        start local 2 // java.lang.Object value
         1: .line 79
            aload 2 /* value */
            instanceof java.lang.Long
            ifeq 3
         2: .line 80
            aload 2 /* value */
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            lreturn
         3: .line 82
      StackMap locals: java.lang.Object
      StackMap stack:
            new com.oracle.truffle.api.nodes.UnexpectedResultException
            dup
            aload 2 /* value */
            invokespecial com.oracle.truffle.api.nodes.UnexpectedResultException.<init>:(Ljava/lang/Object;)V
            athrow
        end local 2 // java.lang.Object value
        end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
        end local 0 // com.oracle.graal.python.nodes.expression.ExpressionNode this
      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 // com.oracle.graal.python.nodes.expression.ExpressionNode this
        start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
         0: .line 86
            aload 0 /* this */
            aload 1 /* frame */
            invokevirtual com.oracle.graal.python.nodes.expression.ExpressionNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
            astore 2 /* o */
        start local 2 // java.lang.Object o
         1: .line 87
            aload 2 /* o */
            instanceof java.lang.Double
            ifeq 3
         2: .line 88
            aload 2 /* o */
            checkcast java.lang.Double
            invokevirtual java.lang.Double.doubleValue:()D
            dreturn
         3: .line 90
      StackMap locals: java.lang.Object
      StackMap stack:
            new com.oracle.truffle.api.nodes.UnexpectedResultException
            dup
            aload 2 /* o */
            invokespecial com.oracle.truffle.api.nodes.UnexpectedResultException.<init>:(Ljava/lang/Object;)V
            athrow
        end local 2 // java.lang.Object o
        end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
        end local 0 // com.oracle.graal.python.nodes.expression.ExpressionNode this
      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 // com.oracle.graal.python.nodes.expression.ExpressionNode this
        start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
         0: .line 94
            aload 0 /* this */
            aload 1 /* frame */
            invokevirtual com.oracle.graal.python.nodes.expression.ExpressionNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
            astore 2 /* o */
        start local 2 // java.lang.Object o
         1: .line 95
            aload 2 /* o */
            instanceof java.lang.Boolean
            ifeq 3
         2: .line 96
            aload 2 /* o */
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
         3: .line 98
      StackMap locals: java.lang.Object
      StackMap stack:
            new com.oracle.truffle.api.nodes.UnexpectedResultException
            dup
            aload 2 /* o */
            invokespecial com.oracle.truffle.api.nodes.UnexpectedResultException.<init>:(Ljava/lang/Object;)V
            athrow
        end local 2 // java.lang.Object o
        end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
        end local 0 // com.oracle.graal.python.nodes.expression.ExpressionNode this
      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 // com.oracle.graal.python.nodes.expression.ExpressionNode this
         0: .line 102
            iconst_0
            ireturn
        end local 0 // com.oracle.graal.python.nodes.expression.ExpressionNode this
      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 // com.oracle.graal.python.nodes.expression.ExpressionNode this
         0: .line 106
            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 // com.oracle.graal.python.nodes.expression.ExpressionNode this
      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 // com.oracle.graal.python.nodes.expression.ExpressionNode this
         0: .line 111
            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 // com.oracle.graal.python.nodes.expression.ExpressionNode this
      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 // com.oracle.graal.python.nodes.expression.ExpressionNode this
        start local 1 // java.lang.Class tag
         0: .line 116
            aload 1 /* tag */
            ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$ExpressionTag;
            if_acmpeq 2
            aload 1 /* tag */
            ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$StatementTag;
            if_acmpne 1
            aload 0 /* this */
            invokevirtual com.oracle.graal.python.nodes.expression.ExpressionNode.isStatement:()Z
            ifne 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            aload 1 /* tag */
            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 // java.lang.Class tag
        end local 0 // com.oracle.graal.python.nodes.expression.ExpressionNode this
      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 // com.oracle.graal.python.nodes.expression.ExpressionNode this
         0: .line 120
            aload 0 /* this */
            invokevirtual com.oracle.graal.python.nodes.expression.ExpressionNode.getParent:()Lcom/oracle/truffle/api/nodes/Node;
            astore 1 /* parent */
        start local 1 // com.oracle.truffle.api.nodes.Node parent
         1: .line 121
            aload 1 /* parent */
            instanceof com.oracle.truffle.api.instrumentation.InstrumentableNode$WrapperNode
            ifeq 3
         2: .line 122
            aload 1 /* parent */
            invokevirtual com.oracle.truffle.api.nodes.Node.getParent:()Lcom/oracle/truffle/api/nodes/Node;
            astore 1 /* parent */
         3: .line 125
      StackMap locals: com.oracle.truffle.api.nodes.Node
      StackMap stack:
            aload 1 /* parent */
            instanceof com.oracle.graal.python.nodes.expression.ExpressionNode$ExpressionWithSideEffect
            ifne 4
            aload 1 /* parent */
            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 // com.oracle.truffle.api.nodes.Node parent
        end local 0 // com.oracle.graal.python.nodes.expression.ExpressionNode this
      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 // com.oracle.graal.python.nodes.expression.ExpressionNode this
         0: .line 156
            new com.oracle.graal.python.nodes.expression.ExpressionNode$ExpressionStatementNode
            dup
            aload 0 /* this */
            invokespecial com.oracle.graal.python.nodes.expression.ExpressionNode$ExpressionStatementNode.<init>:(Lcom/oracle/graal/python/nodes/expression/ExpressionNode;)V
            areturn
        end local 0 // com.oracle.graal.python.nodes.expression.ExpressionNode this
      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 // com.oracle.graal.python.nodes.expression.ExpressionNode this
        start local 1 // com.oracle.graal.python.nodes.statement.StatementNode sideEffect
         0: .line 227
            aload 1 /* sideEffect */
            instanceof com.oracle.graal.python.nodes.control.BlockNode
            ifeq 2
         1: .line 228
            new com.oracle.graal.python.nodes.expression.ExpressionNode$ExpressionWithSideEffects
            dup
            aload 0 /* this */
            aload 1 /* sideEffect */
            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: .line 230
      StackMap locals:
      StackMap stack:
            new com.oracle.graal.python.nodes.expression.ExpressionNode$ExpressionWithSideEffect
            dup
            aload 0 /* this */
            aload 1 /* sideEffect */
            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 // com.oracle.graal.python.nodes.statement.StatementNode sideEffect
        end local 0 // com.oracle.graal.python.nodes.expression.ExpressionNode this
      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 // com.oracle.graal.python.nodes.expression.ExpressionNode this
        start local 1 // com.oracle.graal.python.nodes.statement.StatementNode[] sideEffects
         0: .line 235
            new com.oracle.graal.python.nodes.expression.ExpressionNode$ExpressionWithSideEffects
            dup
            aload 0 /* this */
            aload 1 /* sideEffects */
            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 // com.oracle.graal.python.nodes.statement.StatementNode[] sideEffects
        end local 0 // com.oracle.graal.python.nodes.expression.ExpressionNode this
      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()