public class org.jruby.runtime.MethodBlockBody extends org.jruby.runtime.ContextAwareBlockBody
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.runtime.MethodBlockBody
super_class: org.jruby.runtime.ContextAwareBlockBody
{
private final org.jruby.runtime.callsite.CacheEntry entry;
descriptor: Lorg/jruby/runtime/callsite/CacheEntry;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.jruby.runtime.ArgumentDescriptor[] argsDesc;
descriptor: [Lorg/jruby/runtime/ArgumentDescriptor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.jruby.runtime.builtin.IRubyObject receiver;
descriptor: Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.jruby.RubyModule originModule;
descriptor: Lorg/jruby/RubyModule;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String originName;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String file;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int line;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(org.jruby.parser.StaticScope, org.jruby.runtime.Signature, org.jruby.runtime.callsite.CacheEntry, org.jruby.runtime.ArgumentDescriptor[], org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, java.lang.String, int);
descriptor: (Lorg/jruby/parser/StaticScope;Lorg/jruby/runtime/Signature;Lorg/jruby/runtime/callsite/CacheEntry;[Lorg/jruby/runtime/ArgumentDescriptor;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Ljava/lang/String;Ljava/lang/String;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=10, args_size=10
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 0: aload 0
aload 1
aload 2
invokespecial org.jruby.runtime.ContextAwareBlockBody.<init>:(Lorg/jruby/parser/StaticScope;Lorg/jruby/runtime/Signature;)V
1: aload 0
aload 3
putfield org.jruby.runtime.MethodBlockBody.entry:Lorg/jruby/runtime/callsite/CacheEntry;
2: aload 0
aload 4
putfield org.jruby.runtime.MethodBlockBody.argsDesc:[Lorg/jruby/runtime/ArgumentDescriptor;
3: aload 0
aload 5
putfield org.jruby.runtime.MethodBlockBody.receiver:Lorg/jruby/runtime/builtin/IRubyObject;
4: aload 0
aload 6
putfield org.jruby.runtime.MethodBlockBody.originModule:Lorg/jruby/RubyModule;
5: aload 0
aload 7
putfield org.jruby.runtime.MethodBlockBody.originName:Ljava/lang/String;
6: aload 0
aload 8
putfield org.jruby.runtime.MethodBlockBody.file:Ljava/lang/String;
7: aload 0
iload 9
putfield org.jruby.runtime.MethodBlockBody.line:I
8: return
end local 9 end local 8 end local 7 end local 6 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 9 0 this Lorg/jruby/runtime/MethodBlockBody;
0 9 1 staticScope Lorg/jruby/parser/StaticScope;
0 9 2 signature Lorg/jruby/runtime/Signature;
0 9 3 entry Lorg/jruby/runtime/callsite/CacheEntry;
0 9 4 argsDesc [Lorg/jruby/runtime/ArgumentDescriptor;
0 9 5 receiver Lorg/jruby/runtime/builtin/IRubyObject;
0 9 6 originModule Lorg/jruby/RubyModule;
0 9 7 originName Ljava/lang/String;
0 9 8 file Ljava/lang/String;
0 9 9 line I
MethodParameters:
Name Flags
staticScope
signature
entry
argsDesc
receiver
originModule
originName
file
line
public static org.jruby.runtime.Block createMethodBlock(org.jruby.runtime.MethodBlockBody);
descriptor: (Lorg/jruby/runtime/MethodBlockBody;)Lorg/jruby/runtime/Block;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=5, args_size=1
start local 0 0: aload 0
getfield org.jruby.runtime.MethodBlockBody.entry:Lorg/jruby/runtime/callsite/CacheEntry;
getfield org.jruby.runtime.callsite.CacheEntry.method:Lorg/jruby/internal/runtime/methods/DynamicMethod;
astore 1
start local 1 1: aload 1
invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.getImplementationClass:()Lorg/jruby/RubyModule;
astore 2
start local 2 2: new org.jruby.runtime.Frame
dup
invokespecial org.jruby.runtime.Frame.<init>:()V
astore 3
start local 3 3: aload 3
aload 2
invokevirtual org.jruby.runtime.Frame.setKlazz:(Lorg/jruby/RubyModule;)V
4: aload 3
aload 1
invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.getName:()Ljava/lang/String;
invokevirtual org.jruby.runtime.Frame.setName:(Ljava/lang/String;)V
5: aload 3
aload 0
getfield org.jruby.runtime.MethodBlockBody.receiver:Lorg/jruby/runtime/builtin/IRubyObject;
invokevirtual org.jruby.runtime.Frame.setSelf:(Lorg/jruby/runtime/builtin/IRubyObject;)V
6: aload 3
aload 1
invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.getVisibility:()Lorg/jruby/runtime/Visibility;
invokevirtual org.jruby.runtime.Frame.setVisibility:(Lorg/jruby/runtime/Visibility;)V
7: new org.jruby.runtime.Binding
dup
8: aload 3
9: aload 0
invokevirtual org.jruby.runtime.MethodBlockBody.getStaticScope:()Lorg/jruby/parser/StaticScope;
invokevirtual org.jruby.parser.StaticScope.getDummyScope:()Lorg/jruby/runtime/DynamicScope;
10: aload 1
invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.getName:()Ljava/lang/String;
aload 0
invokevirtual org.jruby.runtime.MethodBlockBody.getFile:()Ljava/lang/String;
aload 0
invokevirtual org.jruby.runtime.MethodBlockBody.getLine:()I
11: invokespecial org.jruby.runtime.Binding.<init>:(Lorg/jruby/runtime/Frame;Lorg/jruby/runtime/DynamicScope;Ljava/lang/String;Ljava/lang/String;I)V
astore 4
start local 4 12: new org.jruby.runtime.Block
dup
aload 0
aload 4
invokespecial org.jruby.runtime.Block.<init>:(Lorg/jruby/runtime/BlockBody;Lorg/jruby/runtime/Binding;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 body Lorg/jruby/runtime/MethodBlockBody;
1 13 1 method Lorg/jruby/internal/runtime/methods/DynamicMethod;
2 13 2 module Lorg/jruby/RubyModule;
3 13 3 frame Lorg/jruby/runtime/Frame;
12 13 4 binding Lorg/jruby/runtime/Binding;
MethodParameters:
Name Flags
body
public org.jruby.runtime.builtin.IRubyObject call(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.runtime.builtin.IRubyObject[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 3
aload 2
getfield org.jruby.runtime.Block.type:Lorg/jruby/runtime/Block$Type;
invokevirtual org.jruby.runtime.MethodBlockBody.prepareArgumentsForCall:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block$Type;)[Lorg/jruby/runtime/builtin/IRubyObject;
astore 3
1: aload 0
getfield org.jruby.runtime.MethodBlockBody.entry:Lorg/jruby/runtime/callsite/CacheEntry;
getfield org.jruby.runtime.callsite.CacheEntry.method:Lorg/jruby/internal/runtime/methods/DynamicMethod;
aload 1
aload 0
getfield org.jruby.runtime.MethodBlockBody.receiver:Lorg/jruby/runtime/builtin/IRubyObject;
aload 0
getfield org.jruby.runtime.MethodBlockBody.entry:Lorg/jruby/runtime/callsite/CacheEntry;
getfield org.jruby.runtime.callsite.CacheEntry.sourceModule:Lorg/jruby/RubyModule;
aload 0
getfield org.jruby.runtime.MethodBlockBody.originName:Ljava/lang/String;
aload 3
invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Ljava/lang/String;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/runtime/MethodBlockBody;
0 2 1 context Lorg/jruby/runtime/ThreadContext;
0 2 2 block Lorg/jruby/runtime/Block;
0 2 3 args [Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
block
args
public org.jruby.runtime.builtin.IRubyObject call(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 3
aload 2
getfield org.jruby.runtime.Block.type:Lorg/jruby/runtime/Block$Type;
invokevirtual org.jruby.runtime.MethodBlockBody.prepareArgumentsForCall:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block$Type;)[Lorg/jruby/runtime/builtin/IRubyObject;
astore 3
1: aload 0
getfield org.jruby.runtime.MethodBlockBody.entry:Lorg/jruby/runtime/callsite/CacheEntry;
getfield org.jruby.runtime.callsite.CacheEntry.method:Lorg/jruby/internal/runtime/methods/DynamicMethod;
aload 1
aload 0
getfield org.jruby.runtime.MethodBlockBody.receiver:Lorg/jruby/runtime/builtin/IRubyObject;
aload 0
getfield org.jruby.runtime.MethodBlockBody.entry:Lorg/jruby/runtime/callsite/CacheEntry;
getfield org.jruby.runtime.callsite.CacheEntry.sourceModule:Lorg/jruby/RubyModule;
aload 0
getfield org.jruby.runtime.MethodBlockBody.originName:Ljava/lang/String;
aload 3
aload 4
invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Ljava/lang/String;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/runtime/MethodBlockBody;
0 2 1 context Lorg/jruby/runtime/ThreadContext;
0 2 2 block Lorg/jruby/runtime/Block;
0 2 3 args [Lorg/jruby/runtime/builtin/IRubyObject;
0 2 4 blockArg Lorg/jruby/runtime/Block;
MethodParameters:
Name Flags
context
block
args
blockArg
protected org.jruby.runtime.builtin.IRubyObject doYield(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 3
aload 0
invokevirtual org.jruby.runtime.MethodBlockBody.getSignature:()Lorg/jruby/runtime/Signature;
aload 2
getfield org.jruby.runtime.Block.type:Lorg/jruby/runtime/Block$Type;
iconst_0
invokestatic org.jruby.runtime.Helpers.restructureBlockArgs:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Signature;Lorg/jruby/runtime/Block$Type;Z)[Lorg/jruby/runtime/builtin/IRubyObject;
astore 4
start local 4 1: aload 0
getfield org.jruby.runtime.MethodBlockBody.entry:Lorg/jruby/runtime/callsite/CacheEntry;
getfield org.jruby.runtime.callsite.CacheEntry.method:Lorg/jruby/internal/runtime/methods/DynamicMethod;
aload 1
aload 0
getfield org.jruby.runtime.MethodBlockBody.receiver:Lorg/jruby/runtime/builtin/IRubyObject;
aload 0
getfield org.jruby.runtime.MethodBlockBody.entry:Lorg/jruby/runtime/callsite/CacheEntry;
getfield org.jruby.runtime.callsite.CacheEntry.sourceModule:Lorg/jruby/RubyModule;
aload 0
getfield org.jruby.runtime.MethodBlockBody.originName:Ljava/lang/String;
aload 4
getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Ljava/lang/String;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/runtime/MethodBlockBody;
0 2 1 context Lorg/jruby/runtime/ThreadContext;
0 2 2 block Lorg/jruby/runtime/Block;
0 2 3 value Lorg/jruby/runtime/builtin/IRubyObject;
1 2 4 realArgs [Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
block
value
protected org.jruby.runtime.builtin.IRubyObject doYield(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield org.jruby.runtime.MethodBlockBody.entry:Lorg/jruby/runtime/callsite/CacheEntry;
getfield org.jruby.runtime.callsite.CacheEntry.method:Lorg/jruby/internal/runtime/methods/DynamicMethod;
aload 1
aload 0
getfield org.jruby.runtime.MethodBlockBody.receiver:Lorg/jruby/runtime/builtin/IRubyObject;
aload 0
getfield org.jruby.runtime.MethodBlockBody.entry:Lorg/jruby/runtime/callsite/CacheEntry;
getfield org.jruby.runtime.callsite.CacheEntry.sourceModule:Lorg/jruby/RubyModule;
aload 0
getfield org.jruby.runtime.MethodBlockBody.originName:Ljava/lang/String;
aload 3
getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Ljava/lang/String;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/runtime/MethodBlockBody;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 block Lorg/jruby/runtime/Block;
0 1 3 args [Lorg/jruby/runtime/builtin/IRubyObject;
0 1 4 self Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
block
args
self
public java.lang.String getFile();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.runtime.MethodBlockBody.file:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/runtime/MethodBlockBody;
public int getLine();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.runtime.MethodBlockBody.line:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/runtime/MethodBlockBody;
public org.jruby.runtime.ArgumentDescriptor[] getArgumentDescriptors();
descriptor: ()[Lorg/jruby/runtime/ArgumentDescriptor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.runtime.MethodBlockBody.argsDesc:[Lorg/jruby/runtime/ArgumentDescriptor;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/runtime/MethodBlockBody;
}
SourceFile: "MethodBlockBody.java"
InnerClasses:
public final Type = org.jruby.runtime.Block$Type of org.jruby.runtime.Block