public abstract class com.oracle.truffle.api.dsl.test.ChildExecutionTest$TestNode2 extends com.oracle.truffle.api.nodes.Node
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.oracle.truffle.api.dsl.test.ChildExecutionTest$TestNode2
  super_class: com.oracle.truffle.api.nodes.Node
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.dsl.test.ChildExecutionTest$TestNode2 this
         0: .line 89
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.nodes.Node.<init>:()V
            return
        end local 0 // com.oracle.truffle.api.dsl.test.ChildExecutionTest$TestNode2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/dsl/test/ChildExecutionTest$TestNode2;

  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 abstract java.lang.Object execute(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      arg1  
      arg2  

  public boolean executeBool(boolean);
    descriptor: (Z)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.dsl.test.ChildExecutionTest$TestNode2 this
        start local 1 // boolean arg
         0: .line 96
            aload 0 /* this */
            iload 1 /* arg */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            iload 1 /* arg */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual com.oracle.truffle.api.dsl.test.ChildExecutionTest$TestNode2.execute:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* res */
        start local 2 // java.lang.Object res
         1: .line 97
            aload 2 /* res */
            instanceof java.lang.Boolean
            ifeq 3
         2: .line 98
            aload 2 /* res */
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
         3: .line 100
      StackMap locals: java.lang.Object
      StackMap stack:
            new com.oracle.truffle.api.nodes.UnexpectedResultException
            dup
            aload 2 /* res */
            invokespecial com.oracle.truffle.api.nodes.UnexpectedResultException.<init>:(Ljava/lang/Object;)V
            athrow
        end local 2 // java.lang.Object res
        end local 1 // boolean arg
        end local 0 // com.oracle.truffle.api.dsl.test.ChildExecutionTest$TestNode2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/truffle/api/dsl/test/ChildExecutionTest$TestNode2;
            0    4     1   arg  Z
            1    4     2   res  Ljava/lang/Object;
    Exceptions:
      throws com.oracle.truffle.api.nodes.UnexpectedResultException
    MethodParameters:
      Name  Flags
      arg   

  protected boolean doIt(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.dsl.test.ChildExecutionTest$TestNode2 this
        start local 1 // java.lang.String a
        start local 2 // java.lang.String b
         0: .line 106
            aload 1 /* a */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 1
            aload 2 /* b */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 2 // java.lang.String b
        end local 1 // java.lang.String a
        end local 0 // com.oracle.truffle.api.dsl.test.ChildExecutionTest$TestNode2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/api/dsl/test/ChildExecutionTest$TestNode2;
            0    2     1     a  Ljava/lang/String;
            0    2     2     b  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization()
    MethodParameters:
      Name  Flags
      a     
      b     
}
SourceFile: "ChildExecutionTest.java"
NestHost: com.oracle.truffle.api.dsl.test.ChildExecutionTest
InnerClasses:
  public abstract TestNode2 = com.oracle.truffle.api.dsl.test.ChildExecutionTest$TestNode2 of com.oracle.truffle.api.dsl.test.ChildExecutionTest
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.test.ExpectError(value = {"Child execution method: String ChildExecutionChildNode2::executeString(VirtualFrame) called from method: boolean TestNode2::executeBool(boolean) requires a frame parameter."})
    RuntimeInvisibleAnnotations: 
      com.oracle.truffle.api.dsl.NodeChildren(value = {com.oracle.truffle.api.dsl.NodeChild(value = "first", type = Lcom/oracle/truffle/api/dsl/test/ChildExecutionTest$ChildExecutionChildNode2;), com.oracle.truffle.api.dsl.NodeChild(value = "second", type = Lcom/oracle/truffle/api/dsl/test/ChildExecutionTest$ChildExecutionChildNode2;)})