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 0: aload 0
aload 1
putfield org.jruby.ir.IRBuilder$3.this$0:Lorg/jruby/ir/IRBuilder;
aload 0
aload 2
putfield org.jruby.ir.IRBuilder$3.val$colon:Lorg/jruby/ast/Colon3Node;
aload 0
aload 3
putfield org.jruby.ir.IRBuilder$3.val$name:Lorg/jruby/RubySymbol;
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 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 0: aload 0
getfield org.jruby.ir.IRBuilder$3.val$colon:Lorg/jruby/ast/Colon3Node;
instanceof org.jruby.ast.Colon2Node
ifne 12
1: aload 0
getfield org.jruby.ir.IRBuilder$3.this$0:Lorg/jruby/ir/IRBuilder;
2: new org.jruby.ir.instructions.RuntimeHelperCall
dup
3: aload 0
getfield org.jruby.ir.IRBuilder$3.this$0:Lorg/jruby/ir/IRBuilder;
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
4: getstatic org.jruby.ir.instructions.RuntimeHelperCall$Methods.IS_DEFINED_CONSTANT_OR_METHOD:Lorg/jruby/ir/instructions/RuntimeHelperCall$Methods;
5: iconst_4
anewarray org.jruby.ir.operands.Operand
dup
iconst_0
6: new org.jruby.ir.operands.ObjectClass
dup
invokespecial org.jruby.ir.operands.ObjectClass.<init>:()V
aastore
dup
iconst_1
7: new org.jruby.ir.operands.FrozenString
dup
aload 0
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: 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: 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: 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: invokevirtual org.jruby.ir.IRBuilder.addResultInstr:(Lorg/jruby/ir/instructions/ResultInstr;)Lorg/jruby/ir/operands/Variable;
areturn
12: StackMap locals:
StackMap stack:
aload 0
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
start local 1 13: aload 0
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
start local 2 14: aload 0
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
start local 3 15: aload 0
getfield org.jruby.ir.IRBuilder$3.this$0:Lorg/jruby/ir/IRBuilder;
aload 0
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
start local 4 16: aload 0
getfield org.jruby.ir.IRBuilder$3.this$0:Lorg/jruby/ir/IRBuilder;
aload 4
aload 0
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
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: aload 0
getfield org.jruby.ir.IRBuilder$3.this$0:Lorg/jruby/ir/IRBuilder;
aload 0
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
start local 5 18: aload 0
getfield org.jruby.ir.IRBuilder$3.this$0:Lorg/jruby/ir/IRBuilder;
19: new org.jruby.ir.instructions.RuntimeHelperCall
dup
20: aload 3
21: getstatic org.jruby.ir.instructions.RuntimeHelperCall$Methods.IS_DEFINED_CONSTANT_OR_METHOD:Lorg/jruby/ir/instructions/RuntimeHelperCall$Methods;
22: iconst_4
anewarray org.jruby.ir.operands.Operand
dup
iconst_0
23: aload 5
aastore
dup
iconst_1
24: new org.jruby.ir.operands.FrozenString
dup
aload 0
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: 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: 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: 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: invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
29: aload 0
getfield org.jruby.ir.IRBuilder$3.this$0:Lorg/jruby/ir/IRBuilder;
new org.jruby.ir.instructions.JumpInstr
dup
aload 2
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: aload 0
getfield org.jruby.ir.IRBuilder$3.this$0:Lorg/jruby/ir/IRBuilder;
new org.jruby.ir.instructions.LabelInstr
dup
aload 1
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: aload 0
getfield org.jruby.ir.IRBuilder$3.this$0:Lorg/jruby/ir/IRBuilder;
new org.jruby.ir.instructions.CopyInstr
dup
aload 3
aload 0
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: aload 0
getfield org.jruby.ir.IRBuilder$3.this$0:Lorg/jruby/ir/IRBuilder;
new org.jruby.ir.instructions.LabelInstr
dup
aload 2
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: aload 3
areturn
end local 5 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 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