class org.jruby.ir.IRBuilder$7 implements org.jruby.ir.IRBuilder$CodeBlock
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.jruby.ir.IRBuilder$7
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.AttrAssignNode val$attrAssign;
descriptor: Lorg/jruby/ast/AttrAssignNode;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(org.jruby.ir.IRBuilder, org.jruby.ast.AttrAssignNode);
descriptor: (Lorg/jruby/ir/IRBuilder;Lorg/jruby/ast/AttrAssignNode;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 // org.jruby.ir.IRBuilder$7 this
0: .line 1910
aload 0 /* this */
aload 1
putfield org.jruby.ir.IRBuilder$7.this$0:Lorg/jruby/ir/IRBuilder;
aload 0 /* this */
aload 2
putfield org.jruby.ir.IRBuilder$7.val$attrAssign:Lorg/jruby/ast/AttrAssignNode;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // org.jruby.ir.IRBuilder$7 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/IRBuilder$7;
MethodParameters:
Name Flags
this$0 final
val$attrAssign 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$7 this
0: .line 1912
aload 0 /* this */
getfield org.jruby.ir.IRBuilder$7.this$0:Lorg/jruby/ir/IRBuilder;
invokevirtual org.jruby.ir.IRBuilder.getNewLabel:()Lorg/jruby/ir/operands/Label;
astore 1 /* undefLabel */
start local 1 // org.jruby.ir.operands.Label undefLabel
1: .line 1913
aload 0 /* this */
getfield org.jruby.ir.IRBuilder$7.this$0:Lorg/jruby/ir/IRBuilder;
aload 0 /* this */
getfield org.jruby.ir.IRBuilder$7.val$attrAssign:Lorg/jruby/ast/AttrAssignNode;
invokevirtual org.jruby.ast.AttrAssignNode.getReceiverNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.buildGetDefinition:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 2 /* receiverDefn */
start local 2 // org.jruby.ir.operands.Operand receiverDefn
2: .line 1914
aload 0 /* this */
getfield org.jruby.ir.IRBuilder$7.this$0:Lorg/jruby/ir/IRBuilder;
aload 2 /* receiverDefn */
aload 0 /* this */
getfield org.jruby.ir.IRBuilder$7.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 /* undefLabel */
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
3: .line 1929
aload 0 /* this */
getfield org.jruby.ir.IRBuilder$7.this$0:Lorg/jruby/ir/IRBuilder;
invokevirtual org.jruby.ir.IRBuilder.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryVariable;
astore 3 /* tmpVar */
start local 3 // org.jruby.ir.operands.Variable tmpVar
4: .line 1930
aload 0 /* this */
getfield org.jruby.ir.IRBuilder$7.this$0:Lorg/jruby/ir/IRBuilder;
aload 0 /* this */
getfield org.jruby.ir.IRBuilder$7.val$attrAssign:Lorg/jruby/ast/AttrAssignNode;
invokevirtual org.jruby.ast.AttrAssignNode.getReceiverNode:()Lorg/jruby/ast/Node;
invokevirtual org.jruby.ir.IRBuilder.build:(Lorg/jruby/ast/Node;)Lorg/jruby/ir/operands/Operand;
astore 4 /* receiver */
start local 4 // org.jruby.ir.operands.Operand receiver
5: .line 1931
aload 0 /* this */
getfield org.jruby.ir.IRBuilder$7.this$0:Lorg/jruby/ir/IRBuilder;
6: .line 1932
new org.jruby.ir.instructions.RuntimeHelperCall
dup
7: .line 1933
aload 3 /* tmpVar */
8: .line 1934
getstatic org.jruby.ir.instructions.RuntimeHelperCall$Methods.IS_DEFINED_METHOD:Lorg/jruby/ir/instructions/RuntimeHelperCall$Methods;
9: .line 1935
iconst_4
anewarray org.jruby.ir.operands.Operand
dup
iconst_0
10: .line 1936
aload 4 /* receiver */
aastore
dup
iconst_1
11: .line 1937
new org.jruby.ir.operands.Symbol
dup
aload 0 /* this */
getfield org.jruby.ir.IRBuilder$7.val$attrAssign:Lorg/jruby/ast/AttrAssignNode;
invokevirtual org.jruby.ast.AttrAssignNode.getName:()Lorg/jruby/RubySymbol;
invokespecial org.jruby.ir.operands.Symbol.<init>:(Lorg/jruby/RubySymbol;)V
aastore
dup
iconst_2
12: .line 1938
aload 0 /* this */
getfield org.jruby.ir.IRBuilder$7.this$0:Lorg/jruby/ir/IRBuilder;
getfield org.jruby.ir.IRBuilder.manager:Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getTrue:()Lorg/jruby/ir/operands/Boolean;
aastore
dup
iconst_3
13: .line 1939
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
14: .line 1932
invokespecial org.jruby.ir.instructions.RuntimeHelperCall.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/instructions/RuntimeHelperCall$Methods;[Lorg/jruby/ir/operands/Operand;)V
15: .line 1931
invokevirtual org.jruby.ir.IRBuilder.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
16: .line 1943
aload 0 /* this */
getfield org.jruby.ir.IRBuilder$7.this$0:Lorg/jruby/ir/IRBuilder;
aload 3 /* tmpVar */
aload 0 /* this */
getfield org.jruby.ir.IRBuilder$7.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 /* undefLabel */
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 1944
aload 0 /* this */
getfield org.jruby.ir.IRBuilder$7.this$0:Lorg/jruby/ir/IRBuilder;
aload 0 /* this */
getfield org.jruby.ir.IRBuilder$7.val$attrAssign:Lorg/jruby/ast/AttrAssignNode;
invokevirtual org.jruby.ast.AttrAssignNode.getArgsNode:()Lorg/jruby/ast/Node;
ldc "assignment"
invokevirtual org.jruby.ir.IRBuilder.buildGetArgumentDefinition:(Lorg/jruby/ast/Node;Ljava/lang/String;)Lorg/jruby/ir/operands/Operand;
astore 5 /* argsCheckDefn */
start local 5 // org.jruby.ir.operands.Operand argsCheckDefn
18: .line 1945
aload 0 /* this */
getfield org.jruby.ir.IRBuilder$7.this$0:Lorg/jruby/ir/IRBuilder;
aload 1 /* undefLabel */
aload 5 /* argsCheckDefn */
invokevirtual org.jruby.ir.IRBuilder.buildDefnCheckIfThenPaths:(Lorg/jruby/ir/operands/Label;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Variable;
areturn
end local 5 // org.jruby.ir.operands.Operand argsCheckDefn
end local 4 // org.jruby.ir.operands.Operand receiver
end local 3 // org.jruby.ir.operands.Variable tmpVar
end local 2 // org.jruby.ir.operands.Operand receiverDefn
end local 1 // org.jruby.ir.operands.Label undefLabel
end local 0 // org.jruby.ir.IRBuilder$7 this
LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/jruby/ir/IRBuilder$7;
1 19 1 undefLabel Lorg/jruby/ir/operands/Label;
2 19 2 receiverDefn Lorg/jruby/ir/operands/Operand;
4 19 3 tmpVar Lorg/jruby/ir/operands/Variable;
5 19 4 receiver Lorg/jruby/ir/operands/Operand;
18 19 5 argsCheckDefn 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$7
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