public class org.jruby.RubyStruct$Accessor extends org.jruby.internal.runtime.methods.DynamicMethod
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.RubyStruct$Accessor
  super_class: org.jruby.internal.runtime.methods.DynamicMethod
{
  private final int index;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(org.jruby.RubyClass, java.lang.String, int);
    descriptor: (Lorg/jruby/RubyClass;Ljava/lang/String;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyStruct$Accessor this
        start local 1 // org.jruby.RubyClass newStruct
        start local 2 // java.lang.String name
        start local 3 // int index
         0: .line 856
            aload 0 /* this */
            aload 1 /* newStruct */
            getstatic org.jruby.runtime.Visibility.PUBLIC:Lorg/jruby/runtime/Visibility;
            aload 2 /* name */
            invokespecial org.jruby.internal.runtime.methods.DynamicMethod.<init>:(Lorg/jruby/RubyModule;Lorg/jruby/runtime/Visibility;Ljava/lang/String;)V
         1: .line 857
            aload 0 /* this */
            iload 3 /* index */
            putfield org.jruby.RubyStruct$Accessor.index:I
         2: .line 858
            return
        end local 3 // int index
        end local 2 // java.lang.String name
        end local 1 // org.jruby.RubyClass newStruct
        end local 0 // org.jruby.RubyStruct$Accessor this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/jruby/RubyStruct$Accessor;
            0    3     1  newStruct  Lorg/jruby/RubyClass;
            0    3     2       name  Ljava/lang/String;
            0    3     3      index  I
    MethodParameters:
           Name  Flags
      newStruct  
      name       
      index      

  public org.jruby.runtime.builtin.IRubyObject call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Ljava/lang/String;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=7
        start local 0 // org.jruby.RubyStruct$Accessor this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject self
        start local 3 // org.jruby.RubyModule clazz
        start local 4 // java.lang.String name
        start local 5 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 6 // org.jruby.runtime.Block block
         0: .line 862
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 4 /* name */
            aload 5 /* args */
            iconst_0
            iconst_0
            invokestatic org.jruby.runtime.Arity.checkArgumentCount:(Lorg/jruby/Ruby;Ljava/lang/String;[Lorg/jruby/runtime/builtin/IRubyObject;II)I
            pop
         1: .line 863
            aload 2 /* self */
            checkcast org.jruby.RubyStruct
            aload 0 /* this */
            getfield org.jruby.RubyStruct$Accessor.index:I
            invokevirtual org.jruby.RubyStruct.get:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 6 // org.jruby.runtime.Block block
        end local 5 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 4 // java.lang.String name
        end local 3 // org.jruby.RubyModule clazz
        end local 2 // org.jruby.runtime.builtin.IRubyObject self
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyStruct$Accessor this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyStruct$Accessor;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            0    2     2     self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     3    clazz  Lorg/jruby/RubyModule;
            0    2     4     name  Ljava/lang/String;
            0    2     5     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     6    block  Lorg/jruby/runtime/Block;
    MethodParameters:
         Name  Flags
      context  
      self     
      clazz    
      name     
      args     
      block    

  public org.jruby.runtime.builtin.IRubyObject call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // org.jruby.RubyStruct$Accessor this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject self
        start local 3 // org.jruby.RubyModule clazz
        start local 4 // java.lang.String name
         0: .line 868
            aload 2 /* self */
            checkcast org.jruby.RubyStruct
            aload 0 /* this */
            getfield org.jruby.RubyStruct$Accessor.index:I
            invokevirtual org.jruby.RubyStruct.get:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // java.lang.String name
        end local 3 // org.jruby.RubyModule clazz
        end local 2 // org.jruby.runtime.builtin.IRubyObject self
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyStruct$Accessor this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyStruct$Accessor;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3    clazz  Lorg/jruby/RubyModule;
            0    1     4     name  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      context  
      self     
      clazz    
      name     

  public org.jruby.internal.runtime.methods.DynamicMethod dup();
    descriptor: ()Lorg/jruby/internal/runtime/methods/DynamicMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.jruby.RubyStruct$Accessor this
         0: .line 873
            new org.jruby.RubyStruct$Accessor
            dup
            aload 0 /* this */
            invokevirtual org.jruby.RubyStruct$Accessor.getImplementationClass:()Lorg/jruby/RubyModule;
            checkcast org.jruby.RubyClass
            aload 0 /* this */
            getfield org.jruby.RubyStruct$Accessor.name:Ljava/lang/String;
            aload 0 /* this */
            getfield org.jruby.RubyStruct$Accessor.index:I
            invokespecial org.jruby.RubyStruct$Accessor.<init>:(Lorg/jruby/RubyClass;Ljava/lang/String;I)V
            areturn
        end local 0 // org.jruby.RubyStruct$Accessor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyStruct$Accessor;

  public int getIndex();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyStruct$Accessor this
         0: .line 877
            aload 0 /* this */
            getfield org.jruby.RubyStruct$Accessor.index:I
            ireturn
        end local 0 // org.jruby.RubyStruct$Accessor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyStruct$Accessor;
}
SourceFile: "RubyStruct.java"
NestHost: org.jruby.RubyStruct
InnerClasses:
  public Accessor = org.jruby.RubyStruct$Accessor of org.jruby.RubyStruct