class org.jruby.ir.IRBuilder$3 implements org.jruby.ir.IRBuilder$CodeBlock
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.jruby.ir.IRBuilder$3
  super_class: java.lang.Object
{
  final org.jruby.ir.IRBuilder this$0;
    descriptor: Lorg/jruby/ir/IRBuilder;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private final org.jruby.ast.Colon3Node val$colon;
    descriptor: Lorg/jruby/ast/Colon3Node;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final org.jruby.RubySymbol val$name;
    descriptor: Lorg/jruby/RubySymbol;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  void <init>(org.jruby.ir.IRBuilder, org.jruby.ast.Colon3Node, org.jruby.RubySymbol);
    descriptor: (Lorg/jruby/ir/IRBuilder;Lorg/jruby/ast/Colon3Node;Lorg/jruby/RubySymbol;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.jruby.ir.IRBuilder$3 this
         0: .line 1802
            aload 0 /* this */
            aload 1
            putfield org.jruby.ir.IRBuilder$3.this$0:Lorg/jruby/ir/IRBuilder;
            aload 0 /* this */
            aload 2
            putfield org.jruby.ir.IRBuilder$3.val$colon:Lorg/jruby/ast/Colon3Node;
            aload 0 /* this */
            aload 3
            putfield org.jruby.ir.IRBuilder$3.val$name:Lorg/jruby/RubySymbol;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.jruby.ir.IRBuilder$3 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/IRBuilder$3;
    MethodParameters:
           Name  Flags
      this$0     final
      val$colon  final
      val$name   final

  public org.jruby.ir.operands.Operand run();
    descriptor: ()Lorg/jruby/ir/operands/Operand;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=6, args_size=1
        start local 0 // org.jruby.ir.IRBuilder$3 this
         0: .line 1804
            aload 0 /* this */
            getfield org.jruby.ir.IRBuilder$3.val$colon:Lorg/jruby/ast/Colon3Node;
            instanceof org.jruby.ast.Colon2Node
            ifne 12
         1: .line 1805
            aload 0 /* this */
            getfield org.jruby.ir.IRBuilder$3.this$0:Lorg/jruby/ir/IRBuilder;
         2: .line 1806
            new org.jruby.ir.instructions.RuntimeHelperCall
            dup
         3: .line 1807
            aload 0 /* this */
            getfield org.jruby.ir.IRBuilder$3.this$0:Lorg/jruby/ir/IRBuilder;
            invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
         4: .line 1808
            getstatic org.jruby.ir.instructions.RuntimeHelperCall$Methods.IS_DEFINED_CONSTANT_OR_METHOD:Lorg/jruby/ir/instructions/RuntimeHelperCall$Methods;
         5: .line 1809
            iconst_4
            anewarray org.jruby.ir.operands.Operand
            dup
            iconst_0
         6: .line 1810
            new org.jruby.ir.operands.ObjectClass
            dup
            invokespecial org.jruby.ir.operands.ObjectClass.<init>:()V
            aastore
            dup
            iconst_1
         7: .line 1811
            new org.jruby.ir.operands.FrozenString
            dup
            aload 0 /* this */
            getfield org.jruby.ir.IRBuilder$3.val$name:Lorg/jruby/RubySymbol;
            invokespecial org.jruby.ir.operands.FrozenString.<init>:(Lorg/jruby/RubySymbol;)V
            aastore
            dup
            iconst_2
         8: .line 1812
            new org.jruby.ir.operands.FrozenString
            dup
            getstatic org.jruby.util.DefinedMessage.CONSTANT:Lorg/jruby/util/DefinedMessage;
            invokevirtual org.jruby.util.DefinedMessage.getText:()Ljava/lang/String;
            invokespecial org.jruby.ir.operands.FrozenString.<init>:(Ljava/lang/String;)V
            aastore
            dup
            iconst_3
         9: .line 1813
            new org.jruby.ir.operands.FrozenString
            dup
            getstatic org.jruby.util.DefinedMessage.METHOD:Lorg/jruby/util/DefinedMessage;
            invokevirtual org.jruby.util.DefinedMessage.getText:()Ljava/lang/String;
            invokespecial org.jruby.ir.operands.FrozenString.<init>:(Ljava/lang/String;)V
            aastore
        10: .line 1806
            invokespecial org.jruby.ir.instructions.RuntimeHelperCall.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/instructions/RuntimeHelperCall$Methods;[Lorg/jruby/ir/operands/Operand;)V
        11: .line 1805
            invokevirtual org.jruby.ir.IRBuilder.addResultInstr:(Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
            areturn
        12: .line 1819
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ir.IRBuilder$3.this$0:Lorg/jruby/ir/IRBuilder;
            invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
            astore 1 /* bad */
        start local 1 // org.jruby.ir.operands.Label bad
        13: .line 1820
            aload 0 /* this */
            getfield org.jruby.ir.IRBuilder$3.this$0:Lorg/jruby/ir/IRBuilder;
            invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
            astore 2 /* done */
        start local 2 // org.jruby.ir.operands.Label done
        14: .line 1821
            aload 0 /* this */
            getfield org.jruby.ir.IRBuilder$3.this$0:Lorg/jruby/ir/IRBuilder;
            invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
            astore 3 /* result */
        start local 3 // org.jruby.ir.operands.Variable result
        15: .line 1822
            aload 0 /* this */
            getfield org.jruby.ir.IRBuilder$3.this$0:Lorg/jruby/ir/IRBuilder;
            aload 0 /* this */
            getfield org.jruby.ir.IRBuilder$3.val$colon:Lorg/jruby/ast/Colon3Node;
            checkcast org.jruby.ast.Colon2Node
            invokevirtual org.jruby.ast.Colon2Node.getLeftNode:()Lorg/jruby/ast/Node;
            invokevirtual org.jruby.ir.IRBuilder.buildGetDefinition:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
            astore 4 /* test */
        start local 4 // org.jruby.ir.operands.Operand test
        16: .line 1823
            aload 0 /* this */
            getfield org.jruby.ir.IRBuilder$3.this$0:Lorg/jruby/ir/IRBuilder;
            aload 4 /* test */
            aload 0 /* this */
            getfield org.jruby.ir.IRBuilder$3.this$0:Lorg/jruby/ir/IRBuilder;
            getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
            invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
            aload 1 /* bad */
            invokestatic org.jruby.ir.IRBuilder.createBranch:(Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Label;)Lorg/jruby/ir/instructions/Instr;
            invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
        17: .line 1824
            aload 0 /* this */
            getfield org.jruby.ir.IRBuilder$3.this$0:Lorg/jruby/ir/IRBuilder;
            aload 0 /* this */
            getfield org.jruby.ir.IRBuilder$3.val$colon:Lorg/jruby/ast/Colon3Node;
            checkcast org.jruby.ast.Colon2Node
            invokevirtual org.jruby.ast.Colon2Node.getLeftNode:()Lorg/jruby/ast/Node;
            invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
            astore 5 /* lhs */
        start local 5 // org.jruby.ir.operands.Operand lhs
        18: .line 1825
            aload 0 /* this */
            getfield org.jruby.ir.IRBuilder$3.this$0:Lorg/jruby/ir/IRBuilder;
        19: .line 1826
            new org.jruby.ir.instructions.RuntimeHelperCall
            dup
        20: .line 1827
            aload 3 /* result */
        21: .line 1828
            getstatic org.jruby.ir.instructions.RuntimeHelperCall$Methods.IS_DEFINED_CONSTANT_OR_METHOD:Lorg/jruby/ir/instructions/RuntimeHelperCall$Methods;
        22: .line 1829
            iconst_4
            anewarray org.jruby.ir.operands.Operand
            dup
            iconst_0
        23: .line 1830
            aload 5 /* lhs */
            aastore
            dup
            iconst_1
        24: .line 1831
            new org.jruby.ir.operands.FrozenString
            dup
            aload 0 /* this */
            getfield org.jruby.ir.IRBuilder$3.val$name:Lorg/jruby/RubySymbol;
            invokespecial org.jruby.ir.operands.FrozenString.<init>:(Lorg/jruby/RubySymbol;)V
            aastore
            dup
            iconst_2
        25: .line 1832
            new org.jruby.ir.operands.FrozenString
            dup
            getstatic org.jruby.util.DefinedMessage.CONSTANT:Lorg/jruby/util/DefinedMessage;
            invokevirtual org.jruby.util.DefinedMessage.getText:()Ljava/lang/String;
            invokespecial org.jruby.ir.operands.FrozenString.<init>:(Ljava/lang/String;)V
            aastore
            dup
            iconst_3
        26: .line 1833
            new org.jruby.ir.operands.FrozenString
            dup
            getstatic org.jruby.util.DefinedMessage.METHOD:Lorg/jruby/util/DefinedMessage;
            invokevirtual org.jruby.util.DefinedMessage.getText:()Ljava/lang/String;
            invokespecial org.jruby.ir.operands.FrozenString.<init>:(Ljava/lang/String;)V
            aastore
        27: .line 1826
            invokespecial org.jruby.ir.instructions.RuntimeHelperCall.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/instructions/RuntimeHelperCall$Methods;[Lorg/jruby/ir/operands/Operand;)V
        28: .line 1825
            invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
        29: .line 1837
            aload 0 /* this */
            getfield org.jruby.ir.IRBuilder$3.this$0:Lorg/jruby/ir/IRBuilder;
            new org.jruby.ir.instructions.JumpInstr
            dup
            aload 2 /* done */
            invokespecial org.jruby.ir.instructions.JumpInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
            invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
        30: .line 1838
            aload 0 /* this */
            getfield org.jruby.ir.IRBuilder$3.this$0:Lorg/jruby/ir/IRBuilder;
            new org.jruby.ir.instructions.LabelInstr
            dup
            aload 1 /* bad */
            invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
            invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
        31: .line 1839
            aload 0 /* this */
            getfield org.jruby.ir.IRBuilder$3.this$0:Lorg/jruby/ir/IRBuilder;
            new org.jruby.ir.instructions.CopyInstr
            dup
            aload 3 /* result */
            aload 0 /* this */
            getfield org.jruby.ir.IRBuilder$3.this$0:Lorg/jruby/ir/IRBuilder;
            getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
            invokevirtual org.jruby.ir.IRManager.getNil:()Lorg/jruby/ir/operands/Nil;
            invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
            invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
        32: .line 1840
            aload 0 /* this */
            getfield org.jruby.ir.IRBuilder$3.this$0:Lorg/jruby/ir/IRBuilder;
            new org.jruby.ir.instructions.LabelInstr
            dup
            aload 2 /* done */
            invokespecial org.jruby.ir.instructions.LabelInstr.<init>:(Lorg/jruby/ir/operands/Label;)V
            invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
        33: .line 1842
            aload 3 /* result */
            areturn
        end local 5 // org.jruby.ir.operands.Operand lhs
        end local 4 // org.jruby.ir.operands.Operand test
        end local 3 // org.jruby.ir.operands.Variable result
        end local 2 // org.jruby.ir.operands.Label done
        end local 1 // org.jruby.ir.operands.Label bad
        end local 0 // org.jruby.ir.IRBuilder$3 this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   34     0    this  Lorg/jruby/ir/IRBuilder$3;
           13   34     1     bad  Lorg/jruby/ir/operands/Label;
           14   34     2    done  Lorg/jruby/ir/operands/Label;
           15   34     3  result  Lorg/jruby/ir/operands/Variable;
           16   34     4    test  Lorg/jruby/ir/operands/Operand;
           18   34     5     lhs  Lorg/jruby/ir/operands/Operand;
}
SourceFile: "IRBuilder.java"
EnclosingMethod: org.jruby.ir.IRBuilder.buildGetDefinition:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
NestHost: org.jruby.ir.IRBuilder
InnerClasses:
  org.jruby.ir.IRBuilder$3
  abstract CodeBlock = org.jruby.ir.IRBuilder$CodeBlock of org.jruby.ir.IRBuilder
  public final Methods = org.jruby.ir.instructions.RuntimeHelperCall$Methods of org.jruby.ir.instructions.RuntimeHelperCall