public abstract class org.jruby.runtime.BlockBody
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.jruby.runtime.BlockBody
super_class: java.lang.Object
{
protected final org.jruby.runtime.Signature signature;
descriptor: Lorg/jruby/runtime/Signature;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected java.lang.invoke.MethodHandle testBlockBody;
descriptor: Ljava/lang/invoke/MethodHandle;
flags: (0x0004) ACC_PROTECTED
private static final java.lang.invoke.MethodHandle TEST_BLOCK_BODY;
descriptor: Ljava/lang/invoke/MethodHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final org.jruby.runtime.BlockBody NULL_BODY;
descriptor: Lorg/jruby/runtime/BlockBody;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=0, args_size=0
0: getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
ldc Lorg/jruby/runtime/Block;
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Lorg/jruby/runtime/BlockBody;
aastore
invokestatic com.headius.invokebinder.Binder.from:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Lcom/headius/invokebinder/Binder;
invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
ldc Lorg/jruby/runtime/BlockBody;
ldc "testBlockBody"
invokevirtual com.headius.invokebinder.Binder.invokeStaticQuiet:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/invoke/MethodHandle;
putstatic org.jruby.runtime.BlockBody.TEST_BLOCK_BODY:Ljava/lang/invoke/MethodHandle;
1: new org.jruby.runtime.NullBlockBody
dup
invokespecial org.jruby.runtime.NullBlockBody.<init>:()V
putstatic org.jruby.runtime.BlockBody.NULL_BODY:Lorg/jruby/runtime/BlockBody;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.jruby.runtime.Signature);
descriptor: (Lorg/jruby/runtime/Signature;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.jruby.runtime.BlockBody.signature:Lorg/jruby/runtime/Signature;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/runtime/BlockBody;
0 3 1 signature Lorg/jruby/runtime/Signature;
MethodParameters:
Name Flags
signature
public org.jruby.runtime.Signature getSignature();
descriptor: ()Lorg/jruby/runtime/Signature;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.runtime.BlockBody.signature:Lorg/jruby/runtime/Signature;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/runtime/BlockBody;
public boolean canCallDirect();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/runtime/BlockBody;
public java.lang.invoke.MethodHandle getTestBlockBody();
descriptor: ()Ljava/lang/invoke/MethodHandle;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=1
start local 0 0: aload 0
getfield org.jruby.runtime.BlockBody.testBlockBody:Ljava/lang/invoke/MethodHandle;
astore 1
start local 1 1: aload 1
ifnull 2
aload 1
areturn
2: StackMap locals: java.lang.invoke.MethodHandle
StackMap stack:
aload 0
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
ldc Lorg/jruby/runtime/ThreadContext;
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Lorg/jruby/runtime/Block;
aastore
invokestatic com.headius.invokebinder.Binder.from:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Lcom/headius/invokebinder/Binder;
iconst_0
invokevirtual com.headius.invokebinder.Binder.drop:(I)Lcom/headius/invokebinder/Binder;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
invokevirtual com.headius.invokebinder.Binder.append:([Ljava/lang/Object;)Lcom/headius/invokebinder/Binder;
getstatic org.jruby.runtime.BlockBody.TEST_BLOCK_BODY:Ljava/lang/invoke/MethodHandle;
invokevirtual com.headius.invokebinder.Binder.invoke:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
dup_x1
putfield org.jruby.runtime.BlockBody.testBlockBody:Ljava/lang/invoke/MethodHandle;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/runtime/BlockBody;
1 3 1 testBlockBody Ljava/lang/invoke/MethodHandle;
public static boolean testBlockBody(org.jruby.runtime.Block, org.jruby.runtime.BlockBody);
descriptor: (Lorg/jruby/runtime/Block;Lorg/jruby/runtime/BlockBody;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.runtime.Block.getBody:()Lorg/jruby/runtime/BlockBody;
aload 1
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 block Lorg/jruby/runtime/Block;
0 2 1 body Lorg/jruby/runtime/BlockBody;
MethodParameters:
Name Flags
block
body
protected org.jruby.runtime.builtin.IRubyObject callDirect(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: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new java.lang.RuntimeException
dup
ldc "callDirect not implemented in base class. We should never get here."
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
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/BlockBody;
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 blockArg Lorg/jruby/runtime/Block;
MethodParameters:
Name Flags
context
block
args
blockArg
protected org.jruby.runtime.builtin.IRubyObject yieldDirect(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=3, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new java.lang.RuntimeException
dup
ldc "yieldDirect not implemented in base class. We should never get here."
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
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/BlockBody;
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 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=3, locals=4, args_size=4
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\trestricted identifier yield not allowed here - method calls need to be qualified\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/runtime/BlockBody;
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=3, locals=5, args_size=5
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\trestricted identifier yield not allowed here - method calls need to be qualified\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/runtime/BlockBody;
MethodParameters:
Name Flags
context
block
args
blockArg
public final org.jruby.runtime.builtin.IRubyObject yield(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: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=7, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual org.jruby.runtime.BlockBody.canCallDirect:()Z
ifeq 2
1: aload 0
aload 1
aload 2
iconst_1
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 3
aastore
aconst_null
invokevirtual org.jruby.runtime.BlockBody.yieldDirect:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
invokevirtual org.jruby.runtime.BlockBody.doYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;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 3 0 this Lorg/jruby/runtime/BlockBody;
0 3 1 context Lorg/jruby/runtime/ThreadContext;
0 3 2 block Lorg/jruby/runtime/Block;
0 3 3 value Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
block
value
public final org.jruby.runtime.builtin.IRubyObject yield(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: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokevirtual org.jruby.runtime.BlockBody.canCallDirect:()Z
ifeq 2
1: aload 0
aload 1
aload 2
aload 3
aload 4
invokevirtual org.jruby.runtime.BlockBody.yieldDirect:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
2: StackMap locals:
StackMap stack:
aload 1
aload 2
getfield org.jruby.runtime.Block.type:Lorg/jruby/runtime/Block$Type;
aload 0
aload 3
invokestatic org.jruby.RubyProc.prepareArgs:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block$Type;Lorg/jruby/runtime/BlockBody;[Lorg/jruby/runtime/builtin/IRubyObject;)[Lorg/jruby/runtime/builtin/IRubyObject;
astore 5
start local 5 3: aload 0
aload 1
aload 2
aload 5
aload 4
invokevirtual org.jruby.runtime.BlockBody.doYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
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 4 0 this Lorg/jruby/runtime/BlockBody;
0 4 1 context Lorg/jruby/runtime/ThreadContext;
0 4 2 block Lorg/jruby/runtime/Block;
0 4 3 args [Lorg/jruby/runtime/builtin/IRubyObject;
0 4 4 self Lorg/jruby/runtime/builtin/IRubyObject;
3 4 5 preppedValue [Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
block
args
self
protected abstract 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: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
context
block
value
protected abstract 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: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
context
block
args
self
public org.jruby.runtime.builtin.IRubyObject yield(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.runtime.builtin.IRubyObject[], 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/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=6
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\trestricted identifier yield not allowed here - method calls need to be qualified\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/runtime/BlockBody;
MethodParameters:
Name Flags
context
block
args
self
blockArg
public org.jruby.runtime.builtin.IRubyObject yield(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=3, locals=5, args_size=5
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\trestricted identifier yield not allowed here - method calls need to be qualified\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/runtime/BlockBody;
MethodParameters:
Name Flags
context
block
value
blockArg
public org.jruby.runtime.builtin.IRubyObject call(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\trestricted identifier yield not allowed here - method calls need to be qualified\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/runtime/BlockBody;
MethodParameters:
Name Flags
context
block
public org.jruby.runtime.builtin.IRubyObject call(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.runtime.Block);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
invokevirtual org.jruby.runtime.BlockBody.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)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 1 0 this Lorg/jruby/runtime/BlockBody;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 block Lorg/jruby/runtime/Block;
0 1 3 unusedBlock Lorg/jruby/runtime/Block;
MethodParameters:
Name Flags
context
block
unusedBlock
public org.jruby.runtime.builtin.IRubyObject yieldSpecific(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\trestricted identifier yield not allowed here - method calls need to be qualified\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/runtime/BlockBody;
MethodParameters:
Name Flags
context
block
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=3, locals=4, args_size=4
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\trestricted identifier yield not allowed here - method calls need to be qualified\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/runtime/BlockBody;
MethodParameters:
Name Flags
context
block
arg0
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=4, 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 2
aload 3
invokevirtual org.jruby.runtime.BlockBody.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/runtime/builtin/IRubyObject;)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/BlockBody;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 block Lorg/jruby/runtime/Block;
0 1 3 arg0 Lorg/jruby/runtime/builtin/IRubyObject;
0 1 4 unusedBlock Lorg/jruby/runtime/Block;
MethodParameters:
Name Flags
context
block
arg0
unusedBlock
public org.jruby.runtime.builtin.IRubyObject yieldSpecific(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=3, locals=4, args_size=4
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\trestricted identifier yield not allowed here - method calls need to be qualified\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/runtime/BlockBody;
MethodParameters:
Name Flags
context
block
arg0
public org.jruby.runtime.builtin.IRubyObject call(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: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=5
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\trestricted identifier yield not allowed here - method calls need to be qualified\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/runtime/BlockBody;
MethodParameters:
Name Flags
context
block
arg0
arg1
public org.jruby.runtime.builtin.IRubyObject call(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.runtime.builtin.IRubyObject, 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/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
aload 2
aload 3
aload 4
invokevirtual org.jruby.runtime.BlockBody.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
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 1 0 this Lorg/jruby/runtime/BlockBody;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 block Lorg/jruby/runtime/Block;
0 1 3 arg0 Lorg/jruby/runtime/builtin/IRubyObject;
0 1 4 arg1 Lorg/jruby/runtime/builtin/IRubyObject;
0 1 5 unusedBlock Lorg/jruby/runtime/Block;
MethodParameters:
Name Flags
context
block
arg0
arg1
unusedBlock
public org.jruby.runtime.builtin.IRubyObject yieldSpecific(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: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=5
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\trestricted identifier yield not allowed here - method calls need to be qualified\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/runtime/BlockBody;
MethodParameters:
Name Flags
context
block
arg0
arg1
public org.jruby.runtime.builtin.IRubyObject call(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.runtime.builtin.IRubyObject, 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;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=6
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\trestricted identifier yield not allowed here - method calls need to be qualified\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/runtime/BlockBody;
MethodParameters:
Name Flags
context
block
arg0
arg1
arg2
public org.jruby.runtime.builtin.IRubyObject call(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, 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/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
aload 1
aload 2
aload 3
aload 4
aload 5
invokevirtual org.jruby.runtime.BlockBody.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
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 1 0 this Lorg/jruby/runtime/BlockBody;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 block Lorg/jruby/runtime/Block;
0 1 3 arg0 Lorg/jruby/runtime/builtin/IRubyObject;
0 1 4 arg1 Lorg/jruby/runtime/builtin/IRubyObject;
0 1 5 arg2 Lorg/jruby/runtime/builtin/IRubyObject;
0 1 6 unusedBlock Lorg/jruby/runtime/Block;
MethodParameters:
Name Flags
context
block
arg0
arg1
arg2
unusedBlock
public org.jruby.runtime.builtin.IRubyObject yieldSpecific(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.runtime.builtin.IRubyObject, 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;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=6
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\trestricted identifier yield not allowed here - method calls need to be qualified\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/runtime/BlockBody;
MethodParameters:
Name Flags
context
block
arg0
arg1
arg2
public abstract org.jruby.parser.StaticScope getStaticScope();
descriptor: ()Lorg/jruby/parser/StaticScope;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract void setStaticScope(org.jruby.parser.StaticScope);
descriptor: (Lorg/jruby/parser/StaticScope;)V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
newScope
public org.jruby.runtime.Arity arity();
descriptor: ()Lorg/jruby/runtime/Arity;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.runtime.BlockBody.signature:Lorg/jruby/runtime/Signature;
invokevirtual org.jruby.runtime.Signature.arity:()Lorg/jruby/runtime/Arity;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/runtime/BlockBody;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public boolean isGiven();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/runtime/BlockBody;
public abstract java.lang.String getFile();
descriptor: ()Ljava/lang/String;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract int getLine();
descriptor: ()I
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public org.jruby.runtime.builtin.IRubyObject[] prepareArgumentsForCall(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block$Type);
descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block$Type;)[Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
getstatic org.jruby.runtime.Block$Type.LAMBDA:Lorg/jruby/runtime/Block$Type;
if_acmpne 3
1: aload 0
getfield org.jruby.runtime.BlockBody.signature:Lorg/jruby/runtime/Signature;
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 2
invokevirtual org.jruby.runtime.Signature.checkArity:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)V
2: goto 12
3: StackMap locals:
StackMap stack:
aload 2
arraylength
iconst_1
if_icmpne 8
4: aload 1
aload 2
iconst_0
aaload
aload 0
getfield org.jruby.runtime.BlockBody.signature:Lorg/jruby/runtime/Signature;
aload 2
iconst_0
aaload
instanceof org.jruby.RubyArray
ifeq 5
aload 3
getstatic org.jruby.runtime.Block$Type.NORMAL:Lorg/jruby/runtime/Block$Type;
if_acmpne 5
iconst_1
goto 6
StackMap locals: org.jruby.runtime.BlockBody org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.Block$Type
StackMap stack: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Signature
5: iconst_0
StackMap locals: org.jruby.runtime.BlockBody org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.Block$Type
StackMap stack: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Signature int
6: invokestatic org.jruby.ir.runtime.IRRuntimeHelpers.convertValueIntoArgArray:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Signature;Z)[Lorg/jruby/runtime/builtin/IRubyObject;
astore 2
7: goto 12
StackMap locals:
StackMap stack:
8: aload 0
getfield org.jruby.runtime.BlockBody.signature:Lorg/jruby/runtime/Signature;
invokevirtual org.jruby.runtime.Signature.arityValue:()I
iconst_1
if_icmpne 12
aload 0
getfield org.jruby.runtime.BlockBody.signature:Lorg/jruby/runtime/Signature;
invokevirtual org.jruby.runtime.Signature.restKwargs:()Z
ifne 12
9: aload 2
arraylength
ifne 10
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getSingleNilArray:()[Lorg/jruby/runtime/builtin/IRubyObject;
goto 11
StackMap locals:
StackMap stack:
10: iconst_1
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 2
iconst_0
aaload
aastore
StackMap locals:
StackMap stack: org.jruby.runtime.builtin.IRubyObject[]
11: astore 2
12: StackMap locals:
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/jruby/runtime/BlockBody;
0 13 1 context Lorg/jruby/runtime/ThreadContext;
0 13 2 args [Lorg/jruby/runtime/builtin/IRubyObject;
0 13 3 type Lorg/jruby/runtime/Block$Type;
MethodParameters:
Name Flags
context
args
type
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: getstatic org.jruby.runtime.ArgumentDescriptor.EMPTY_ARRAY:[Lorg/jruby/runtime/ArgumentDescriptor;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/runtime/BlockBody;
}
SourceFile: "BlockBody.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public final Type = org.jruby.runtime.Block$Type of org.jruby.runtime.Block