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: .line 68
            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: .line 580
            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: .line 581
            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: .line 830
            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: .line 837
            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 // org.jruby.RubyStruct this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyClass rubyClass
         0: .line 83
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* rubyClass */
            invokespecial org.jruby.RubyObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
         1: .line 85
            aload 2 /* rubyClass */
            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 /* size */
        start local 3 // int size
         2: .line 87
            aload 0 /* this */
            iload 3 /* size */
            anewarray org.jruby.runtime.builtin.IRubyObject
            putfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
         3: .line 89
            aload 0 /* this */
            getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 1 /* runtime */
            invokestatic org.jruby.runtime.Helpers.fillNil:([Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/Ruby;)V
         4: .line 90
            return
        end local 3 // int size
        end local 2 // org.jruby.RubyClass rubyClass
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.Ruby runtime
         0: .line 93
            aload 0 /* runtime */
            ldc "Struct"
            aload 0 /* runtime */
            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 /* structClass */
        start local 1 // org.jruby.RubyClass structClass
         1: .line 94
            aload 0 /* runtime */
            aload 1 /* structClass */
            invokevirtual org.jruby.Ruby.setStructClass:(Lorg/jruby/RubyClass;)V
         2: .line 95
            aload 1 /* structClass */
            getstatic org.jruby.runtime.ClassIndex.STRUCT:Lorg/jruby/runtime/ClassIndex;
            invokevirtual org.jruby.RubyClass.setClassIndex:(Lorg/jruby/runtime/ClassIndex;)V
         3: .line 96
            aload 1 /* structClass */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getEnumerable:()Lorg/jruby/RubyModule;
            invokevirtual org.jruby.RubyClass.includeModule:(Lorg/jruby/runtime/builtin/IRubyObject;)V
         4: .line 97
            aload 1 /* structClass */
            ldc Lorg/jruby/RubyStruct;
            invokevirtual org.jruby.RubyClass.setReifiedClass:(Ljava/lang/Class;)V
         5: .line 98
            aload 1 /* structClass */
            ldc Lorg/jruby/RubyStruct;
            invokevirtual org.jruby.RubyClass.defineAnnotatedMethods:(Ljava/lang/Class;)V
         6: .line 100
            aload 1 /* structClass */
            areturn
        end local 1 // org.jruby.RubyClass structClass
        end local 0 // org.jruby.Ruby runtime
      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 // org.jruby.RubyStruct this
         0: .line 105
            getstatic org.jruby.runtime.ClassIndex.STRUCT:Lorg/jruby/runtime/ClassIndex;
            areturn
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.RubyClass type
        start local 1 // java.lang.String internedName
         0: .line 109
            aload 0 /* type */
            invokevirtual org.jruby.RubyClass.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getStructClass:()Lorg/jruby/RubyClass;
            astore 2 /* structClass */
        start local 2 // org.jruby.RubyClass structClass
         1: .line 112
            goto 6
         2: .line 113
      StackMap locals: org.jruby.RubyClass
      StackMap stack:
            aload 0 /* type */
            aload 1 /* internedName */
            invokevirtual org.jruby.RubyClass.getInternalVariable:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast org.jruby.runtime.builtin.IRubyObject
            dup
            astore 3 /* variable */
        start local 3 // org.jruby.runtime.builtin.IRubyObject variable
         3: ifnull 5
         4: .line 114
            aload 3 /* variable */
            areturn
         5: .line 117
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 0 /* type */
            invokevirtual org.jruby.RubyClass.getSuperClass:()Lorg/jruby/RubyClass;
            astore 0 /* type */
        end local 3 // org.jruby.runtime.builtin.IRubyObject variable
         6: .line 112
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            ifnull 7
            aload 0 /* type */
            aload 2 /* structClass */
            if_acmpne 2
         7: .line 120
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            invokevirtual org.jruby.RubyClass.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.RubyClass structClass
        end local 1 // java.lang.String internedName
        end local 0 // org.jruby.RubyClass type
      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 // org.jruby.RubyStruct this
         0: .line 124
            aload 0 /* this */
            invokevirtual org.jruby.RubyStruct.getMetaClass:()Lorg/jruby/RubyClass;
            astore 1 /* metaClass */
        start local 1 // org.jruby.RubyClass metaClass
         1: .line 125
            aload 1 /* metaClass */
            instanceof org.jruby.MetaClass
            ifeq 2
            aload 1 /* metaClass */
            invokevirtual org.jruby.RubyClass.getSuperClass:()Lorg/jruby/RubyClass;
            goto 3
      StackMap locals: org.jruby.RubyClass
      StackMap stack:
         2: aload 1 /* metaClass */
      StackMap locals:
      StackMap stack: org.jruby.RubyClass
         3: areturn
        end local 1 // org.jruby.RubyClass metaClass
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.RubyStruct this
         0: .line 129
            aload 0 /* this */
            invokevirtual org.jruby.RubyStruct.testFrozen:()V
         1: .line 130
            return
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.RubyStruct this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 134
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 136
            aload 0 /* this */
            invokevirtual org.jruby.RubyStruct.getType:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyClass.hashCode:()I
            istore 3 /* h */
        start local 3 // int h
         2: .line 138
            aload 0 /* this */
            getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* values */
        start local 4 // org.jruby.runtime.builtin.IRubyObject[] values
         3: .line 139
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 11
         5: .line 140
      StackMap locals: org.jruby.RubyStruct org.jruby.runtime.ThreadContext org.jruby.Ruby int org.jruby.runtime.builtin.IRubyObject[] int
      StackMap stack:
            iload 3 /* h */
            iconst_1
            ishl
            iload 3 /* h */
            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 /* h */
         8: .line 141
            aload 1 /* context */
            getstatic org.jruby.RubyStruct$HashRecursive.INSTANCE:Lorg/jruby/RubyStruct$HashRecursive;
            aload 2 /* runtime */
            aload 4 /* values */
            iload 5 /* i */
            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 /* hash */
        start local 6 // org.jruby.runtime.builtin.IRubyObject hash
         9: .line 142
            iload 3 /* h */
            i2l
            aload 6 /* hash */
            invokestatic org.jruby.RubyNumeric.num2long:(Lorg/jruby/runtime/builtin/IRubyObject;)J
            lxor
            l2i
            istore 3 /* h */
        end local 6 // org.jruby.runtime.builtin.IRubyObject hash
        10: .line 139
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 5 /* i */
            aload 4 /* values */
            arraylength
            if_icmplt 5
        end local 5 // int i
        12: .line 145
            aload 2 /* runtime */
            iload 3 /* h */
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            areturn
        end local 4 // org.jruby.runtime.builtin.IRubyObject[] values
        end local 3 // int h
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.RubyStruct this
        start local 1 // java.lang.String name
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 149
            aload 0 /* this */
            invokevirtual org.jruby.RubyStruct.__member__:()Lorg/jruby/RubyArray;
            astore 3 /* member */
        start local 3 // org.jruby.RubyArray member
         1: .line 151
            aload 0 /* this */
            invokevirtual org.jruby.RubyStruct.modify:()V
         2: .line 153
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 7
         4: .line 154
      StackMap locals: org.jruby.RubyArray int
      StackMap stack:
            aload 3 /* member */
            iload 4 /* i */
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.asJavaString:()Ljava/lang/String;
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 155
            aload 0 /* this */
            getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            iload 4 /* i */
            aload 2 /* value */
            dup_x2
            aastore
            areturn
         6: .line 153
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            aload 3 /* member */
            invokevirtual org.jruby.RubyArray.getLength:()I
            if_icmplt 4
        end local 4 // int i
         8: .line 159
            aconst_null
            areturn
        end local 3 // org.jruby.RubyArray member
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.RubyStruct this
        start local 1 // java.lang.String name
         0: .line 163
            aload 0 /* this */
            invokevirtual org.jruby.RubyStruct.__member__:()Lorg/jruby/RubyArray;
            astore 2 /* member */
        start local 2 // org.jruby.RubyArray member
         1: .line 165
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 6
         3: .line 166
      StackMap locals: org.jruby.RubyArray int
      StackMap stack:
            aload 2 /* member */
            iload 3 /* i */
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.asJavaString:()Ljava/lang/String;
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 167
            aload 0 /* this */
            getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            iload 3 /* i */
            aaload
            areturn
         5: .line 165
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 2 /* member */
            invokevirtual org.jruby.RubyArray.getLength:()I
            if_icmplt 3
        end local 3 // int i
         7: .line 171
            aconst_null
            areturn
        end local 2 // org.jruby.RubyArray member
        end local 1 // java.lang.String name
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.runtime.builtin.IRubyObject recv
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 2 // org.jruby.runtime.Block block
         0: .line 183
            aconst_null
            astore 3 /* name */
        start local 3 // java.lang.String name
         1: .line 184
            iconst_0
            istore 4 /* nilName */
        start local 4 // boolean nilName
         2: .line 185
            iconst_0
            istore 5 /* keywordInit */
        start local 5 // boolean keywordInit
         3: .line 186
            aload 0 /* recv */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
            astore 6 /* runtime */
        start local 6 // org.jruby.Ruby runtime
         4: .line 188
            aload 1 /* args */
            arraylength
            ifle 11
         5: .line 189
            aload 1 /* args */
            iconst_0
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.checkStringType:()Lorg/jruby/runtime/builtin/IRubyObject;
            astore 7 /* firstArgAsString */
        start local 7 // org.jruby.runtime.builtin.IRubyObject firstArgAsString
         6: .line 190
            aload 7 /* firstArgAsString */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 9
         7: .line 191
            aload 7 /* firstArgAsString */
            checkcast org.jruby.RubyString
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.toString:()Ljava/lang/String;
            astore 3 /* name */
         8: .line 192
            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 /* args */
            iconst_0
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 11
        10: .line 193
            iconst_1
            istore 4 /* nilName */
        end local 7 // org.jruby.runtime.builtin.IRubyObject firstArgAsString
        11: .line 197
      StackMap locals:
      StackMap stack:
            aload 6 /* runtime */
            invokevirtual org.jruby.Ruby.newArray:()Lorg/jruby/RubyArray;
            astore 7 /* member */
        start local 7 // org.jruby.RubyArray member
        12: .line 199
            aload 1 /* args */
            arraylength
            istore 8 /* argc */
        start local 8 // int argc
        13: .line 200
            aload 1 /* args */
            aload 1 /* args */
            arraylength
            iconst_1
            isub
            aaload
            astore 9 /* opts */
        start local 9 // org.jruby.runtime.builtin.IRubyObject opts
        14: .line 201
            aload 9 /* opts */
            instanceof org.jruby.RubyHash
            ifeq 20
        15: .line 202
            iinc 8 /* argc */ -1
        16: .line 203
            aload 6 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 9 /* opts */
            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 /* ret */
        start local 10 // org.jruby.runtime.builtin.IRubyObject ret
        17: .line 204
            aload 10 /* ret */
            ifnull 18
            aload 10 /* ret */
            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 /* keywordInit */
        end local 10 // org.jruby.runtime.builtin.IRubyObject ret
        20: .line 207
      StackMap locals:
      StackMap stack:
            aload 3 /* name */
            ifnonnull 21
            iload 4 /* nilName */
            ifne 21
            iconst_0
            goto 22
      StackMap locals:
      StackMap stack:
        21: iconst_1
      StackMap locals:
      StackMap stack: int
        22: istore 10 /* i */
        start local 10 // int i
        23: goto 34
        24: .line 208
      StackMap locals: int
      StackMap stack:
            aload 1 /* args */
            iload 10 /* i */
            aaload
            astore 11 /* arg */
        start local 11 // org.jruby.runtime.builtin.IRubyObject arg
        25: .line 210
            aload 11 /* arg */
            instanceof org.jruby.RubySymbol
            ifeq 28
        26: .line 211
            aload 11 /* arg */
            checkcast org.jruby.RubySymbol
            astore 12 /* sym */
        start local 12 // org.jruby.RubySymbol sym
        27: .line 212
            goto 32
        end local 12 // org.jruby.RubySymbol sym
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
        28: aload 11 /* arg */
            instanceof org.jruby.RubyString
            ifeq 31
        29: .line 213
            aload 6 /* runtime */
            aload 11 /* arg */
            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 /* sym */
        start local 12 // org.jruby.RubySymbol sym
        30: .line 214
            goto 32
        end local 12 // org.jruby.RubySymbol sym
        31: .line 215
      StackMap locals:
      StackMap stack:
            aload 6 /* runtime */
            aload 11 /* arg */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.asJavaString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
            astore 12 /* sym */
        start local 12 // org.jruby.RubySymbol sym
        32: .line 218
      StackMap locals: org.jruby.RubySymbol
      StackMap stack:
            aload 7 /* member */
            aload 12 /* sym */
            invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            pop
        end local 12 // org.jruby.RubySymbol sym
        end local 11 // org.jruby.runtime.builtin.IRubyObject arg
        33: .line 207
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        34: iload 10 /* i */
            iload 8 /* argc */
            if_icmplt 24
        end local 10 // int i
        35: .line 222
            aload 0 /* recv */
            checkcast org.jruby.RubyClass
            astore 11 /* superClass */
        start local 11 // org.jruby.RubyClass superClass
        36: .line 224
            aload 3 /* name */
            ifnull 37
            iload 4 /* nilName */
            ifeq 42
        37: .line 225
      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 /* runtime */
            aload 11 /* superClass */
            invokestatic org.jruby.RubyClass.newClass:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)Lorg/jruby/RubyClass;
            astore 10 /* newStruct */
        start local 10 // org.jruby.RubyClass newStruct
        38: .line 226
            aload 10 /* newStruct */
            getstatic org.jruby.RubyStruct.STRUCT_INSTANCE_ALLOCATOR:Lorg/jruby/runtime/ObjectAllocator;
            invokevirtual org.jruby.RubyClass.setAllocator:(Lorg/jruby/runtime/ObjectAllocator;)V
        39: .line 227
            aload 10 /* newStruct */
            aload 11 /* superClass */
            getfield org.jruby.RubyClass.metaClass:Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyClass.makeMetaClass:(Lorg/jruby/RubyClass;)Lorg/jruby/RubyClass;
            pop
        40: .line 228
            aload 10 /* newStruct */
            aload 11 /* superClass */
            invokevirtual org.jruby.RubyClass.inherit:(Lorg/jruby/RubyClass;)V
        41: .line 229
            goto 50
        end local 10 // org.jruby.RubyClass newStruct
        42: .line 230
      StackMap locals:
      StackMap stack:
            aload 3 /* name */
            invokestatic org.jruby.util.IdUtil.isConstant:(Ljava/lang/String;)Z
            ifne 44
        43: .line 231
            aload 6 /* runtime */
            ldc "identifier %1$s needs to be constant"
            aload 0 /* recv */
            aload 3 /* name */
            invokevirtual org.jruby.Ruby.newNameError:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        44: .line 234
      StackMap locals:
      StackMap stack:
            aload 11 /* superClass */
            aload 3 /* name */
            invokevirtual org.jruby.RubyClass.getConstantAt:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 12 /* type */
        start local 12 // org.jruby.runtime.builtin.IRubyObject type
        45: .line 235
            aload 12 /* type */
            ifnull 49
        46: .line 236
            aload 6 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            astore 13 /* context */
        start local 13 // org.jruby.runtime.ThreadContext context
        47: .line 237
            aload 6 /* runtime */
            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 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.getFile:()Ljava/lang/String;
            aload 13 /* context */
            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 /* type */
            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: .line 238
            aload 11 /* superClass */
            aload 3 /* name */
            invokevirtual org.jruby.RubyClass.deleteConstant:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        end local 13 // org.jruby.runtime.ThreadContext context
        49: .line 240
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 11 /* superClass */
            aload 3 /* name */
            aload 11 /* superClass */
            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 /* newStruct */
        end local 12 // org.jruby.runtime.builtin.IRubyObject type
        start local 10 // org.jruby.RubyClass newStruct
        50: .line 244
      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 /* newStruct */
            ldc Lorg/jruby/RubyStruct;
            invokevirtual org.jruby.RubyClass.setReifiedClass:(Ljava/lang/Class;)V
        51: .line 245
            aload 10 /* newStruct */
            getstatic org.jruby.runtime.ClassIndex.STRUCT:Lorg/jruby/runtime/ClassIndex;
            invokevirtual org.jruby.RubyClass.setClassIndex:(Lorg/jruby/runtime/ClassIndex;)V
        52: .line 247
            aload 10 /* newStruct */
            ldc "__size__"
            aload 7 /* member */
            invokevirtual org.jruby.RubyArray.length:()Lorg/jruby/RubyFixnum;
            invokevirtual org.jruby.RubyClass.setInternalVariable:(Ljava/lang/String;Ljava/lang/Object;)V
        53: .line 248
            aload 10 /* newStruct */
            ldc "__member__"
            aload 7 /* member */
            invokevirtual org.jruby.RubyClass.setInternalVariable:(Ljava/lang/String;Ljava/lang/Object;)V
        54: .line 249
            aload 10 /* newStruct */
            ldc "__keyword_init__"
            iload 5 /* keywordInit */
            ifeq 55
            aload 6 /* runtime */
            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 /* runtime */
            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: .line 251
            aload 10 /* newStruct */
            invokevirtual org.jruby.RubyClass.getSingletonClass:()Lorg/jruby/RubyClass;
            ldc Lorg/jruby/RubyStruct$StructMethods;
            invokevirtual org.jruby.RubyClass.defineAnnotatedMethods:(Ljava/lang/Class;)V
        58: .line 254
            aload 3 /* name */
            ifnonnull 59
            iload 4 /* nilName */
            ifne 59
            iconst_0
            goto 60
      StackMap locals:
      StackMap stack:
        59: iconst_1
      StackMap locals:
      StackMap stack: int
        60: istore 12 /* i */
        start local 12 // int i
        61: goto 71
        62: .line 255
      StackMap locals: int
      StackMap stack:
            iload 12 /* i */
            aload 1 /* args */
            arraylength
            iconst_1
            isub
            if_icmpne 63
            aload 1 /* args */
            iload 12 /* i */
            aaload
            instanceof org.jruby.RubyHash
            ifeq 63
            goto 72
        63: .line 256
      StackMap locals:
      StackMap stack:
            aload 1 /* args */
            iload 12 /* i */
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.asJavaString:()Ljava/lang/String;
            astore 13 /* memberName */
        start local 13 // java.lang.String memberName
        64: .line 258
            aload 3 /* name */
            ifnonnull 65
            iload 4 /* nilName */
            ifne 65
            iload 12 /* i */
            goto 66
      StackMap locals: java.lang.String
      StackMap stack:
        65: iload 12 /* i */
            iconst_1
            isub
      StackMap locals:
      StackMap stack: int
        66: istore 14 /* index */
        start local 14 // int index
        67: .line 259
            aload 10 /* newStruct */
            aload 13 /* memberName */
            new org.jruby.RubyStruct$Accessor
            dup
            aload 10 /* newStruct */
            aload 13 /* memberName */
            iload 14 /* index */
            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: .line 260
            new java.lang.StringBuilder
            dup
            aload 13 /* memberName */
            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 /* nameAsgn */
        start local 15 // java.lang.String nameAsgn
        69: .line 261
            aload 10 /* newStruct */
            aload 15 /* nameAsgn */
            new org.jruby.RubyStruct$Mutator
            dup
            aload 10 /* newStruct */
            aload 15 /* nameAsgn */
            iload 14 /* index */
            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 // java.lang.String nameAsgn
        end local 14 // int index
        end local 13 // java.lang.String memberName
        70: .line 254
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        71: iload 12 /* i */
            aload 1 /* args */
            arraylength
            if_icmplt 62
        end local 12 // int i
        72: .line 264
      StackMap locals:
      StackMap stack:
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 76
        73: .line 266
            aload 2 /* block */
            getstatic org.jruby.EvalType.MODULE_EVAL:Lorg/jruby/EvalType;
            invokevirtual org.jruby.runtime.Block.setEvalType:(Lorg/jruby/EvalType;)V
        74: .line 268
            aload 2 /* block */
            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: .line 269
            aload 2 /* block */
            aload 6 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 10 /* newStruct */
            aload 10 /* newStruct */
            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: .line 272
      StackMap locals:
      StackMap stack:
            aload 10 /* newStruct */
            areturn
        end local 11 // org.jruby.RubyClass superClass
        end local 10 // org.jruby.RubyClass newStruct
        end local 9 // org.jruby.runtime.builtin.IRubyObject opts
        end local 8 // int argc
        end local 7 // org.jruby.RubyArray member
        end local 6 // org.jruby.Ruby runtime
        end local 5 // boolean keywordInit
        end local 4 // boolean nilName
        end local 3 // java.lang.String name
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.runtime.builtin.IRubyObject recv
      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 // org.jruby.runtime.builtin.IRubyObject recv
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 2 // org.jruby.runtime.Block block
         0: .line 321
            new org.jruby.RubyStruct
            dup
            aload 0 /* recv */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* recv */
            checkcast org.jruby.RubyClass
            invokespecial org.jruby.RubyStruct.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
            astore 3 /* struct */
        start local 3 // org.jruby.RubyStruct struct
         1: .line 323
            aload 3 /* struct */
            aload 1 /* args */
            aload 2 /* block */
            invokevirtual org.jruby.RubyStruct.callInit:([Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)V
         2: .line 325
            aload 3 /* struct */
            areturn
        end local 3 // org.jruby.RubyStruct struct
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.runtime.builtin.IRubyObject recv
      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 // org.jruby.runtime.builtin.IRubyObject recv
        start local 1 // org.jruby.runtime.Block block
         0: .line 329
            new org.jruby.RubyStruct
            dup
            aload 0 /* recv */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* recv */
            checkcast org.jruby.RubyClass
            invokespecial org.jruby.RubyStruct.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
            astore 2 /* struct */
        start local 2 // org.jruby.RubyStruct struct
         1: .line 331
            aload 2 /* struct */
            aload 1 /* block */
            invokevirtual org.jruby.RubyStruct.callInit:(Lorg/jruby/runtime/Block;)V
         2: .line 333
            aload 2 /* struct */
            areturn
        end local 2 // org.jruby.RubyStruct struct
        end local 1 // org.jruby.runtime.Block block
        end local 0 // org.jruby.runtime.builtin.IRubyObject recv
      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 // org.jruby.runtime.builtin.IRubyObject recv
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 2 // org.jruby.runtime.Block block
         0: .line 337
            new org.jruby.RubyStruct
            dup
            aload 0 /* recv */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* recv */
            checkcast org.jruby.RubyClass
            invokespecial org.jruby.RubyStruct.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
            astore 3 /* struct */
        start local 3 // org.jruby.RubyStruct struct
         1: .line 339
            aload 3 /* struct */
            aload 1 /* arg0 */
            aload 2 /* block */
            invokevirtual org.jruby.RubyStruct.callInit:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)V
         2: .line 341
            aload 3 /* struct */
            areturn
        end local 3 // org.jruby.RubyStruct struct
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 0 // org.jruby.runtime.builtin.IRubyObject recv
      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 // org.jruby.runtime.builtin.IRubyObject recv
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 3 // org.jruby.runtime.Block block
         0: .line 345
            new org.jruby.RubyStruct
            dup
            aload 0 /* recv */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* recv */
            checkcast org.jruby.RubyClass
            invokespecial org.jruby.RubyStruct.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
            astore 4 /* struct */
        start local 4 // org.jruby.RubyStruct struct
         1: .line 347
            aload 4 /* struct */
            aload 1 /* arg0 */
            aload 2 /* arg1 */
            aload 3 /* block */
            invokevirtual org.jruby.RubyStruct.callInit:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)V
         2: .line 349
            aload 4 /* struct */
            areturn
        end local 4 // org.jruby.RubyStruct struct
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 0 // org.jruby.runtime.builtin.IRubyObject recv
      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 // org.jruby.runtime.builtin.IRubyObject recv
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg2
        start local 4 // org.jruby.runtime.Block block
         0: .line 353
            new org.jruby.RubyStruct
            dup
            aload 0 /* recv */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* recv */
            checkcast org.jruby.RubyClass
            invokespecial org.jruby.RubyStruct.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
            astore 5 /* struct */
        start local 5 // org.jruby.RubyStruct struct
         1: .line 355
            aload 5 /* struct */
            aload 1 /* arg0 */
            aload 2 /* arg1 */
            aload 3 /* arg2 */
            aload 4 /* block */
            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: .line 357
            aload 5 /* struct */
            areturn
        end local 5 // org.jruby.RubyStruct struct
        end local 4 // org.jruby.runtime.Block block
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg2
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 0 // org.jruby.runtime.builtin.IRubyObject recv
      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 // org.jruby.RubyStruct this
        start local 1 // int length
         0: .line 361
            iload 1 /* length */
            aload 0 /* this */
            getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            arraylength
            if_icmple 2
         1: .line 362
            aload 0 /* this */
            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 /* length */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " for "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            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: .line 364
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int length
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.RubyStruct this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 368
            aload 0 /* this */
            invokevirtual org.jruby.RubyStruct.modify:()V
         1: .line 369
            aload 0 /* this */
            aload 2 /* args */
            arraylength
            invokevirtual org.jruby.RubyStruct.checkSize:(I)V
         2: .line 371
            aload 0 /* this */
            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 /* keywordInit */
        start local 3 // org.jruby.runtime.builtin.IRubyObject keywordInit
         3: .line 373
            aload 3 /* keywordInit */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifeq 6
         4: .line 374
            aload 2 /* args */
            arraylength
            iconst_1
            if_icmpeq 5
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* args */
            arraylength
            iconst_0
            invokevirtual org.jruby.Ruby.newArgumentError:(II)Lorg/jruby/exceptions/RaiseException;
            athrow
         5: .line 376
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* args */
            iconst_0
            aaload
            invokevirtual org.jruby.RubyStruct.initialize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         6: .line 378
      StackMap locals:
      StackMap stack:
            aload 2 /* args */
            iconst_0
            aload 0 /* this */
            getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            iconst_0
            aload 2 /* args */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         7: .line 379
            aload 0 /* this */
            getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 2 /* args */
            arraylength
            aload 0 /* this */
            getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            arraylength
            aload 1 /* context */
            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: .line 382
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject keywordInit
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.RubyStruct this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.RubyHash kwArgs
         0: .line 386
            aload 0 /* this */
            invokevirtual org.jruby.RubyStruct.__member__:()Lorg/jruby/RubyArray;
            astore 3 /* __members__ */
        start local 3 // org.jruby.RubyArray __members__
         1: .line 387
            aload 2 /* kwArgs */
            invokevirtual org.jruby.RubyHash.directEntrySet:()Ljava/util/Set;
            astore 4 /* entries */
        start local 4 // java.util.Set entries
         2: .line 389
            aload 4 /* entries */
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
         3: .line 390
            aload 0 /* this */
            aload 1 /* context */
            aload 3 /* __members__ */
            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: .line 389
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
         5: .line 398
            return
        end local 4 // java.util.Set entries
        end local 3 // org.jruby.RubyArray __members__
        end local 2 // org.jruby.RubyHash kwArgs
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.RubyStruct this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 403
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* nil */
        start local 2 // org.jruby.runtime.builtin.IRubyObject nil
         1: .line 404
            aload 0 /* this */
            aload 1 /* context */
            iconst_0
            aload 2 /* nil */
            aload 2 /* nil */
            aload 2 /* nil */
            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 // org.jruby.runtime.builtin.IRubyObject nil
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.RubyStruct this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
         0: .line 409
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 411
            aload 0 /* this */
            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 /* keywordInit */
        start local 4 // org.jruby.runtime.builtin.IRubyObject keywordInit
         2: .line 412
            aload 4 /* keywordInit */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifeq 7
         3: .line 413
            aload 3 /* runtime */
            aload 2 /* arg0 */
            invokestatic org.jruby.ast.util.ArgsUtil.getOptionsArg:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* maybeKwargs */
        start local 5 // org.jruby.runtime.builtin.IRubyObject maybeKwargs
         4: .line 415
            aload 5 /* maybeKwargs */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 5
            aload 1 /* context */
            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: .line 417
      StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 5 /* maybeKwargs */
            checkcast org.jruby.RubyHash
            invokevirtual org.jruby.RubyStruct.setupStructValuesFromHash:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash;)V
         6: .line 419
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 5 // org.jruby.runtime.builtin.IRubyObject maybeKwargs
         7: .line 421
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* nil */
        start local 5 // org.jruby.runtime.builtin.IRubyObject nil
         8: .line 422
            aload 0 /* this */
            aload 1 /* context */
            iconst_1
            aload 2 /* arg0 */
            aload 5 /* nil */
            aload 5 /* nil */
            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 // org.jruby.runtime.builtin.IRubyObject nil
        end local 4 // org.jruby.runtime.builtin.IRubyObject keywordInit
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.RubyStruct this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
         0: .line 428
            aload 0 /* this */
            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 /* keywordInit */
        start local 4 // org.jruby.runtime.builtin.IRubyObject keywordInit
         1: .line 429
            aload 4 /* keywordInit */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifeq 3
         2: .line 430
            aload 1 /* context */
            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: .line 433
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            iconst_2
            aload 2 /* arg0 */
            aload 3 /* arg1 */
            aload 1 /* context */
            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 // org.jruby.runtime.builtin.IRubyObject keywordInit
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.RubyStruct this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 4 // org.jruby.runtime.builtin.IRubyObject arg2
         0: .line 438
            aload 0 /* this */
            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 /* keywordInit */
        start local 5 // org.jruby.runtime.builtin.IRubyObject keywordInit
         1: .line 439
            aload 5 /* keywordInit */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifeq 3
         2: .line 440
            aload 1 /* context */
            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: .line 443
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            iconst_3
            aload 2 /* arg0 */
            aload 3 /* arg1 */
            aload 4 /* arg2 */
            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 // org.jruby.runtime.builtin.IRubyObject keywordInit
        end local 4 // org.jruby.runtime.builtin.IRubyObject arg2
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.RubyStruct this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // int provided
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 4 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 5 // org.jruby.runtime.builtin.IRubyObject arg2
         0: .line 447
            aload 0 /* this */
            invokevirtual org.jruby.RubyStruct.modify:()V
         1: .line 448
            aload 0 /* this */
            iload 2 /* provided */
            invokevirtual org.jruby.RubyStruct.checkSize:(I)V
         2: .line 450
            iload 2 /* provided */
            tableswitch { // 1 - 3
                    1: 5
                    2: 4
                    3: 3
              default: 6
          }
         3: .line 452
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            iconst_2
            aload 5 /* arg2 */
            aastore
         4: .line 454
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            iconst_1
            aload 4 /* arg1 */
            aastore
         5: .line 456
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            iconst_0
            aload 3 /* arg0 */
            aastore
         6: .line 458
      StackMap locals:
      StackMap stack:
            iload 2 /* provided */
            aload 0 /* this */
            getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            arraylength
            if_icmpge 8
         7: .line 459
            aload 0 /* this */
            getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            iload 2 /* provided */
            aload 0 /* this */
            getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            arraylength
            aload 1 /* context */
            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: .line 462
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 5 // org.jruby.runtime.builtin.IRubyObject arg2
        end local 4 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 2 // int provided
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.RubyClass type
         0: .line 466
            aload 0 /* type */
            invokestatic org.jruby.RubyStruct.__member__:(Lorg/jruby/RubyClass;)Lorg/jruby/RubyArray;
            astore 1 /* member */
        start local 1 // org.jruby.RubyArray member
         1: .line 467
            aload 1 /* member */
            invokevirtual org.jruby.RubyArray.getLength:()I
            istore 2 /* len */
        start local 2 // int len
         2: .line 468
            iload 2 /* len */
            anewarray org.jruby.runtime.builtin.IRubyObject
            astore 3 /* result */
        start local 3 // org.jruby.runtime.builtin.IRubyObject[] result
         3: .line 470
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 7
         5: .line 471
      StackMap locals: org.jruby.RubyClass org.jruby.RubyArray int org.jruby.runtime.builtin.IRubyObject[] int
      StackMap stack:
            aload 3 /* result */
            iload 4 /* i */
            aload 1 /* member */
            iload 4 /* i */
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            aastore
         6: .line 470
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            iload 2 /* len */
            if_icmplt 5
        end local 4 // int i
         8: .line 474
            aload 0 /* type */
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            aload 3 /* result */
            invokestatic org.jruby.RubyArray.newArrayNoCopy:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject[] result
        end local 2 // int len
        end local 1 // org.jruby.RubyArray member
        end local 0 // org.jruby.RubyClass type
      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 // org.jruby.runtime.builtin.IRubyObject recv
        start local 1 // org.jruby.runtime.Block block
         0: .line 479
            aload 0 /* recv */
            checkcast org.jruby.RubyClass
            invokestatic org.jruby.RubyStruct.members:(Lorg/jruby/RubyClass;)Lorg/jruby/RubyArray;
            areturn
        end local 1 // org.jruby.runtime.Block block
        end local 0 // org.jruby.runtime.builtin.IRubyObject recv
      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 // org.jruby.RubyClass clazz
         0: .line 483
            aload 0 /* clazz */
            ldc "__member__"
            invokestatic org.jruby.RubyStruct.getInternalVariable:(Lorg/jruby/RubyClass;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyArray
            astore 1 /* member */
        start local 1 // org.jruby.RubyArray member
         1: .line 485
            getstatic org.jruby.RubyStruct.$assertionsDisabled:Z
            ifne 2
            aload 1 /* member */
            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: .line 487
      StackMap locals: org.jruby.RubyArray
      StackMap stack:
            aload 1 /* member */
            areturn
        end local 1 // org.jruby.RubyArray member
        end local 0 // org.jruby.RubyClass clazz
      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 // org.jruby.RubyStruct this
         0: .line 491
            aload 0 /* this */
            invokevirtual org.jruby.RubyStruct.classOf:()Lorg/jruby/RubyClass;
            invokestatic org.jruby.RubyStruct.__member__:(Lorg/jruby/RubyClass;)Lorg/jruby/RubyArray;
            areturn
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.RubyStruct this
         0: .line 496
            aload 0 /* this */
            invokevirtual org.jruby.RubyStruct.classOf:()Lorg/jruby/RubyClass;
            invokestatic org.jruby.RubyStruct.members:(Lorg/jruby/RubyClass;)Lorg/jruby/RubyArray;
            areturn
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.RubyStruct this
         0: .line 501
            aload 0 /* this */
            invokevirtual org.jruby.RubyStruct.members:()Lorg/jruby/RubyArray;
            areturn
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.RubyStruct this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 506
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifne 2
         1: .line 507
            aload 1 /* context */
            aload 0 /* this */
            ldc "select"
            aload 0 /* this */
            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: .line 510
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;)Lorg/jruby/RubyArray;
            astore 3 /* array */
        start local 3 // org.jruby.RubyArray array
         3: .line 512
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 8
         5: .line 513
      StackMap locals: org.jruby.RubyArray int
      StackMap stack:
            aload 2 /* block */
            aload 1 /* context */
            aload 0 /* this */
            getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            iload 4 /* i */
            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: .line 514
            aload 3 /* array */
            aload 0 /* this */
            getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            iload 4 /* i */
            aaload
            invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            pop
         7: .line 512
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            arraylength
            if_icmplt 5
        end local 4 // int i
         9: .line 518
            aload 3 /* array */
            areturn
        end local 3 // org.jruby.RubyArray array
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.RubyStruct this
         0: .line 522
            aload 0 /* this */
            astore 1 /* self */
        start local 1 // org.jruby.RubyStruct self
         1: .line 523
            new org.jruby.RubyStruct$2
            dup
            aload 0 /* this */
            aload 1 /* self */
            invokespecial org.jruby.RubyStruct$2.<init>:(Lorg/jruby/RubyStruct;Lorg/jruby/RubyStruct;)V
            areturn
        end local 1 // org.jruby.RubyStruct self
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.RubyStruct this
        start local 1 // org.jruby.runtime.builtin.IRubyObject value
        start local 2 // int index
         0: .line 532
            aload 0 /* this */
            invokevirtual org.jruby.RubyStruct.modify:()V
         1: .line 534
            aload 0 /* this */
            getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            iload 2 /* index */
            aload 1 /* value */
            dup_x2
            aastore
            areturn
        end local 2 // int index
        end local 1 // org.jruby.runtime.builtin.IRubyObject value
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.RubyStruct this
        start local 1 // org.jruby.runtime.builtin.IRubyObject name
         0: .line 538
            aload 0 /* this */
            invokevirtual org.jruby.RubyStruct.getRuntime:()Lorg/jruby/Ruby;
            ldc "no member '%1$s' in struct"
            aload 0 /* this */
            aload 1 /* name */
            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 // org.jruby.runtime.builtin.IRubyObject name
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.RubyStruct this
        start local 1 // int index
         0: .line 542
            aload 0 /* this */
            getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            iload 1 /* index */
            aaload
            areturn
        end local 1 // int index
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.RubyStruct this
        start local 1 // org.jruby.runtime.builtin.IRubyObject clone
         0: .line 547
            aload 1 /* clone */
            checkcast org.jruby.RubyStruct
            astore 2 /* struct */
        start local 2 // org.jruby.RubyStruct struct
         1: .line 548
            aload 0 /* this */
            getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            iconst_0
            aload 2 /* struct */
            getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            iconst_0
            aload 0 /* this */
            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: .line 549
            return
        end local 2 // org.jruby.RubyStruct struct
        end local 1 // org.jruby.runtime.builtin.IRubyObject clone
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.RubyStruct this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 554
            aload 0 /* this */
            aload 2 /* other */
            if_acmpne 1
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.tru:Lorg/jruby/RubyBoolean;
            areturn
         1: .line 555
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyStruct
            ifne 2
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
            areturn
         2: .line 556
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyStruct.getType:()Lorg/jruby/RubyClass;
            aload 2 /* other */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getType:()Lorg/jruby/RubyClass;
            if_acmpeq 4
         3: .line 557
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
            areturn
         4: .line 560
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            aload 0 /* this */
            if_acmpne 5
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.tru:Lorg/jruby/RubyBoolean;
            areturn
         5: .line 563
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getstatic org.jruby.RubyStruct$EqualRecursive.INSTANCE:Lorg/jruby/RubyStruct$EqualRecursive;
            aload 2 /* other */
            aload 0 /* this */
            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 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.RubyStruct this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 568
            aload 0 /* this */
            aload 2 /* other */
            if_acmpne 1
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.tru:Lorg/jruby/RubyBoolean;
            areturn
         1: .line 569
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyStruct
            ifne 2
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
            areturn
         2: .line 570
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyStruct.metaClass:Lorg/jruby/RubyClass;
            aload 2 /* other */
            invokestatic org.jruby.RubyStruct.getMetaClass:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyClass;
            if_acmpeq 4
         3: .line 571
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
            areturn
         4: .line 574
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            aload 0 /* this */
            if_acmpne 5
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.tru:Lorg/jruby/RubyBoolean;
            areturn
         5: .line 577
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getstatic org.jruby.RubyStruct$EqlRecursive.INSTANCE:Lorg/jruby/RubyStruct$EqlRecursive;
            aload 2 /* other */
            aload 0 /* this */
            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 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.RubyStruct this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // boolean recur
         0: .line 587
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 588
            aload 3 /* runtime */
            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 /* buffer */
        start local 4 // org.jruby.RubyString buffer
         2: .line 589
            aload 4 /* buffer */
            getstatic org.jruby.RubyStruct.STRUCT_BEG:[B
            invokevirtual org.jruby.RubyString.cat:([B)Lorg/jruby/RubyString;
            pop
         3: .line 591
            aload 0 /* this */
            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 /* cname */
        start local 5 // java.lang.String cname
         4: .line 592
            aload 5 /* cname */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            istore 6 /* first */
        start local 6 // char first
         5: .line 594
            iload 2 /* recur */
            ifne 6
            iload 6 /* first */
            bipush 35
            if_icmpeq 7
         6: .line 595
      StackMap locals: org.jruby.RubyStruct org.jruby.runtime.ThreadContext int org.jruby.Ruby org.jruby.RubyString java.lang.String int
      StackMap stack:
            aload 4 /* buffer */
            aload 5 /* cname */
            invokevirtual java.lang.String.getBytes:()[B
            invokevirtual org.jruby.RubyString.cat:([B)Lorg/jruby/RubyString;
            pop
         7: .line 597
      StackMap locals:
      StackMap stack:
            iload 2 /* recur */
            ifeq 9
         8: .line 598
            aload 4 /* buffer */
            getstatic org.jruby.RubyStruct.STRUCT_END:[B
            invokevirtual org.jruby.RubyString.cat:([B)Lorg/jruby/RubyString;
            areturn
         9: .line 601
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyStruct.__member__:()Lorg/jruby/RubyArray;
            astore 7 /* member */
        start local 7 // org.jruby.RubyArray member
        10: .line 602
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        11: goto 25
        12: .line 603
      StackMap locals: org.jruby.RubyArray int
      StackMap stack:
            iload 8 /* i */
            ifle 15
        13: .line 604
            aload 4 /* buffer */
            bipush 44
            invokevirtual org.jruby.RubyString.cat:(I)Lorg/jruby/RubyString;
            bipush 32
            invokevirtual org.jruby.RubyString.cat:(I)Lorg/jruby/RubyString;
            pop
        14: .line 605
            goto 17
        15: .line 606
      StackMap locals:
      StackMap stack:
            iload 6 /* first */
            bipush 35
            if_icmpeq 17
        16: .line 607
            aload 4 /* buffer */
            bipush 32
            invokevirtual org.jruby.RubyString.cat:(I)Lorg/jruby/RubyString;
            pop
        17: .line 609
      StackMap locals:
      StackMap stack:
            aload 7 /* member */
            iload 8 /* i */
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubySymbol
            astore 9 /* slot */
        start local 9 // org.jruby.RubySymbol slot
        18: .line 610
            aload 9 /* slot */
            invokevirtual org.jruby.RubySymbol.validLocalVariableName:()Z
            ifne 19
            aload 9 /* slot */
            invokevirtual org.jruby.RubySymbol.validConstantName:()Z
            ifeq 21
        19: .line 611
      StackMap locals: org.jruby.RubySymbol
      StackMap stack:
            aload 4 /* buffer */
            aload 1 /* context */
            aload 9 /* slot */
            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: .line 612
            goto 22
        21: .line 613
      StackMap locals:
      StackMap stack:
            aload 4 /* buffer */
            aload 9 /* slot */
            aload 1 /* context */
            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: .line 615
      StackMap locals:
      StackMap stack:
            aload 4 /* buffer */
            bipush 61
            invokevirtual org.jruby.RubyString.cat:(I)Lorg/jruby/RubyString;
            pop
        23: .line 616
            aload 4 /* buffer */
            aload 1 /* context */
            aload 0 /* this */
            getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            iload 8 /* i */
            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 // org.jruby.RubySymbol slot
        24: .line 602
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 8 /* i */
            aload 7 /* member */
            invokevirtual org.jruby.RubyArray.getLength:()I
            if_icmplt 12
        end local 8 // int i
        26: .line 619
            aload 4 /* buffer */
            bipush 62
            invokevirtual org.jruby.RubyString.cat:(I)Lorg/jruby/RubyString;
            pop
        27: .line 620
            aload 4 /* buffer */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.infectBy:(Lorg/jruby/RubyBasicObject;)Lorg/jruby/RubyBasicObject;
            checkcast org.jruby.RubyString
            areturn
        end local 7 // org.jruby.RubyArray member
        end local 6 // char first
        end local 5 // java.lang.String cname
        end local 4 // org.jruby.RubyString buffer
        end local 3 // org.jruby.Ruby runtime
        end local 2 // boolean recur
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.RubyStruct this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 626
            aload 1 /* context */
            getstatic org.jruby.RubyStruct$InspectRecursive.INSTANCE:Lorg/jruby/runtime/ThreadContext$RecursiveFunctionEx;
            aload 0 /* this */
            aload 0 /* this */
            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 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.RubyStruct this
         0: .line 632
            aload 0 /* this */
            invokevirtual org.jruby.RubyStruct.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            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 // org.jruby.RubyStruct this
      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 // org.jruby.RubyStruct this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 637
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokestatic org.jruby.RubyHash.newHash:(Lorg/jruby/Ruby;)Lorg/jruby/RubyHash;
            astore 2 /* hash */
        start local 2 // org.jruby.RubyHash hash
         1: .line 638
            aload 0 /* this */
            invokevirtual org.jruby.RubyStruct.__member__:()Lorg/jruby/RubyArray;
            astore 3 /* members */
        start local 3 // org.jruby.RubyArray members
         2: .line 640
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 6
         4: .line 641
      StackMap locals: org.jruby.RubyHash org.jruby.RubyArray int
      StackMap stack:
            aload 2 /* hash */
            aload 1 /* context */
            aload 3 /* members */
            iload 4 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            iload 4 /* i */
            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: .line 640
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 4 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            arraylength
            if_icmplt 4
        end local 4 // int i
         7: .line 644
            aload 2 /* hash */
            areturn
        end local 3 // org.jruby.RubyArray members
        end local 2 // org.jruby.RubyHash hash
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.RubyStruct this
         0: .line 649
            aload 0 /* this */
            invokevirtual org.jruby.RubyStruct.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            arraylength
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            areturn
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.RubyStruct this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 653
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: goto 4
         2: .line 654
      StackMap locals: int
      StackMap stack:
            aload 2 /* block */
            aload 1 /* context */
            aload 0 /* this */
            getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            iload 3 /* i */
            aaload
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         3: .line 653
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         4: iload 3 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            arraylength
            if_icmplt 2
        end local 3 // int i
         5: .line 657
            aload 0 /* this */
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.RubyStruct this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 662
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 1
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            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 /* context */
            aload 0 /* this */
            ldc "each"
            aload 0 /* this */
            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 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.RubyStruct this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 666
            aload 0 /* this */
            invokevirtual org.jruby.RubyStruct.__member__:()Lorg/jruby/RubyArray;
            astore 3 /* member */
        start local 3 // org.jruby.RubyArray member
         1: .line 668
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 5
         3: .line 669
      StackMap locals: org.jruby.RubyArray int
      StackMap stack:
            aload 2 /* block */
            aload 1 /* context */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 3 /* member */
            iload 4 /* i */
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            iload 4 /* i */
            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: .line 668
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 4 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            arraylength
            if_icmplt 3
        end local 4 // int i
         6: .line 672
            aload 0 /* this */
            areturn
        end local 3 // org.jruby.RubyArray member
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.RubyStruct this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 677
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 1
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            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 /* context */
            aload 0 /* this */
            ldc "each_pair"
            aload 0 /* this */
            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 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.RubyStruct this
        start local 1 // org.jruby.runtime.builtin.IRubyObject key
         0: .line 682
            aload 0 /* this */
            aload 1 /* key */
            iconst_0
            invokevirtual org.jruby.RubyStruct.arefImpl:(Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject key
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.RubyStruct this
        start local 1 // org.jruby.runtime.builtin.IRubyObject key
        start local 2 // boolean nilOnNoMember
         0: .line 686
            aload 1 /* key */
            instanceof org.jruby.RubyString
            ifne 1
            aload 1 /* key */
            instanceof org.jruby.RubySymbol
            ifeq 7
         1: .line 687
      StackMap locals:
      StackMap stack:
            aload 1 /* key */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.asJavaString:()Ljava/lang/String;
            astore 3 /* name */
        start local 3 // java.lang.String name
         2: .line 688
            aload 0 /* this */
            aload 3 /* name */
            invokevirtual org.jruby.RubyStruct.getByName:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* value */
        start local 4 // org.jruby.runtime.builtin.IRubyObject value
         3: .line 689
            aload 4 /* value */
            ifnonnull 6
         4: .line 690
            iload 2 /* nilOnNoMember */
            ifeq 5
            aload 0 /* this */
            invokevirtual org.jruby.RubyStruct.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         5: .line 691
      StackMap locals: java.lang.String org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.jruby.RubyStruct.notStructMemberError:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/exceptions/RaiseException;
            athrow
         6: .line 693
      StackMap locals:
      StackMap stack:
            aload 4 /* value */
            areturn
        end local 4 // org.jruby.runtime.builtin.IRubyObject value
        end local 3 // java.lang.String name
         7: .line 695
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            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 // boolean nilOnNoMember
        end local 1 // org.jruby.runtime.builtin.IRubyObject key
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.RubyStruct this
        start local 1 // int idx
         0: .line 699
            iload 1 /* idx */
            ifge 1
            aload 0 /* this */
            getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            arraylength
            iload 1 /* idx */
            iadd
            goto 2
      StackMap locals:
      StackMap stack:
         1: iload 1 /* idx */
      StackMap locals:
      StackMap stack: int
         2: istore 2 /* newIdx */
        start local 2 // int newIdx
         3: .line 701
            iload 2 /* newIdx */
            ifge 5
         4: .line 702
            aload 0 /* this */
            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 /* idx */
            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 /* this */
            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: .line 704
      StackMap locals: int
      StackMap stack:
            iload 2 /* newIdx */
            aload 0 /* this */
            getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            arraylength
            if_icmplt 7
         6: .line 705
            aload 0 /* this */
            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 /* idx */
            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 /* this */
            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: .line 708
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            iload 2 /* newIdx */
            aaload
            areturn
        end local 2 // int newIdx
        end local 1 // int idx
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.RubyStruct this
        start local 1 // org.jruby.runtime.builtin.IRubyObject key
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 713
            aload 1 /* key */
            instanceof org.jruby.RubyString
            ifne 1
            aload 1 /* key */
            instanceof org.jruby.RubySymbol
            ifeq 5
         1: .line 714
      StackMap locals:
      StackMap stack:
            aload 1 /* key */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.asJavaString:()Ljava/lang/String;
            astore 3 /* name */
        start local 3 // java.lang.String name
         2: .line 715
            aload 0 /* this */
            aload 3 /* name */
            aload 2 /* value */
            invokevirtual org.jruby.RubyStruct.setByName:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* val */
        start local 4 // org.jruby.runtime.builtin.IRubyObject val
         3: .line 716
            aload 4 /* val */
            ifnonnull 4
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.jruby.RubyStruct.notStructMemberError:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/exceptions/RaiseException;
            athrow
         4: .line 717
      StackMap locals: java.lang.String org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 2 /* value */
            areturn
        end local 4 // org.jruby.runtime.builtin.IRubyObject val
        end local 3 // java.lang.String name
         5: .line 720
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            aload 2 /* value */
            invokevirtual org.jruby.RubyStruct.aset:(ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // org.jruby.runtime.builtin.IRubyObject key
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.RubyStruct this
        start local 1 // int idx
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 724
            iload 1 /* idx */
            ifge 1
            aload 0 /* this */
            getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            arraylength
            iload 1 /* idx */
            iadd
            goto 2
      StackMap locals:
      StackMap stack:
         1: iload 1 /* idx */
      StackMap locals:
      StackMap stack: int
         2: istore 3 /* newIdx */
        start local 3 // int newIdx
         3: .line 726
            iload 3 /* newIdx */
            ifge 5
         4: .line 727
            aload 0 /* this */
            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 /* idx */
            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 /* this */
            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: .line 728
      StackMap locals: int
      StackMap stack:
            iload 3 /* newIdx */
            aload 0 /* this */
            getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            arraylength
            if_icmplt 7
         6: .line 729
            aload 0 /* this */
            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 /* idx */
            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 /* this */
            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: .line 732
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyStruct.modify:()V
         8: .line 733
            aload 0 /* this */
            getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            iload 3 /* newIdx */
            aload 2 /* value */
            dup_x2
            aastore
            areturn
        end local 3 // int newIdx
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // int idx
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.RubyStruct this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 739
            aload 0 /* this */
            getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            arraylength
            istore 2 /* olen */
        start local 2 // int olen
         1: .line 740
            aload 0 /* this */
            invokevirtual org.jruby.RubyStruct.getRuntime:()Lorg/jruby/Ruby;
            aload 1 /* args */
            arraylength
            invokevirtual org.jruby.Ruby.newArray:(I)Lorg/jruby/RubyArray;
            astore 3 /* result */
        start local 3 // org.jruby.RubyArray result
         2: .line 742
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 22
         4: .line 743
      StackMap locals: int org.jruby.RubyArray int
      StackMap stack:
            aload 1 /* args */
            iload 4 /* i */
            aaload
            astore 5 /* arg */
        start local 5 // org.jruby.runtime.builtin.IRubyObject arg
         5: .line 744
            aload 5 /* arg */
            instanceof org.jruby.RubyFixnum
            ifeq 8
         6: .line 745
            aload 3 /* result */
            aload 0 /* this */
            aload 5 /* arg */
            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: .line 746
            goto 21
         8: .line 750
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 5 /* arg */
            instanceof org.jruby.RubyRange
            ifeq 20
         9: .line 753
            aload 1 /* args */
            iload 4 /* i */
            aaload
            checkcast org.jruby.RubyRange
            iload 2 /* olen */
            iconst_0
            invokevirtual org.jruby.RubyRange.begLenInt:(II)[I
            dup
            astore 6 /* begLen */
        start local 6 // int[] begLen
        10: ifnonnull 12
        11: .line 754
            goto 21
        12: .line 757
      StackMap locals: int[]
      StackMap stack:
            aload 6 /* begLen */
            iconst_0
            iaload
            istore 7 /* beg */
        start local 7 // int beg
        13: .line 758
            aload 6 /* begLen */
            iconst_1
            iaload
            istore 8 /* len */
        start local 8 // int len
        14: .line 759
            iconst_0
            istore 9 /* j */
        start local 9 // int j
        15: goto 18
        16: .line 760
      StackMap locals: int int int
      StackMap stack:
            aload 3 /* result */
            aload 0 /* this */
            iload 9 /* j */
            iload 7 /* beg */
            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: .line 759
            iinc 9 /* j */ 1
      StackMap locals:
      StackMap stack:
        18: iload 9 /* j */
            iload 8 /* len */
            if_icmplt 16
        end local 9 // int j
        19: .line 762
            goto 21
        end local 8 // int len
        end local 7 // int beg
        end local 6 // int[] begLen
        20: .line 764
      StackMap locals: org.jruby.RubyStruct org.jruby.runtime.builtin.IRubyObject[] int org.jruby.RubyArray int org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 3 /* result */
            aload 0 /* this */
            aload 5 /* arg */
            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 // org.jruby.runtime.builtin.IRubyObject arg
        21: .line 742
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 4 /* i */
            aload 1 /* args */
            arraylength
            if_icmplt 4
        end local 4 // int i
        23: .line 767
            aload 3 /* result */
            areturn
        end local 3 // org.jruby.RubyArray result
        end local 2 // int olen
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.RubyStruct this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 772
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* args */
            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 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.RubyStruct this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 3 // int idx
         0: .line 776
            aload 0 /* this */
            aload 2 /* args */
            iload 3 /* idx */
            iinc 3 /* idx */ 1
            aaload
            iconst_1
            invokevirtual org.jruby.RubyStruct.arefImpl:(Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* val */
        start local 4 // org.jruby.runtime.builtin.IRubyObject val
         1: .line 777
            iload 3 /* idx */
            aload 2 /* args */
            arraylength
            if_icmpne 2
            aload 4 /* val */
            goto 3
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
         2: aload 1 /* context */
            aload 4 /* val */
            aload 2 /* args */
            iload 3 /* idx */
            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 // org.jruby.runtime.builtin.IRubyObject val
        end local 3 // int idx
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.RubyStruct struct
        start local 1 // org.jruby.runtime.marshal.MarshalStream output
         0: .line 781
            aload 1 /* output */
            aload 0 /* struct */
            invokevirtual org.jruby.runtime.marshal.MarshalStream.registerLinkTarget:(Lorg/jruby/runtime/builtin/IRubyObject;)V
         1: .line 782
            aload 1 /* output */
            bipush 83
            aload 0 /* struct */
            invokevirtual org.jruby.RubyStruct.getMetaClass:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.runtime.marshal.MarshalStream.dumpDefaultObjectHeader:(CLorg/jruby/RubyClass;)V
         2: .line 784
            aload 0 /* struct */
            invokevirtual org.jruby.RubyStruct.classOf:()Lorg/jruby/RubyClass;
            invokestatic org.jruby.RubyStruct.__member__:(Lorg/jruby/RubyClass;)Lorg/jruby/RubyArray;
            astore 2 /* member */
        start local 2 // org.jruby.RubyArray member
         3: .line 785
            aload 1 /* output */
            aload 2 /* member */
            invokevirtual org.jruby.RubyArray.size:()I
            invokevirtual org.jruby.runtime.marshal.MarshalStream.writeInt:(I)V
         4: .line 787
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 10
         6: .line 788
      StackMap locals: org.jruby.RubyArray int
      StackMap stack:
            aload 2 /* member */
            iload 3 /* i */
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubySymbol
            astore 4 /* name */
        start local 4 // org.jruby.RubySymbol name
         7: .line 789
            aload 1 /* output */
            aload 4 /* name */
            invokevirtual org.jruby.runtime.marshal.MarshalStream.dumpObject:(Lorg/jruby/runtime/builtin/IRubyObject;)V
         8: .line 790
            aload 1 /* output */
            aload 0 /* struct */
            getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            iload 3 /* i */
            aaload
            invokevirtual org.jruby.runtime.marshal.MarshalStream.dumpObject:(Lorg/jruby/runtime/builtin/IRubyObject;)V
        end local 4 // org.jruby.RubySymbol name
         9: .line 787
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 3 /* i */
            aload 2 /* member */
            invokevirtual org.jruby.RubyArray.size:()I
            if_icmplt 6
        end local 3 // int i
        11: .line 792
            return
        end local 2 // org.jruby.RubyArray member
        end local 1 // org.jruby.runtime.marshal.MarshalStream output
        end local 0 // org.jruby.RubyStruct struct
      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 // org.jruby.runtime.marshal.UnmarshalStream input
         0: .line 795
            aload 0 /* input */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.getRuntime:()Lorg/jruby/Ruby;
            astore 1 /* runtime */
        start local 1 // org.jruby.Ruby runtime
         1: .line 797
            aload 0 /* input */
            iconst_0
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.unmarshalObject:(Z)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubySymbol
            astore 2 /* className */
        start local 2 // org.jruby.RubySymbol className
         2: .line 798
            aload 1 /* runtime */
            aload 2 /* className */
            invokevirtual org.jruby.RubySymbol.asJavaString:()Ljava/lang/String;
            invokestatic org.jruby.RubyStruct.pathToClass:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubyClass;
            astore 3 /* rbClass */
        start local 3 // org.jruby.RubyClass rbClass
         3: .line 799
            aload 3 /* rbClass */
            ifnonnull 5
         4: .line 800
            aload 1 /* runtime */
            ldc "uninitialized constant %1$s"
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getStructClass:()Lorg/jruby/RubyClass;
            aload 2 /* className */
            invokevirtual org.jruby.Ruby.newNameError:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/exceptions/RaiseException;
            athrow
         5: .line 803
      StackMap locals: org.jruby.Ruby org.jruby.RubySymbol org.jruby.RubyClass
      StackMap stack:
            aload 3 /* rbClass */
            invokestatic org.jruby.RubyStruct.__member__:(Lorg/jruby/RubyClass;)Lorg/jruby/RubyArray;
            astore 4 /* member */
        start local 4 // org.jruby.RubyArray member
         6: .line 805
            aload 0 /* input */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.unmarshalInt:()I
            istore 5 /* len */
        start local 5 // int len
         7: .line 810
            new org.jruby.RubyStruct
            dup
            aload 1 /* runtime */
            aload 3 /* rbClass */
            invokespecial org.jruby.RubyStruct.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
            astore 6 /* result */
        start local 6 // org.jruby.RubyStruct result
         8: .line 811
            aload 0 /* input */
            aload 6 /* result */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.registerLinkTarget:(Lorg/jruby/runtime/builtin/IRubyObject;)V
         9: .line 813
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        10: goto 17
        11: .line 814
      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 /* input */
            iconst_0
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.unmarshalObject:(Z)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 8 /* slot */
        start local 8 // org.jruby.runtime.builtin.IRubyObject slot
        12: .line 815
            aload 4 /* member */
            iload 7 /* i */
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 9 /* elem */
        start local 9 // org.jruby.runtime.builtin.IRubyObject elem
        13: .line 816
            aload 9 /* elem */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            aload 8 /* slot */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 15
        14: .line 817
            aload 1 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "struct "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* rbClass */
            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 /* slot */
            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 /* elem */
            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: .line 819
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 6 /* result */
            iload 7 /* i */
            aload 0 /* input */
            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 // org.jruby.runtime.builtin.IRubyObject elem
        end local 8 // org.jruby.runtime.builtin.IRubyObject slot
        16: .line 813
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 7 /* i */
            iload 5 /* len */
            if_icmplt 11
        end local 7 // int i
        18: .line 821
            aload 6 /* result */
            areturn
        end local 6 // org.jruby.RubyStruct result
        end local 5 // int len
        end local 4 // org.jruby.RubyArray member
        end local 3 // org.jruby.RubyClass rbClass
        end local 2 // org.jruby.RubySymbol className
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.runtime.marshal.UnmarshalStream input
      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 // org.jruby.Ruby runtime
        start local 1 // java.lang.String path
         0: .line 827
            aload 0 /* runtime */
            aload 1 /* path */
            invokevirtual org.jruby.Ruby.getClassFromPath:(Ljava/lang/String;)Lorg/jruby/RubyModule;
            checkcast org.jruby.RubyClass
            areturn
        end local 1 // java.lang.String path
        end local 0 // org.jruby.Ruby runtime
      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 // org.jruby.RubyStruct this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 842
            aload 0 /* this */
            aload 1 /* arg */
            if_acmpne 1
            aload 0 /* this */
            areturn
         1: .line 843
      StackMap locals:
      StackMap stack:
            aload 1 /* arg */
            checkcast org.jruby.RubyStruct
            astore 2 /* original */
        start local 2 // org.jruby.RubyStruct original
         2: .line 845
            aload 0 /* this */
            invokevirtual org.jruby.RubyStruct.checkFrozen:()V
         3: .line 847
            aload 2 /* original */
            getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            iconst_0
            aload 0 /* this */
            getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            iconst_0
            aload 2 /* original */
            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: .line 849
            aload 0 /* this */
            areturn
        end local 2 // org.jruby.RubyStruct original
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg
        end local 0 // org.jruby.RubyStruct this
      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 // org.jruby.runtime.builtin.IRubyObject recv
        start local 1 // org.jruby.runtime.Block block
         0: .line 912
            aload 0 /* recv */
            aload 1 /* block */
            invokestatic org.jruby.RubyStruct.members:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyArray;
            areturn
        end local 1 // org.jruby.runtime.Block block
        end local 0 // org.jruby.runtime.builtin.IRubyObject recv
      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 // org.jruby.RubyStruct this
        start local 3 // java.util.Map$Entry entry
         0: .line 391
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast org.jruby.runtime.builtin.IRubyObject
            astore 4 /* key */
        start local 4 // org.jruby.runtime.builtin.IRubyObject key
         1: .line 392
            aload 4 /* key */
            instanceof org.jruby.RubySymbol
            ifne 3
         2: .line 393
            aload 1
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 4 /* key */
            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 /* key */
         3: .line 394
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 2
            aload 1
            aload 4 /* key */
            invokevirtual org.jruby.RubyArray.index:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* index */
        start local 5 // org.jruby.runtime.builtin.IRubyObject index
         4: .line 395
            aload 5 /* index */
            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 /* key */
            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: .line 396
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyStruct.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 5 /* index */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.getIntValue:()I
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.jruby.runtime.builtin.IRubyObject
            aastore
        end local 5 // org.jruby.runtime.builtin.IRubyObject index
        end local 4 // org.jruby.runtime.builtin.IRubyObject key
         6: .line 397
            return
        end local 3 // java.util.Map$Entry entry
        end local 0 // org.jruby.RubyStruct this
      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"})