public class org.jruby.RubyStruct extends org.jruby.RubyObject
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.RubyStruct
super_class: org.jruby.RubyObject
{
public static final java.lang.String NO_MEMBER_IN_STRUCT;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "no member '%1$s' in struct"
public static final java.lang.String IDENTIFIER_NEEDS_TO_BE_CONSTANT;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "identifier %1$s needs to be constant"
public static final java.lang.String UNINITIALIZED_CONSTANT;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "uninitialized constant %1$s"
private static final java.lang.String KEYWORD_INIT_VAR;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "__keyword_init__"
private static final java.lang.String SIZE_VAR;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "__size__"
public static final java.lang.String MEMBER_VAR;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "__member__"
private final org.jruby.runtime.builtin.IRubyObject[] values;
descriptor: [Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final byte[] STRUCT_BEG;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final byte[] STRUCT_END;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.jruby.runtime.ObjectAllocator STRUCT_INSTANCE_ALLOCATOR;
descriptor: Lorg/jruby/runtime/ObjectAllocator;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: ldc Lorg/jruby/RubyStruct;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.jruby.RubyStruct.$assertionsDisabled:Z
3: bipush 9
newarray 8
dup
iconst_0
bipush 35
bastore
dup
iconst_1
bipush 60
bastore
dup
iconst_2
bipush 115
bastore
dup
iconst_3
bipush 116
bastore
dup
iconst_4
bipush 114
bastore
dup
iconst_5
bipush 117
bastore
dup
bipush 6
bipush 99
bastore
dup
bipush 7
bipush 116
bastore
dup
bipush 8
bipush 32
bastore
putstatic org.jruby.RubyStruct.STRUCT_BEG:[B
4: iconst_5
newarray 8
dup
iconst_0
bipush 58
bastore
dup
iconst_1
bipush 46
bastore
dup
iconst_2
bipush 46
bastore
dup
iconst_3
bipush 46
bastore
dup
iconst_4
bipush 62
bastore
putstatic org.jruby.RubyStruct.STRUCT_END:[B
5: new org.jruby.RubyStruct$1
dup
invokespecial org.jruby.RubyStruct$1.<init>:()V
putstatic org.jruby.RubyStruct.STRUCT_INSTANCE_ALLOCATOR:Lorg/jruby/runtime/ObjectAllocator;
6: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(org.jruby.Ruby, org.jruby.RubyClass);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokespecial org.jruby.RubyObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
1: aload 2
ldc "__size__"
invokestatic org.jruby.RubyStruct.getInternalVariable:(Lorg/jruby/RubyClass;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
istore 3
start local 3 2: aload 0
iload 3
anewarray org.jruby.runtime.builtin.IRubyObject
putfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
3: aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
aload 1
invokestatic org.jruby.runtime.Helpers.fillNil:([Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/Ruby;)V
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/RubyStruct;
0 5 1 runtime Lorg/jruby/Ruby;
0 5 2 rubyClass Lorg/jruby/RubyClass;
2 5 3 size I
MethodParameters:
Name Flags
runtime
rubyClass
public static org.jruby.RubyClass createStructClass(org.jruby.Ruby);
descriptor: (Lorg/jruby/Ruby;)Lorg/jruby/RubyClass;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
ldc "Struct"
aload 0
invokevirtual org.jruby.Ruby.getObject:()Lorg/jruby/RubyClass;
getstatic org.jruby.runtime.ObjectAllocator.NOT_ALLOCATABLE_ALLOCATOR:Lorg/jruby/runtime/ObjectAllocator;
invokevirtual org.jruby.Ruby.defineClass:(Ljava/lang/String;Lorg/jruby/RubyClass;Lorg/jruby/runtime/ObjectAllocator;)Lorg/jruby/RubyClass;
astore 1
start local 1 1: aload 0
aload 1
invokevirtual org.jruby.Ruby.setStructClass:(Lorg/jruby/RubyClass;)V
2: aload 1
getstatic org.jruby.runtime.ClassIndex.STRUCT:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.RubyClass.setClassIndex:(Lorg/jruby/runtime/ClassIndex;)V
3: aload 1
aload 0
invokevirtual org.jruby.Ruby.getEnumerable:()Lorg/jruby/RubyModule;
invokevirtual org.jruby.RubyClass.includeModule:(Lorg/jruby/runtime/builtin/IRubyObject;)V
4: aload 1
ldc Lorg/jruby/RubyStruct;
invokevirtual org.jruby.RubyClass.setReifiedClass:(Ljava/lang/Class;)V
5: aload 1
ldc Lorg/jruby/RubyStruct;
invokevirtual org.jruby.RubyClass.defineAnnotatedMethods:(Ljava/lang/Class;)V
6: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 runtime Lorg/jruby/Ruby;
1 7 1 structClass Lorg/jruby/RubyClass;
MethodParameters:
Name Flags
runtime
public org.jruby.runtime.ClassIndex getNativeClassIndex();
descriptor: ()Lorg/jruby/runtime/ClassIndex;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic org.jruby.runtime.ClassIndex.STRUCT:Lorg/jruby/runtime/ClassIndex;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyStruct;
private static org.jruby.runtime.builtin.IRubyObject getInternalVariable(org.jruby.RubyClass, java.lang.String);
descriptor: (Lorg/jruby/RubyClass;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.RubyClass.getRuntime:()Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getStructClass:()Lorg/jruby/RubyClass;
astore 2
start local 2 1: goto 6
2: StackMap locals: org.jruby.RubyClass
StackMap stack:
aload 0
aload 1
invokevirtual org.jruby.RubyClass.getInternalVariable:(Ljava/lang/String;)Ljava/lang/Object;
checkcast org.jruby.runtime.builtin.IRubyObject
dup
astore 3
start local 3 3: ifnull 5
4: aload 3
areturn
5: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 0
invokevirtual org.jruby.RubyClass.getSuperClass:()Lorg/jruby/RubyClass;
astore 0
end local 3 6: StackMap locals:
StackMap stack:
aload 0
ifnull 7
aload 0
aload 2
if_acmpne 2
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.RubyClass.getRuntime:()Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 type Lorg/jruby/RubyClass;
0 8 1 internedName Ljava/lang/String;
1 8 2 structClass Lorg/jruby/RubyClass;
3 6 3 variable Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
type
internedName
private org.jruby.RubyClass classOf();
descriptor: ()Lorg/jruby/RubyClass;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.RubyStruct.getMetaClass:()Lorg/jruby/RubyClass;
astore 1
start local 1 1: aload 1
instanceof org.jruby.MetaClass
ifeq 2
aload 1
invokevirtual org.jruby.RubyClass.getSuperClass:()Lorg/jruby/RubyClass;
goto 3
StackMap locals: org.jruby.RubyClass
StackMap stack:
2: aload 1
StackMap locals:
StackMap stack: org.jruby.RubyClass
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/RubyStruct;
1 4 1 metaClass Lorg/jruby/RubyClass;
private void modify();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.RubyStruct.testFrozen:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/RubyStruct;
public org.jruby.RubyFixnum hash(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyFixnum;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 2
start local 2 1: aload 0
invokevirtual org.jruby.RubyStruct.getType:()Lorg/jruby/RubyClass;
invokevirtual org.jruby.RubyClass.hashCode:()I
istore 3
start local 3 2: aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
astore 4
start local 4 3: iconst_0
istore 5
start local 5 4: goto 11
5: StackMap locals: org.jruby.RubyStruct org.jruby.runtime.ThreadContext org.jruby.Ruby int org.jruby.runtime.builtin.IRubyObject[] int
StackMap stack:
iload 3
iconst_1
ishl
iload 3
ifge 6
iconst_1
goto 7
StackMap locals:
StackMap stack: int
6: iconst_0
StackMap locals: org.jruby.RubyStruct org.jruby.runtime.ThreadContext org.jruby.Ruby int org.jruby.runtime.builtin.IRubyObject[] int
StackMap stack: int int
7: ior
istore 3
8: aload 1
getstatic org.jruby.RubyStruct$HashRecursive.INSTANCE:Lorg/jruby/RubyStruct$HashRecursive;
aload 2
aload 4
iload 5
aaload
ldc "hash"
iconst_1
invokevirtual org.jruby.runtime.ThreadContext.safeRecurse:(Lorg/jruby/runtime/ThreadContext$RecursiveFunctionEx;Ljava/lang/Object;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Z)Lorg/jruby/runtime/builtin/IRubyObject;
astore 6
start local 6 9: iload 3
i2l
aload 6
invokestatic org.jruby.RubyNumeric.num2long:(Lorg/jruby/runtime/builtin/IRubyObject;)J
lxor
l2i
istore 3
end local 6 10: iinc 5 1
StackMap locals:
StackMap stack:
11: iload 5
aload 4
arraylength
if_icmplt 5
end local 5 12: aload 2
iload 3
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
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 this Lorg/jruby/RubyStruct;
0 13 1 context Lorg/jruby/runtime/ThreadContext;
1 13 2 runtime Lorg/jruby/Ruby;
2 13 3 h I
3 13 4 values [Lorg/jruby/runtime/builtin/IRubyObject;
4 12 5 i I
9 10 6 hash Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
MethodParameters:
Name Flags
context
private org.jruby.runtime.builtin.IRubyObject setByName(java.lang.String, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.RubyStruct.__member__:()Lorg/jruby/RubyArray;
astore 3
start local 3 1: aload 0
invokevirtual org.jruby.RubyStruct.modify:()V
2: iconst_0
istore 4
start local 4 3: goto 7
4: StackMap locals: org.jruby.RubyArray int
StackMap stack:
aload 3
iload 4
invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
invokeinterface org.jruby.runtime.builtin.IRubyObject.asJavaString:()Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
5: aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
iload 4
aload 2
dup_x2
aastore
areturn
6: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
aload 3
invokevirtual org.jruby.RubyArray.getLength:()I
if_icmplt 4
end local 4 8: aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/jruby/RubyStruct;
0 9 1 name Ljava/lang/String;
0 9 2 value Lorg/jruby/runtime/builtin/IRubyObject;
1 9 3 member Lorg/jruby/RubyArray;
3 8 4 i I
MethodParameters:
Name Flags
name
value
private org.jruby.runtime.builtin.IRubyObject getByName(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.RubyStruct.__member__:()Lorg/jruby/RubyArray;
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 6
3: StackMap locals: org.jruby.RubyArray int
StackMap stack:
aload 2
iload 3
invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
invokeinterface org.jruby.runtime.builtin.IRubyObject.asJavaString:()Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
4: aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
iload 3
aaload
areturn
5: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
aload 2
invokevirtual org.jruby.RubyArray.getLength:()I
if_icmplt 3
end local 3 7: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/jruby/RubyStruct;
0 8 1 name Ljava/lang/String;
1 8 2 member Lorg/jruby/RubyArray;
2 7 3 i I
MethodParameters:
Name Flags
name
public static org.jruby.RubyClass newInstance(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyClass;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=16, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: iconst_0
istore 5
start local 5 3: aload 0
invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
astore 6
start local 6 4: aload 1
arraylength
ifle 11
5: aload 1
iconst_0
aaload
invokeinterface org.jruby.runtime.builtin.IRubyObject.checkStringType:()Lorg/jruby/runtime/builtin/IRubyObject;
astore 7
start local 7 6: aload 7
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 9
7: aload 7
checkcast org.jruby.RubyString
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.toString:()Ljava/lang/String;
astore 3
8: goto 11
StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.Block java.lang.String int int org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject
StackMap stack:
9: aload 1
iconst_0
aaload
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 11
10: iconst_1
istore 4
end local 7 11: StackMap locals:
StackMap stack:
aload 6
invokevirtual org.jruby.Ruby.newArray:()Lorg/jruby/RubyArray;
astore 7
start local 7 12: aload 1
arraylength
istore 8
start local 8 13: aload 1
aload 1
arraylength
iconst_1
isub
aaload
astore 9
start local 9 14: aload 9
instanceof org.jruby.RubyHash
ifeq 20
15: iinc 8 -1
16: aload 6
invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
aload 9
checkcast org.jruby.RubyHash
ldc "keyword_init"
invokestatic org.jruby.ast.util.ArgsUtil.extractKeywordArg:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 10
start local 10 17: aload 10
ifnull 18
aload 10
invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
ifeq 18
iconst_1
goto 19
StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.Block java.lang.String int int org.jruby.Ruby org.jruby.RubyArray int org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
StackMap stack:
18: iconst_0
StackMap locals:
StackMap stack: int
19: istore 5
end local 10 20: StackMap locals:
StackMap stack:
aload 3
ifnonnull 21
iload 4
ifne 21
iconst_0
goto 22
StackMap locals:
StackMap stack:
21: iconst_1
StackMap locals:
StackMap stack: int
22: istore 10
start local 10 23: goto 34
24: StackMap locals: int
StackMap stack:
aload 1
iload 10
aaload
astore 11
start local 11 25: aload 11
instanceof org.jruby.RubySymbol
ifeq 28
26: aload 11
checkcast org.jruby.RubySymbol
astore 12
start local 12 27: goto 32
end local 12 StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
28: aload 11
instanceof org.jruby.RubyString
ifeq 31
29: aload 6
aload 11
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.Ruby.newSymbol:(Lorg/jruby/util/ByteList;)Lorg/jruby/RubySymbol;
astore 12
start local 12 30: goto 32
end local 12 31: StackMap locals:
StackMap stack:
aload 6
aload 11
invokeinterface org.jruby.runtime.builtin.IRubyObject.asJavaString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
astore 12
start local 12 32: StackMap locals: org.jruby.RubySymbol
StackMap stack:
aload 7
aload 12
invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
pop
end local 12 end local 11 33: iinc 10 1
StackMap locals:
StackMap stack:
34: iload 10
iload 8
if_icmplt 24
end local 10 35: aload 0
checkcast org.jruby.RubyClass
astore 11
start local 11 36: aload 3
ifnull 37
iload 4
ifeq 42
37: StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.Block java.lang.String int int org.jruby.Ruby org.jruby.RubyArray int org.jruby.runtime.builtin.IRubyObject top org.jruby.RubyClass
StackMap stack:
aload 6
aload 11
invokestatic org.jruby.RubyClass.newClass:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)Lorg/jruby/RubyClass;
astore 10
start local 10 38: aload 10
getstatic org.jruby.RubyStruct.STRUCT_INSTANCE_ALLOCATOR:Lorg/jruby/runtime/ObjectAllocator;
invokevirtual org.jruby.RubyClass.setAllocator:(Lorg/jruby/runtime/ObjectAllocator;)V
39: aload 10
aload 11
getfield org.jruby.RubyClass.metaClass:Lorg/jruby/RubyClass;
invokevirtual org.jruby.RubyClass.makeMetaClass:(Lorg/jruby/RubyClass;)Lorg/jruby/RubyClass;
pop
40: aload 10
aload 11
invokevirtual org.jruby.RubyClass.inherit:(Lorg/jruby/RubyClass;)V
41: goto 50
end local 10 42: StackMap locals:
StackMap stack:
aload 3
invokestatic org.jruby.util.IdUtil.isConstant:(Ljava/lang/String;)Z
ifne 44
43: aload 6
ldc "identifier %1$s needs to be constant"
aload 0
aload 3
invokevirtual org.jruby.Ruby.newNameError:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
44: StackMap locals:
StackMap stack:
aload 11
aload 3
invokevirtual org.jruby.RubyClass.getConstantAt:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 12
start local 12 45: aload 12
ifnull 49
46: aload 6
invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
astore 13
start local 13 47: aload 6
invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
getstatic org.jruby.common.IRubyWarnings$ID.STRUCT_CONSTANT_REDEFINED:Lorg/jruby/common/IRubyWarnings$ID;
aload 13
invokevirtual org.jruby.runtime.ThreadContext.getFile:()Ljava/lang/String;
aload 13
invokevirtual org.jruby.runtime.ThreadContext.getLine:()I
new java.lang.StringBuilder
dup
ldc "redefining constant "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 12
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.common.RubyWarnings.warn:(Lorg/jruby/common/IRubyWarnings$ID;Ljava/lang/String;ILjava/lang/String;)V
48: aload 11
aload 3
invokevirtual org.jruby.RubyClass.deleteConstant:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
end local 13 49: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 11
aload 3
aload 11
getstatic org.jruby.RubyStruct.STRUCT_INSTANCE_ALLOCATOR:Lorg/jruby/runtime/ObjectAllocator;
invokevirtual org.jruby.RubyClass.defineClassUnder:(Ljava/lang/String;Lorg/jruby/RubyClass;Lorg/jruby/runtime/ObjectAllocator;)Lorg/jruby/RubyClass;
astore 10
end local 12 start local 10 50: StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.Block java.lang.String int int org.jruby.Ruby org.jruby.RubyArray int org.jruby.runtime.builtin.IRubyObject org.jruby.RubyClass org.jruby.RubyClass
StackMap stack:
aload 10
ldc Lorg/jruby/RubyStruct;
invokevirtual org.jruby.RubyClass.setReifiedClass:(Ljava/lang/Class;)V
51: aload 10
getstatic org.jruby.runtime.ClassIndex.STRUCT:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.RubyClass.setClassIndex:(Lorg/jruby/runtime/ClassIndex;)V
52: aload 10
ldc "__size__"
aload 7
invokevirtual org.jruby.RubyArray.length:()Lorg/jruby/RubyFixnum;
invokevirtual org.jruby.RubyClass.setInternalVariable:(Ljava/lang/String;Ljava/lang/Object;)V
53: aload 10
ldc "__member__"
aload 7
invokevirtual org.jruby.RubyClass.setInternalVariable:(Ljava/lang/String;Ljava/lang/Object;)V
54: aload 10
ldc "__keyword_init__"
iload 5
ifeq 55
aload 6
invokevirtual org.jruby.Ruby.getTrue:()Lorg/jruby/RubyBoolean;
goto 56
StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.Block java.lang.String int int org.jruby.Ruby org.jruby.RubyArray int org.jruby.runtime.builtin.IRubyObject org.jruby.RubyClass org.jruby.RubyClass
StackMap stack: org.jruby.RubyClass java.lang.String
55: aload 6
invokevirtual org.jruby.Ruby.getFalse:()Lorg/jruby/RubyBoolean;
StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.Block java.lang.String int int org.jruby.Ruby org.jruby.RubyArray int org.jruby.runtime.builtin.IRubyObject org.jruby.RubyClass org.jruby.RubyClass
StackMap stack: org.jruby.RubyClass java.lang.String org.jruby.RubyBoolean
56: invokevirtual org.jruby.RubyClass.setInternalVariable:(Ljava/lang/String;Ljava/lang/Object;)V
57: aload 10
invokevirtual org.jruby.RubyClass.getSingletonClass:()Lorg/jruby/RubyClass;
ldc Lorg/jruby/RubyStruct$StructMethods;
invokevirtual org.jruby.RubyClass.defineAnnotatedMethods:(Ljava/lang/Class;)V
58: aload 3
ifnonnull 59
iload 4
ifne 59
iconst_0
goto 60
StackMap locals:
StackMap stack:
59: iconst_1
StackMap locals:
StackMap stack: int
60: istore 12
start local 12 61: goto 71
62: StackMap locals: int
StackMap stack:
iload 12
aload 1
arraylength
iconst_1
isub
if_icmpne 63
aload 1
iload 12
aaload
instanceof org.jruby.RubyHash
ifeq 63
goto 72
63: StackMap locals:
StackMap stack:
aload 1
iload 12
aaload
invokeinterface org.jruby.runtime.builtin.IRubyObject.asJavaString:()Ljava/lang/String;
astore 13
start local 13 64: aload 3
ifnonnull 65
iload 4
ifne 65
iload 12
goto 66
StackMap locals: java.lang.String
StackMap stack:
65: iload 12
iconst_1
isub
StackMap locals:
StackMap stack: int
66: istore 14
start local 14 67: aload 10
aload 13
new org.jruby.RubyStruct$Accessor
dup
aload 10
aload 13
iload 14
invokespecial org.jruby.RubyStruct$Accessor.<init>:(Lorg/jruby/RubyClass;Ljava/lang/String;I)V
invokevirtual org.jruby.RubyClass.addMethod:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
68: new java.lang.StringBuilder
dup
aload 13
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
bipush 61
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 15
start local 15 69: aload 10
aload 15
new org.jruby.RubyStruct$Mutator
dup
aload 10
aload 15
iload 14
invokespecial org.jruby.RubyStruct$Mutator.<init>:(Lorg/jruby/RubyClass;Ljava/lang/String;I)V
invokevirtual org.jruby.RubyClass.addMethod:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
end local 15 end local 14 end local 13 70: iinc 12 1
StackMap locals:
StackMap stack:
71: iload 12
aload 1
arraylength
if_icmplt 62
end local 12 72: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.jruby.runtime.Block.isGiven:()Z
ifeq 76
73: aload 2
getstatic org.jruby.EvalType.MODULE_EVAL:Lorg/jruby/EvalType;
invokevirtual org.jruby.runtime.Block.setEvalType:(Lorg/jruby/EvalType;)V
74: aload 2
invokevirtual org.jruby.runtime.Block.getBinding:()Lorg/jruby/runtime/Binding;
getstatic org.jruby.runtime.Visibility.PUBLIC:Lorg/jruby/runtime/Visibility;
invokevirtual org.jruby.runtime.Binding.setVisibility:(Lorg/jruby/runtime/Visibility;)V
75: aload 2
aload 6
invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
aload 10
aload 10
invokevirtual org.jruby.runtime.Block.yieldNonArray:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
76: StackMap locals:
StackMap stack:
aload 10
areturn
end local 11 end local 10 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 77 0 recv Lorg/jruby/runtime/builtin/IRubyObject;
0 77 1 args [Lorg/jruby/runtime/builtin/IRubyObject;
0 77 2 block Lorg/jruby/runtime/Block;
1 77 3 name Ljava/lang/String;
2 77 4 nilName Z
3 77 5 keywordInit Z
4 77 6 runtime Lorg/jruby/Ruby;
6 11 7 firstArgAsString Lorg/jruby/runtime/builtin/IRubyObject;
12 77 7 member Lorg/jruby/RubyArray;
13 77 8 argc I
14 77 9 opts Lorg/jruby/runtime/builtin/IRubyObject;
17 20 10 ret Lorg/jruby/runtime/builtin/IRubyObject;
23 35 10 i I
25 33 11 arg Lorg/jruby/runtime/builtin/IRubyObject;
27 28 12 sym Lorg/jruby/RubySymbol;
30 31 12 sym Lorg/jruby/RubySymbol;
32 33 12 sym Lorg/jruby/RubySymbol;
38 42 10 newStruct Lorg/jruby/RubyClass;
50 77 10 newStruct Lorg/jruby/RubyClass;
36 77 11 superClass Lorg/jruby/RubyClass;
45 50 12 type Lorg/jruby/runtime/builtin/IRubyObject;
47 49 13 context Lorg/jruby/runtime/ThreadContext;
61 72 12 i I
64 70 13 memberName Ljava/lang/String;
67 70 14 index I
69 70 15 nameAsgn Ljava/lang/String;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"new"}, required = 1, rest = true, meta = true)
MethodParameters:
Name Flags
recv
args
block
public static org.jruby.RubyStruct newStruct(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyStruct;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new org.jruby.RubyStruct
dup
aload 0
invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
aload 0
checkcast org.jruby.RubyClass
invokespecial org.jruby.RubyStruct.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
astore 3
start local 3 1: aload 3
aload 1
aload 2
invokevirtual org.jruby.RubyStruct.callInit:([Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)V
2: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 recv Lorg/jruby/runtime/builtin/IRubyObject;
0 3 1 args [Lorg/jruby/runtime/builtin/IRubyObject;
0 3 2 block Lorg/jruby/runtime/Block;
1 3 3 struct Lorg/jruby/RubyStruct;
MethodParameters:
Name Flags
recv
args
block
public static org.jruby.RubyStruct newStruct(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyStruct;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: new org.jruby.RubyStruct
dup
aload 0
invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
aload 0
checkcast org.jruby.RubyClass
invokespecial org.jruby.RubyStruct.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
astore 2
start local 2 1: aload 2
aload 1
invokevirtual org.jruby.RubyStruct.callInit:(Lorg/jruby/runtime/Block;)V
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 recv Lorg/jruby/runtime/builtin/IRubyObject;
0 3 1 block Lorg/jruby/runtime/Block;
1 3 2 struct Lorg/jruby/RubyStruct;
MethodParameters:
Name Flags
recv
block
public static org.jruby.RubyStruct newStruct(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyStruct;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new org.jruby.RubyStruct
dup
aload 0
invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
aload 0
checkcast org.jruby.RubyClass
invokespecial org.jruby.RubyStruct.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
astore 3
start local 3 1: aload 3
aload 1
aload 2
invokevirtual org.jruby.RubyStruct.callInit:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)V
2: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 recv Lorg/jruby/runtime/builtin/IRubyObject;
0 3 1 arg0 Lorg/jruby/runtime/builtin/IRubyObject;
0 3 2 block Lorg/jruby/runtime/Block;
1 3 3 struct Lorg/jruby/RubyStruct;
MethodParameters:
Name Flags
recv
arg0
block
public static org.jruby.RubyStruct newStruct(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyStruct;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new org.jruby.RubyStruct
dup
aload 0
invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
aload 0
checkcast org.jruby.RubyClass
invokespecial org.jruby.RubyStruct.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
astore 4
start local 4 1: aload 4
aload 1
aload 2
aload 3
invokevirtual org.jruby.RubyStruct.callInit:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)V
2: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 recv Lorg/jruby/runtime/builtin/IRubyObject;
0 3 1 arg0 Lorg/jruby/runtime/builtin/IRubyObject;
0 3 2 arg1 Lorg/jruby/runtime/builtin/IRubyObject;
0 3 3 block Lorg/jruby/runtime/Block;
1 3 4 struct Lorg/jruby/RubyStruct;
MethodParameters:
Name Flags
recv
arg0
arg1
block
public static org.jruby.RubyStruct newStruct(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyStruct;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new org.jruby.RubyStruct
dup
aload 0
invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
aload 0
checkcast org.jruby.RubyClass
invokespecial org.jruby.RubyStruct.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
astore 5
start local 5 1: aload 5
aload 1
aload 2
aload 3
aload 4
invokevirtual org.jruby.RubyStruct.callInit:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)V
2: aload 5
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 3 0 recv Lorg/jruby/runtime/builtin/IRubyObject;
0 3 1 arg0 Lorg/jruby/runtime/builtin/IRubyObject;
0 3 2 arg1 Lorg/jruby/runtime/builtin/IRubyObject;
0 3 3 arg2 Lorg/jruby/runtime/builtin/IRubyObject;
0 3 4 block Lorg/jruby/runtime/Block;
1 3 5 struct Lorg/jruby/RubyStruct;
MethodParameters:
Name Flags
recv
arg0
arg1
arg2
block
private void checkSize(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: iload 1
aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
arraylength
if_icmple 2
1: aload 0
invokevirtual org.jruby.RubyStruct.getRuntime:()Lorg/jruby/Ruby;
new java.lang.StringBuilder
dup
ldc "struct size differs ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " for "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/RubyStruct;
0 3 1 length I
MethodParameters:
Name Flags
length
public org.jruby.runtime.builtin.IRubyObject initialize(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.RubyStruct.modify:()V
1: aload 0
aload 2
arraylength
invokevirtual org.jruby.RubyStruct.checkSize:(I)V
2: aload 0
invokevirtual org.jruby.RubyStruct.classOf:()Lorg/jruby/RubyClass;
ldc "__keyword_init__"
invokestatic org.jruby.RubyStruct.getInternalVariable:(Lorg/jruby/RubyClass;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 3
start local 3 3: aload 3
invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
ifeq 6
4: aload 2
arraylength
iconst_1
if_icmpeq 5
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 2
arraylength
iconst_0
invokevirtual org.jruby.Ruby.newArgumentError:(II)Lorg/jruby/exceptions/RaiseException;
athrow
5: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 0
aload 1
aload 2
iconst_0
aaload
invokevirtual org.jruby.RubyStruct.initialize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
6: StackMap locals:
StackMap stack:
aload 2
iconst_0
aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
iconst_0
aload 2
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
7: aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
aload 2
arraylength
aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
arraylength
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokestatic org.jruby.runtime.Helpers.fillNil:([Lorg/jruby/runtime/builtin/IRubyObject;IILorg/jruby/Ruby;)V
8: aload 1
getfield org.jruby.runtime.ThreadContext.nil: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 9 0 this Lorg/jruby/RubyStruct;
0 9 1 context Lorg/jruby/runtime/ThreadContext;
0 9 2 args [Lorg/jruby/runtime/builtin/IRubyObject;
3 9 3 keywordInit Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(rest = true, visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
MethodParameters:
Name Flags
context
args
private void setupStructValuesFromHash(org.jruby.runtime.ThreadContext, org.jruby.RubyHash);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.RubyStruct.__member__:()Lorg/jruby/RubyArray;
astore 3
start local 3 1: aload 2
invokevirtual org.jruby.RubyHash.directEntrySet:()Ljava/util/Set;
astore 4
start local 4 2: aload 4
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
3: aload 0
aload 1
aload 3
invokedynamic accept(Lorg/jruby/RubyStruct;Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;)Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
org/jruby/RubyStruct.lambda$0(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Ljava/util/Map$Entry;)V (7)
(Ljava/util/Map$Entry;)V
4: invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
5: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jruby/RubyStruct;
0 6 1 context Lorg/jruby/runtime/ThreadContext;
0 6 2 kwArgs Lorg/jruby/RubyHash;
1 6 3 __members__ Lorg/jruby/RubyArray;
2 6 4 entries Ljava/util/Set<Ljava/util/Map$Entry<Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;>;>;
MethodParameters:
Name Flags
context
kwArgs
public org.jruby.runtime.builtin.IRubyObject initialize(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
astore 2
start local 2 1: aload 0
aload 1
iconst_0
aload 2
aload 2
aload 2
invokevirtual org.jruby.RubyStruct.initializeInternal:(Lorg/jruby/runtime/ThreadContext;ILorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/RubyStruct;
0 2 1 context Lorg/jruby/runtime/ThreadContext;
1 2 2 nil Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
MethodParameters:
Name Flags
context
public org.jruby.runtime.builtin.IRubyObject initialize(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 3
start local 3 1: aload 0
invokevirtual org.jruby.RubyStruct.classOf:()Lorg/jruby/RubyClass;
ldc "__keyword_init__"
invokestatic org.jruby.RubyStruct.getInternalVariable:(Lorg/jruby/RubyClass;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 4
start local 4 2: aload 4
invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
ifeq 7
3: aload 3
aload 2
invokestatic org.jruby.ast.util.ArgsUtil.getOptionsArg:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 5
start local 5 4: aload 5
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 5
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
iconst_1
iconst_0
invokevirtual org.jruby.Ruby.newArgumentError:(II)Lorg/jruby/exceptions/RaiseException;
athrow
5: StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 0
aload 1
aload 5
checkcast org.jruby.RubyHash
invokevirtual org.jruby.RubyStruct.setupStructValuesFromHash:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash;)V
6: aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 5 7: StackMap locals:
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
astore 5
start local 5 8: aload 0
aload 1
iconst_1
aload 2
aload 5
aload 5
invokevirtual org.jruby.RubyStruct.initializeInternal:(Lorg/jruby/runtime/ThreadContext;ILorg/jruby/runtime/builtin/IRubyObject;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 9 0 this Lorg/jruby/RubyStruct;
0 9 1 context Lorg/jruby/runtime/ThreadContext;
0 9 2 arg0 Lorg/jruby/runtime/builtin/IRubyObject;
1 9 3 runtime Lorg/jruby/Ruby;
2 9 4 keywordInit Lorg/jruby/runtime/builtin/IRubyObject;
4 7 5 maybeKwargs Lorg/jruby/runtime/builtin/IRubyObject;
8 9 5 nil Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
MethodParameters:
Name Flags
context
arg0
public org.jruby.runtime.builtin.IRubyObject initialize(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual org.jruby.RubyStruct.classOf:()Lorg/jruby/RubyClass;
ldc "__keyword_init__"
invokestatic org.jruby.RubyStruct.getInternalVariable:(Lorg/jruby/RubyClass;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 4
start local 4 1: aload 4
invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
ifeq 3
2: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
iconst_2
iconst_0
invokevirtual org.jruby.Ruby.newArgumentError:(II)Lorg/jruby/exceptions/RaiseException;
athrow
3: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 0
aload 1
iconst_2
aload 2
aload 3
aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
invokevirtual org.jruby.RubyStruct.initializeInternal:(Lorg/jruby/runtime/ThreadContext;ILorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;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 4 0 this Lorg/jruby/RubyStruct;
0 4 1 context Lorg/jruby/runtime/ThreadContext;
0 4 2 arg0 Lorg/jruby/runtime/builtin/IRubyObject;
0 4 3 arg1 Lorg/jruby/runtime/builtin/IRubyObject;
1 4 4 keywordInit Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
MethodParameters:
Name Flags
context
arg0
arg1
public org.jruby.runtime.builtin.IRubyObject initialize(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;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=6, 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.RubyStruct.classOf:()Lorg/jruby/RubyClass;
ldc "__keyword_init__"
invokestatic org.jruby.RubyStruct.getInternalVariable:(Lorg/jruby/RubyClass;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 5
start local 5 1: aload 5
invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
ifeq 3
2: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
iconst_3
iconst_0
invokevirtual org.jruby.Ruby.newArgumentError:(II)Lorg/jruby/exceptions/RaiseException;
athrow
3: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 0
aload 1
iconst_3
aload 2
aload 3
aload 4
invokevirtual org.jruby.RubyStruct.initializeInternal:(Lorg/jruby/runtime/ThreadContext;ILorg/jruby/runtime/builtin/IRubyObject;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/RubyStruct;
0 4 1 context Lorg/jruby/runtime/ThreadContext;
0 4 2 arg0 Lorg/jruby/runtime/builtin/IRubyObject;
0 4 3 arg1 Lorg/jruby/runtime/builtin/IRubyObject;
0 4 4 arg2 Lorg/jruby/runtime/builtin/IRubyObject;
1 4 5 keywordInit Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
MethodParameters:
Name Flags
context
arg0
arg1
arg2
public org.jruby.runtime.builtin.IRubyObject initializeInternal(org.jruby.runtime.ThreadContext, int, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;ILorg/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=4, 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
invokevirtual org.jruby.RubyStruct.modify:()V
1: aload 0
iload 2
invokevirtual org.jruby.RubyStruct.checkSize:(I)V
2: iload 2
tableswitch { // 1 - 3
1: 5
2: 4
3: 3
default: 6
}
3: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
iconst_2
aload 5
aastore
4: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
iconst_1
aload 4
aastore
5: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
iconst_0
aload 3
aastore
6: StackMap locals:
StackMap stack:
iload 2
aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
arraylength
if_icmpge 8
7: aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
iload 2
aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
arraylength
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokestatic org.jruby.runtime.Helpers.fillNil:([Lorg/jruby/runtime/builtin/IRubyObject;IILorg/jruby/Ruby;)V
8: StackMap locals:
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.nil: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 9 0 this Lorg/jruby/RubyStruct;
0 9 1 context Lorg/jruby/runtime/ThreadContext;
0 9 2 provided I
0 9 3 arg0 Lorg/jruby/runtime/builtin/IRubyObject;
0 9 4 arg1 Lorg/jruby/runtime/builtin/IRubyObject;
0 9 5 arg2 Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
provided
arg0
arg1
arg2
static org.jruby.RubyArray members(org.jruby.RubyClass);
descriptor: (Lorg/jruby/RubyClass;)Lorg/jruby/RubyArray;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
invokestatic org.jruby.RubyStruct.__member__:(Lorg/jruby/RubyClass;)Lorg/jruby/RubyArray;
astore 1
start local 1 1: aload 1
invokevirtual org.jruby.RubyArray.getLength:()I
istore 2
start local 2 2: iload 2
anewarray org.jruby.runtime.builtin.IRubyObject
astore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 7
5: StackMap locals: org.jruby.RubyClass org.jruby.RubyArray int org.jruby.runtime.builtin.IRubyObject[] int
StackMap stack:
aload 3
iload 4
aload 1
iload 4
invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
aastore
6: iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
iload 2
if_icmplt 5
end local 4 8: aload 0
getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
aload 3
invokestatic org.jruby.RubyArray.newArrayNoCopy:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 type Lorg/jruby/RubyClass;
1 9 1 member Lorg/jruby/RubyArray;
2 9 2 len I
3 9 3 result [Lorg/jruby/runtime/builtin/IRubyObject;
4 8 4 i I
MethodParameters:
Name Flags
type
public static org.jruby.RubyArray members(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyArray;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
checkcast org.jruby.RubyClass
invokestatic org.jruby.RubyStruct.members:(Lorg/jruby/RubyClass;)Lorg/jruby/RubyArray;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 recv Lorg/jruby/runtime/builtin/IRubyObject;
0 1 1 block Lorg/jruby/runtime/Block;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
recv
block
private static org.jruby.RubyArray __member__(org.jruby.RubyClass);
descriptor: (Lorg/jruby/RubyClass;)Lorg/jruby/RubyArray;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
ldc "__member__"
invokestatic org.jruby.RubyStruct.getInternalVariable:(Lorg/jruby/RubyClass;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyArray
astore 1
start local 1 1: getstatic org.jruby.RubyStruct.$assertionsDisabled:Z
ifne 2
aload 1
invokevirtual org.jruby.RubyArray.isNil:()Z
ifeq 2
new java.lang.AssertionError
dup
ldc "uninitialized struct"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals: org.jruby.RubyArray
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 clazz Lorg/jruby/RubyClass;
1 3 1 member Lorg/jruby/RubyArray;
MethodParameters:
Name Flags
clazz
private org.jruby.RubyArray __member__();
descriptor: ()Lorg/jruby/RubyArray;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.RubyStruct.classOf:()Lorg/jruby/RubyClass;
invokestatic org.jruby.RubyStruct.__member__:(Lorg/jruby/RubyClass;)Lorg/jruby/RubyArray;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyStruct;
public org.jruby.RubyArray members();
descriptor: ()Lorg/jruby/RubyArray;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.RubyStruct.classOf:()Lorg/jruby/RubyClass;
invokestatic org.jruby.RubyStruct.members:(Lorg/jruby/RubyClass;)Lorg/jruby/RubyArray;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyStruct;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"members"})
public final org.jruby.RubyArray members19();
descriptor: ()Lorg/jruby/RubyArray;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.RubyStruct.members:()Lorg/jruby/RubyArray;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyStruct;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public org.jruby.runtime.builtin.IRubyObject select(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=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual org.jruby.runtime.Block.isGiven:()Z
ifne 2
1: aload 1
aload 0
ldc "select"
aload 0
invokevirtual org.jruby.RubyStruct.enumSizeFn:()Lorg/jruby/RubyEnumerator$SizeFn;
invokestatic org.jruby.RubyEnumerator.enumeratorizeWithSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/RubyEnumerator$SizeFn;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
2: StackMap locals:
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;)Lorg/jruby/RubyArray;
astore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 8
5: StackMap locals: org.jruby.RubyArray int
StackMap stack:
aload 2
aload 1
aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
iload 4
aaload
invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
ifeq 7
6: aload 3
aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
iload 4
aaload
invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
pop
7: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
8: iload 4
aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
arraylength
if_icmplt 5
end local 4 9: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/jruby/RubyStruct;
0 10 1 context Lorg/jruby/runtime/ThreadContext;
0 10 2 block Lorg/jruby/runtime/Block;
3 10 3 array Lorg/jruby/RubyArray;
4 9 4 i I
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
MethodParameters:
Name Flags
context
block
private org.jruby.RubyEnumerator$SizeFn enumSizeFn();
descriptor: ()Lorg/jruby/RubyEnumerator$SizeFn;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
astore 1
start local 1 1: new org.jruby.RubyStruct$2
dup
aload 0
aload 1
invokespecial org.jruby.RubyStruct$2.<init>:(Lorg/jruby/RubyStruct;Lorg/jruby/RubyStruct;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/RubyStruct;
1 2 1 self Lorg/jruby/RubyStruct;
public org.jruby.runtime.builtin.IRubyObject set(org.jruby.runtime.builtin.IRubyObject, int);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.RubyStruct.modify:()V
1: aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
iload 2
aload 1
dup_x2
aastore
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/RubyStruct;
0 2 1 value Lorg/jruby/runtime/builtin/IRubyObject;
0 2 2 index I
MethodParameters:
Name Flags
value
index
private org.jruby.exceptions.RaiseException notStructMemberError(org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/exceptions/RaiseException;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.RubyStruct.getRuntime:()Lorg/jruby/Ruby;
ldc "no member '%1$s' in struct"
aload 0
aload 1
invokevirtual org.jruby.Ruby.newNameError:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/exceptions/RaiseException;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyStruct;
0 1 1 name Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
name
public final org.jruby.runtime.builtin.IRubyObject get(int);
descriptor: (I)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
iload 1
aaload
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyStruct;
0 1 1 index I
MethodParameters:
Name Flags
index
public void copySpecialInstanceVariables(org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 1
checkcast org.jruby.RubyStruct
astore 2
start local 2 1: aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
iconst_0
aload 2
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
iconst_0
aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/RubyStruct;
0 3 1 clone Lorg/jruby/runtime/builtin/IRubyObject;
1 3 2 struct Lorg/jruby/RubyStruct;
MethodParameters:
Name Flags
clone
public org.jruby.runtime.builtin.IRubyObject op_equal(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
if_acmpne 1
aload 1
getfield org.jruby.runtime.ThreadContext.tru:Lorg/jruby/RubyBoolean;
areturn
1: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyStruct
ifne 2
aload 1
getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.RubyStruct.getType:()Lorg/jruby/RubyClass;
aload 2
invokeinterface org.jruby.runtime.builtin.IRubyObject.getType:()Lorg/jruby/RubyClass;
if_acmpeq 4
3: aload 1
getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
areturn
4: StackMap locals:
StackMap stack:
aload 2
aload 0
if_acmpne 5
aload 1
getfield org.jruby.runtime.ThreadContext.tru:Lorg/jruby/RubyBoolean;
areturn
5: StackMap locals:
StackMap stack:
aload 1
getstatic org.jruby.RubyStruct$EqualRecursive.INSTANCE:Lorg/jruby/RubyStruct$EqualRecursive;
aload 2
aload 0
ldc "=="
iconst_1
invokevirtual org.jruby.runtime.ThreadContext.safeRecurse:(Lorg/jruby/runtime/ThreadContext$RecursiveFunctionEx;Ljava/lang/Object;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Z)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jruby/RubyStruct;
0 6 1 context Lorg/jruby/runtime/ThreadContext;
0 6 2 other Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"=="}, required = 1)
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject eql_p(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
if_acmpne 1
aload 1
getfield org.jruby.runtime.ThreadContext.tru:Lorg/jruby/RubyBoolean;
areturn
1: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyStruct
ifne 2
aload 1
getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.RubyStruct.metaClass:Lorg/jruby/RubyClass;
aload 2
invokestatic org.jruby.RubyStruct.getMetaClass:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyClass;
if_acmpeq 4
3: aload 1
getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
areturn
4: StackMap locals:
StackMap stack:
aload 2
aload 0
if_acmpne 5
aload 1
getfield org.jruby.runtime.ThreadContext.tru:Lorg/jruby/RubyBoolean;
areturn
5: StackMap locals:
StackMap stack:
aload 1
getstatic org.jruby.RubyStruct$EqlRecursive.INSTANCE:Lorg/jruby/RubyStruct$EqlRecursive;
aload 2
aload 0
ldc "eql?"
iconst_1
invokevirtual org.jruby.runtime.ThreadContext.safeRecurse:(Lorg/jruby/runtime/ThreadContext$RecursiveFunctionEx;Ljava/lang/Object;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Z)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jruby/RubyStruct;
0 6 1 context Lorg/jruby/runtime/ThreadContext;
0 6 2 other Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"eql?"}, required = 1)
MethodParameters:
Name Flags
context
other
private org.jruby.RubyString inspectStruct(org.jruby.runtime.ThreadContext, boolean);
descriptor: (Lorg/jruby/runtime/ThreadContext;Z)Lorg/jruby/RubyString;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 3
start local 3 1: aload 3
new org.jruby.util.ByteList
dup
bipush 32
invokespecial org.jruby.util.ByteList.<init>:(I)V
invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
astore 4
start local 4 2: aload 4
getstatic org.jruby.RubyStruct.STRUCT_BEG:[B
invokevirtual org.jruby.RubyString.cat:([B)Lorg/jruby/RubyString;
pop
3: aload 0
invokevirtual org.jruby.RubyStruct.getMetaClass:()Lorg/jruby/RubyClass;
invokevirtual org.jruby.RubyClass.getRealClass:()Lorg/jruby/RubyClass;
invokevirtual org.jruby.RubyClass.getName:()Ljava/lang/String;
astore 5
start local 5 4: aload 5
iconst_0
invokevirtual java.lang.String.charAt:(I)C
istore 6
start local 6 5: iload 2
ifne 6
iload 6
bipush 35
if_icmpeq 7
6: StackMap locals: org.jruby.RubyStruct org.jruby.runtime.ThreadContext int org.jruby.Ruby org.jruby.RubyString java.lang.String int
StackMap stack:
aload 4
aload 5
invokevirtual java.lang.String.getBytes:()[B
invokevirtual org.jruby.RubyString.cat:([B)Lorg/jruby/RubyString;
pop
7: StackMap locals:
StackMap stack:
iload 2
ifeq 9
8: aload 4
getstatic org.jruby.RubyStruct.STRUCT_END:[B
invokevirtual org.jruby.RubyString.cat:([B)Lorg/jruby/RubyString;
areturn
9: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.RubyStruct.__member__:()Lorg/jruby/RubyArray;
astore 7
start local 7 10: iconst_0
istore 8
start local 8 11: goto 25
12: StackMap locals: org.jruby.RubyArray int
StackMap stack:
iload 8
ifle 15
13: aload 4
bipush 44
invokevirtual org.jruby.RubyString.cat:(I)Lorg/jruby/RubyString;
bipush 32
invokevirtual org.jruby.RubyString.cat:(I)Lorg/jruby/RubyString;
pop
14: goto 17
15: StackMap locals:
StackMap stack:
iload 6
bipush 35
if_icmpeq 17
16: aload 4
bipush 32
invokevirtual org.jruby.RubyString.cat:(I)Lorg/jruby/RubyString;
pop
17: StackMap locals:
StackMap stack:
aload 7
iload 8
invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubySymbol
astore 9
start local 9 18: aload 9
invokevirtual org.jruby.RubySymbol.validLocalVariableName:()Z
ifne 19
aload 9
invokevirtual org.jruby.RubySymbol.validConstantName:()Z
ifeq 21
19: StackMap locals: org.jruby.RubySymbol
StackMap stack:
aload 4
aload 1
aload 9
invokestatic org.jruby.RubyString.objAsString:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
invokevirtual org.jruby.RubyString.cat19:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
pop
20: goto 22
21: StackMap locals:
StackMap stack:
aload 4
aload 9
aload 1
invokevirtual org.jruby.RubySymbol.inspect:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyString
invokevirtual org.jruby.RubyString.cat19:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
pop
22: StackMap locals:
StackMap stack:
aload 4
bipush 61
invokevirtual org.jruby.RubyString.cat:(I)Lorg/jruby/RubyString;
pop
23: aload 4
aload 1
aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
iload 8
aaload
invokestatic org.jruby.RubyStruct.inspect:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
invokevirtual org.jruby.RubyString.cat19:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
pop
end local 9 24: iinc 8 1
StackMap locals:
StackMap stack:
25: iload 8
aload 7
invokevirtual org.jruby.RubyArray.getLength:()I
if_icmplt 12
end local 8 26: aload 4
bipush 62
invokevirtual org.jruby.RubyString.cat:(I)Lorg/jruby/RubyString;
pop
27: aload 4
aload 0
invokevirtual org.jruby.RubyString.infectBy:(Lorg/jruby/RubyBasicObject;)Lorg/jruby/RubyBasicObject;
checkcast org.jruby.RubyString
areturn
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 28 0 this Lorg/jruby/RubyStruct;
0 28 1 context Lorg/jruby/runtime/ThreadContext;
0 28 2 recur Z
1 28 3 runtime Lorg/jruby/Ruby;
2 28 4 buffer Lorg/jruby/RubyString;
4 28 5 cname Ljava/lang/String;
5 28 6 first C
10 28 7 member Lorg/jruby/RubyArray;
11 26 8 i I
18 24 9 slot Lorg/jruby/RubySymbol;
MethodParameters:
Name Flags
context final
recur final
public org.jruby.RubyString inspect(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getstatic org.jruby.RubyStruct$InspectRecursive.INSTANCE:Lorg/jruby/runtime/ThreadContext$RecursiveFunctionEx;
aload 0
aload 0
ldc "inspect"
iconst_0
invokevirtual org.jruby.runtime.ThreadContext.safeRecurse:(Lorg/jruby/runtime/ThreadContext$RecursiveFunctionEx;Ljava/lang/Object;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Z)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyString
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyStruct;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"inspect", "to_s"})
MethodParameters:
Name Flags
context final
public org.jruby.RubyArray to_a();
descriptor: ()Lorg/jruby/RubyArray;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.RubyStruct.getRuntime:()Lorg/jruby/Ruby;
aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
invokevirtual org.jruby.Ruby.newArray:([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyStruct;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"to_a", "values"})
public org.jruby.RubyHash to_h(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyHash;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokestatic org.jruby.RubyHash.newHash:(Lorg/jruby/Ruby;)Lorg/jruby/RubyHash;
astore 2
start local 2 1: aload 0
invokevirtual org.jruby.RubyStruct.__member__:()Lorg/jruby/RubyArray;
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 6
4: StackMap locals: org.jruby.RubyHash org.jruby.RubyArray int
StackMap stack:
aload 2
aload 1
aload 3
iload 4
i2l
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
iload 4
aaload
invokevirtual org.jruby.RubyHash.op_aset:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
5: iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
arraylength
if_icmplt 4
end local 4 7: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/jruby/RubyStruct;
0 8 1 context Lorg/jruby/runtime/ThreadContext;
1 8 2 hash Lorg/jruby/RubyHash;
2 8 3 members Lorg/jruby/RubyArray;
3 7 4 i I
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
MethodParameters:
Name Flags
context
public org.jruby.RubyFixnum size();
descriptor: ()Lorg/jruby/RubyFixnum;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.RubyStruct.getRuntime:()Lorg/jruby/Ruby;
aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
arraylength
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyStruct;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"size", "length"})
public org.jruby.runtime.builtin.IRubyObject eachInternal(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=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: goto 4
2: StackMap locals: int
StackMap stack:
aload 2
aload 1
aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
iload 3
aaload
invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
3: iinc 3 1
StackMap locals:
StackMap stack:
4: iload 3
aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
arraylength
if_icmplt 2
end local 3 5: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jruby/RubyStruct;
0 6 1 context Lorg/jruby/runtime/ThreadContext;
0 6 2 block Lorg/jruby/runtime/Block;
1 5 3 i I
MethodParameters:
Name Flags
context
block
public org.jruby.runtime.builtin.IRubyObject each(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=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual org.jruby.runtime.Block.isGiven:()Z
ifeq 1
aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyStruct.eachInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
goto 2
StackMap locals:
StackMap stack:
1: aload 1
aload 0
ldc "each"
aload 0
invokevirtual org.jruby.RubyStruct.enumSizeFn:()Lorg/jruby/RubyEnumerator$SizeFn;
invokestatic org.jruby.RubyEnumerator.enumeratorizeWithSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/RubyEnumerator$SizeFn;)Lorg/jruby/runtime/builtin/IRubyObject;
StackMap locals:
StackMap stack: org.jruby.runtime.builtin.IRubyObject
2: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/RubyStruct;
0 3 1 context Lorg/jruby/runtime/ThreadContext;
0 3 2 block Lorg/jruby/runtime/Block;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
MethodParameters:
Name Flags
context final
block final
public org.jruby.runtime.builtin.IRubyObject each_pairInternal(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=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.RubyStruct.__member__:()Lorg/jruby/RubyArray;
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: goto 5
3: StackMap locals: org.jruby.RubyArray int
StackMap stack:
aload 2
aload 1
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 3
iload 4
invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
iload 4
aaload
invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
4: iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
arraylength
if_icmplt 3
end local 4 6: aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/RubyStruct;
0 7 1 context Lorg/jruby/runtime/ThreadContext;
0 7 2 block Lorg/jruby/runtime/Block;
1 7 3 member Lorg/jruby/RubyArray;
2 6 4 i I
MethodParameters:
Name Flags
context
block
public org.jruby.runtime.builtin.IRubyObject each_pair(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=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual org.jruby.runtime.Block.isGiven:()Z
ifeq 1
aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyStruct.each_pairInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
goto 2
StackMap locals:
StackMap stack:
1: aload 1
aload 0
ldc "each_pair"
aload 0
invokevirtual org.jruby.RubyStruct.enumSizeFn:()Lorg/jruby/RubyEnumerator$SizeFn;
invokestatic org.jruby.RubyEnumerator.enumeratorizeWithSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/RubyEnumerator$SizeFn;)Lorg/jruby/runtime/builtin/IRubyObject;
StackMap locals:
StackMap stack: org.jruby.runtime.builtin.IRubyObject
2: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/RubyStruct;
0 3 1 context Lorg/jruby/runtime/ThreadContext;
0 3 2 block Lorg/jruby/runtime/Block;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
MethodParameters:
Name Flags
context final
block final
public org.jruby.runtime.builtin.IRubyObject aref(org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokevirtual org.jruby.RubyStruct.arefImpl:(Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyStruct;
0 1 1 key Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"[]"}, required = 1)
MethodParameters:
Name Flags
key
private org.jruby.runtime.builtin.IRubyObject arefImpl(org.jruby.runtime.builtin.IRubyObject, boolean);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
instanceof org.jruby.RubyString
ifne 1
aload 1
instanceof org.jruby.RubySymbol
ifeq 7
1: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.jruby.runtime.builtin.IRubyObject.asJavaString:()Ljava/lang/String;
astore 3
start local 3 2: aload 0
aload 3
invokevirtual org.jruby.RubyStruct.getByName:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 4
start local 4 3: aload 4
ifnonnull 6
4: iload 2
ifeq 5
aload 0
invokevirtual org.jruby.RubyStruct.getRuntime:()Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
areturn
5: StackMap locals: java.lang.String org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 0
aload 1
invokevirtual org.jruby.RubyStruct.notStructMemberError:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/exceptions/RaiseException;
athrow
6: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 7: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
invokevirtual org.jruby.RubyStruct.aref:(I)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/jruby/RubyStruct;
0 8 1 key Lorg/jruby/runtime/builtin/IRubyObject;
0 8 2 nilOnNoMember Z
2 7 3 name Ljava/lang/String;
3 7 4 value Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
key
nilOnNoMember final
final org.jruby.runtime.builtin.IRubyObject aref(int);
descriptor: (I)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0010) ACC_FINAL
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: iload 1
ifge 1
aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
arraylength
iload 1
iadd
goto 2
StackMap locals:
StackMap stack:
1: iload 1
StackMap locals:
StackMap stack: int
2: istore 2
start local 2 3: iload 2
ifge 5
4: aload 0
invokevirtual org.jruby.RubyStruct.getRuntime:()Lorg/jruby/Ruby;
new java.lang.StringBuilder
dup
ldc "offset "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " too small for struct(size:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newIndexError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
5: StackMap locals: int
StackMap stack:
iload 2
aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
arraylength
if_icmplt 7
6: aload 0
invokevirtual org.jruby.RubyStruct.getRuntime:()Lorg/jruby/Ruby;
new java.lang.StringBuilder
dup
ldc "offset "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " too large for struct(size:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newIndexError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
7: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
iload 2
aaload
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/jruby/RubyStruct;
0 8 1 idx I
3 8 2 newIdx I
MethodParameters:
Name Flags
idx
public org.jruby.runtime.builtin.IRubyObject aset(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (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=3
start local 0 start local 1 start local 2 0: aload 1
instanceof org.jruby.RubyString
ifne 1
aload 1
instanceof org.jruby.RubySymbol
ifeq 5
1: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.jruby.runtime.builtin.IRubyObject.asJavaString:()Ljava/lang/String;
astore 3
start local 3 2: aload 0
aload 3
aload 2
invokevirtual org.jruby.RubyStruct.setByName:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 4
start local 4 3: aload 4
ifnonnull 4
aload 0
aload 1
invokevirtual org.jruby.RubyStruct.notStructMemberError:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/exceptions/RaiseException;
athrow
4: StackMap locals: java.lang.String org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 2
areturn
end local 4 end local 3 5: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
aload 2
invokevirtual org.jruby.RubyStruct.aset:(ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jruby/RubyStruct;
0 6 1 key Lorg/jruby/runtime/builtin/IRubyObject;
0 6 2 value Lorg/jruby/runtime/builtin/IRubyObject;
2 5 3 name Ljava/lang/String;
3 5 4 val Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"[]="}, required = 2)
MethodParameters:
Name Flags
key
value
private org.jruby.runtime.builtin.IRubyObject aset(int, org.jruby.runtime.builtin.IRubyObject);
descriptor: (ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 1
ifge 1
aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
arraylength
iload 1
iadd
goto 2
StackMap locals:
StackMap stack:
1: iload 1
StackMap locals:
StackMap stack: int
2: istore 3
start local 3 3: iload 3
ifge 5
4: aload 0
invokevirtual org.jruby.RubyStruct.getRuntime:()Lorg/jruby/Ruby;
new java.lang.StringBuilder
dup
ldc "offset "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " too small for struct(size:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newIndexError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
5: StackMap locals: int
StackMap stack:
iload 3
aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
arraylength
if_icmplt 7
6: aload 0
invokevirtual org.jruby.RubyStruct.getRuntime:()Lorg/jruby/Ruby;
new java.lang.StringBuilder
dup
ldc "offset "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " too large for struct(size:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newIndexError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.RubyStruct.modify:()V
8: aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
iload 3
aload 2
dup_x2
aastore
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/jruby/RubyStruct;
0 9 1 idx I
0 9 2 value Lorg/jruby/runtime/builtin/IRubyObject;
3 9 3 newIdx I
MethodParameters:
Name Flags
idx
value
public org.jruby.runtime.builtin.IRubyObject values_at(org.jruby.runtime.builtin.IRubyObject[]);
descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=10, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
arraylength
istore 2
start local 2 1: aload 0
invokevirtual org.jruby.RubyStruct.getRuntime:()Lorg/jruby/Ruby;
aload 1
arraylength
invokevirtual org.jruby.Ruby.newArray:(I)Lorg/jruby/RubyArray;
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 22
4: StackMap locals: int org.jruby.RubyArray int
StackMap stack:
aload 1
iload 4
aaload
astore 5
start local 5 5: aload 5
instanceof org.jruby.RubyFixnum
ifeq 8
6: aload 3
aload 0
aload 5
invokevirtual org.jruby.RubyStruct.aref:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
pop
7: goto 21
8: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 5
instanceof org.jruby.RubyRange
ifeq 20
9: aload 1
iload 4
aaload
checkcast org.jruby.RubyRange
iload 2
iconst_0
invokevirtual org.jruby.RubyRange.begLenInt:(II)[I
dup
astore 6
start local 6 10: ifnonnull 12
11: goto 21
12: StackMap locals: int[]
StackMap stack:
aload 6
iconst_0
iaload
istore 7
start local 7 13: aload 6
iconst_1
iaload
istore 8
start local 8 14: iconst_0
istore 9
start local 9 15: goto 18
16: StackMap locals: int int int
StackMap stack:
aload 3
aload 0
iload 9
iload 7
iadd
invokevirtual org.jruby.RubyStruct.aref:(I)Lorg/jruby/runtime/builtin/IRubyObject;
invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
pop
17: iinc 9 1
StackMap locals:
StackMap stack:
18: iload 9
iload 8
if_icmplt 16
end local 9 19: goto 21
end local 8 end local 7 end local 6 20: StackMap locals: org.jruby.RubyStruct org.jruby.runtime.builtin.IRubyObject[] int org.jruby.RubyArray int org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 3
aload 0
aload 5
invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
invokevirtual org.jruby.RubyStruct.aref:(I)Lorg/jruby/runtime/builtin/IRubyObject;
invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
pop
end local 5 21: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
22: iload 4
aload 1
arraylength
if_icmplt 4
end local 4 23: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lorg/jruby/RubyStruct;
0 24 1 args [Lorg/jruby/runtime/builtin/IRubyObject;
1 24 2 olen I
2 24 3 result Lorg/jruby/RubyArray;
3 23 4 i I
5 21 5 arg Lorg/jruby/runtime/builtin/IRubyObject;
10 20 6 begLen [I
13 20 7 beg I
14 20 8 len I
15 19 9 j I
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(rest = true)
MethodParameters:
Name Flags
args
public org.jruby.runtime.builtin.IRubyObject dig(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_0
invokevirtual org.jruby.RubyStruct.dig:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyStruct;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 args [Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"dig"}, required = 1, rest = true)
MethodParameters:
Name Flags
context
args
final org.jruby.runtime.builtin.IRubyObject dig(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], int);
descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0010) ACC_FINAL
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 2
iload 3
iinc 3 1
aaload
iconst_1
invokevirtual org.jruby.RubyStruct.arefImpl:(Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
astore 4
start local 4 1: iload 3
aload 2
arraylength
if_icmpne 2
aload 4
goto 3
StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
2: aload 1
aload 4
aload 2
iload 3
invokestatic org.jruby.RubyObject.dig:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/runtime/builtin/IRubyObject;
StackMap locals:
StackMap stack: org.jruby.runtime.builtin.IRubyObject
3: areturn
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/RubyStruct;
0 4 1 context Lorg/jruby/runtime/ThreadContext;
0 4 2 args [Lorg/jruby/runtime/builtin/IRubyObject;
0 4 3 idx I
1 4 4 val Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
args
idx
public static void marshalTo(org.jruby.RubyStruct, org.jruby.runtime.marshal.MarshalStream);
descriptor: (Lorg/jruby/RubyStruct;Lorg/jruby/runtime/marshal/MarshalStream;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual org.jruby.runtime.marshal.MarshalStream.registerLinkTarget:(Lorg/jruby/runtime/builtin/IRubyObject;)V
1: aload 1
bipush 83
aload 0
invokevirtual org.jruby.RubyStruct.getMetaClass:()Lorg/jruby/RubyClass;
invokevirtual org.jruby.runtime.marshal.MarshalStream.dumpDefaultObjectHeader:(CLorg/jruby/RubyClass;)V
2: aload 0
invokevirtual org.jruby.RubyStruct.classOf:()Lorg/jruby/RubyClass;
invokestatic org.jruby.RubyStruct.__member__:(Lorg/jruby/RubyClass;)Lorg/jruby/RubyArray;
astore 2
start local 2 3: aload 1
aload 2
invokevirtual org.jruby.RubyArray.size:()I
invokevirtual org.jruby.runtime.marshal.MarshalStream.writeInt:(I)V
4: iconst_0
istore 3
start local 3 5: goto 10
6: StackMap locals: org.jruby.RubyArray int
StackMap stack:
aload 2
iload 3
invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubySymbol
astore 4
start local 4 7: aload 1
aload 4
invokevirtual org.jruby.runtime.marshal.MarshalStream.dumpObject:(Lorg/jruby/runtime/builtin/IRubyObject;)V
8: aload 1
aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
iload 3
aaload
invokevirtual org.jruby.runtime.marshal.MarshalStream.dumpObject:(Lorg/jruby/runtime/builtin/IRubyObject;)V
end local 4 9: iinc 3 1
StackMap locals:
StackMap stack:
10: iload 3
aload 2
invokevirtual org.jruby.RubyArray.size:()I
if_icmplt 6
end local 3 11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 struct Lorg/jruby/RubyStruct;
0 12 1 output Lorg/jruby/runtime/marshal/MarshalStream;
3 12 2 member Lorg/jruby/RubyArray;
5 11 3 i I
7 9 4 name Lorg/jruby/RubySymbol;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
struct
output
public static org.jruby.RubyStruct unmarshalFrom(org.jruby.runtime.marshal.UnmarshalStream);
descriptor: (Lorg/jruby/runtime/marshal/UnmarshalStream;)Lorg/jruby/RubyStruct;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=10, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.runtime.marshal.UnmarshalStream.getRuntime:()Lorg/jruby/Ruby;
astore 1
start local 1 1: aload 0
iconst_0
invokevirtual org.jruby.runtime.marshal.UnmarshalStream.unmarshalObject:(Z)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubySymbol
astore 2
start local 2 2: aload 1
aload 2
invokevirtual org.jruby.RubySymbol.asJavaString:()Ljava/lang/String;
invokestatic org.jruby.RubyStruct.pathToClass:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubyClass;
astore 3
start local 3 3: aload 3
ifnonnull 5
4: aload 1
ldc "uninitialized constant %1$s"
aload 1
invokevirtual org.jruby.Ruby.getStructClass:()Lorg/jruby/RubyClass;
aload 2
invokevirtual org.jruby.Ruby.newNameError:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/exceptions/RaiseException;
athrow
5: StackMap locals: org.jruby.Ruby org.jruby.RubySymbol org.jruby.RubyClass
StackMap stack:
aload 3
invokestatic org.jruby.RubyStruct.__member__:(Lorg/jruby/RubyClass;)Lorg/jruby/RubyArray;
astore 4
start local 4 6: aload 0
invokevirtual org.jruby.runtime.marshal.UnmarshalStream.unmarshalInt:()I
istore 5
start local 5 7: new org.jruby.RubyStruct
dup
aload 1
aload 3
invokespecial org.jruby.RubyStruct.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
astore 6
start local 6 8: aload 0
aload 6
invokevirtual org.jruby.runtime.marshal.UnmarshalStream.registerLinkTarget:(Lorg/jruby/runtime/builtin/IRubyObject;)V
9: iconst_0
istore 7
start local 7 10: goto 17
11: StackMap locals: org.jruby.runtime.marshal.UnmarshalStream org.jruby.Ruby org.jruby.RubySymbol org.jruby.RubyClass org.jruby.RubyArray int org.jruby.RubyStruct int
StackMap stack:
aload 0
iconst_0
invokevirtual org.jruby.runtime.marshal.UnmarshalStream.unmarshalObject:(Z)Lorg/jruby/runtime/builtin/IRubyObject;
astore 8
start local 8 12: aload 4
iload 7
invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
astore 9
start local 9 13: aload 9
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
aload 8
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 15
14: aload 1
new java.lang.StringBuilder
dup
ldc "struct "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual org.jruby.RubyClass.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " not compatible (:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " for :"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
15: StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 6
iload 7
aload 0
invokevirtual org.jruby.runtime.marshal.UnmarshalStream.unmarshalObject:()Lorg/jruby/runtime/builtin/IRubyObject;
invokevirtual org.jruby.RubyStruct.aset:(ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
end local 9 end local 8 16: iinc 7 1
StackMap locals:
StackMap stack:
17: iload 7
iload 5
if_icmplt 11
end local 7 18: aload 6
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 19 0 input Lorg/jruby/runtime/marshal/UnmarshalStream;
1 19 1 runtime Lorg/jruby/Ruby;
2 19 2 className Lorg/jruby/RubySymbol;
3 19 3 rbClass Lorg/jruby/RubyClass;
6 19 4 member Lorg/jruby/RubyArray;
7 19 5 len I
8 19 6 result Lorg/jruby/RubyStruct;
10 18 7 i I
12 16 8 slot Lorg/jruby/runtime/builtin/IRubyObject;
13 16 9 elem Lorg/jruby/runtime/builtin/IRubyObject;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
input
private static org.jruby.RubyClass pathToClass(org.jruby.Ruby, java.lang.String);
descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubyClass;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.jruby.Ruby.getClassFromPath:(Ljava/lang/String;)Lorg/jruby/RubyModule;
checkcast org.jruby.RubyClass
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 runtime Lorg/jruby/Ruby;
0 1 1 path Ljava/lang/String;
MethodParameters:
Name Flags
runtime
path
public org.jruby.runtime.builtin.IRubyObject initialize_copy(org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 1
aload 0
areturn
1: StackMap locals:
StackMap stack:
aload 1
checkcast org.jruby.RubyStruct
astore 2
start local 2 2: aload 0
invokevirtual org.jruby.RubyStruct.checkFrozen:()V
3: aload 2
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
iconst_0
aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
iconst_0
aload 2
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
4: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/RubyStruct;
0 5 1 arg Lorg/jruby/runtime/builtin/IRubyObject;
2 5 2 original Lorg/jruby/RubyStruct;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(required = 1, visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
MethodParameters:
Name Flags
arg
public static org.jruby.RubyArray members19(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyArray;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.jruby.RubyStruct.members:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyArray;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 recv Lorg/jruby/runtime/builtin/IRubyObject;
0 1 1 block Lorg/jruby/runtime/Block;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
recv
block
private void lambda$0(org.jruby.runtime.ThreadContext, org.jruby.RubyArray, java.util.Map$Entry);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Ljava/util/Map$Entry;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=6, args_size=4
start local 0 start local 3 0: aload 3
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast org.jruby.runtime.builtin.IRubyObject
astore 4
start local 4 1: aload 4
instanceof org.jruby.RubySymbol
ifne 3
2: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 4
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.Ruby.newSymbol:(Lorg/jruby/util/ByteList;)Lorg/jruby/RubySymbol;
astore 4
3: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 2
aload 1
aload 4
invokevirtual org.jruby.RubyArray.index:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 5
start local 5 4: aload 5
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 5
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
new java.lang.StringBuilder
dup
ldc "unknown keywords: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
5: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 0
getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
aload 5
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
invokevirtual org.jruby.RubyInteger.getIntValue:()I
aload 3
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast org.jruby.runtime.builtin.IRubyObject
aastore
end local 5 end local 4 6: return
end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/RubyStruct;
0 7 3 entry Ljava/util/Map$Entry<Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;>;
1 6 4 key Lorg/jruby/runtime/builtin/IRubyObject;
4 6 5 index Lorg/jruby/runtime/builtin/IRubyObject;
}
SourceFile: "RubyStruct.java"
NestMembers:
org.jruby.RubyStruct$1 org.jruby.RubyStruct$2 org.jruby.RubyStruct$Accessor org.jruby.RubyStruct$EqlRecursive org.jruby.RubyStruct$EqualRecursive org.jruby.RubyStruct$HashRecursive org.jruby.RubyStruct$InspectRecursive org.jruby.RubyStruct$Mutator org.jruby.RubyStruct$StructMethods
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.util.Map$Entry of java.util.Map
public abstract SizeFn = org.jruby.RubyEnumerator$SizeFn of org.jruby.RubyEnumerator
org.jruby.RubyStruct$1
org.jruby.RubyStruct$2
public Accessor = org.jruby.RubyStruct$Accessor of org.jruby.RubyStruct
private EqlRecursive = org.jruby.RubyStruct$EqlRecursive of org.jruby.RubyStruct
private EqualRecursive = org.jruby.RubyStruct$EqualRecursive of org.jruby.RubyStruct
private HashRecursive = org.jruby.RubyStruct$HashRecursive of org.jruby.RubyStruct
private InspectRecursive = org.jruby.RubyStruct$InspectRecursive of org.jruby.RubyStruct
public Mutator = org.jruby.RubyStruct$Mutator of org.jruby.RubyStruct
public StructMethods = org.jruby.RubyStruct$StructMethods of org.jruby.RubyStruct
public final ID = org.jruby.common.IRubyWarnings$ID of org.jruby.common.IRubyWarnings
public abstract RecursiveFunctionEx = org.jruby.runtime.ThreadContext$RecursiveFunctionEx of org.jruby.runtime.ThreadContext
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyClass(name = {"Struct"})