public interface org.jruby.runtime.builtin.IRubyObject
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: org.jruby.runtime.builtin.IRubyObject
  super_class: java.lang.Object
{
  public static final org.jruby.runtime.builtin.IRubyObject[] NULL_ARRAY;
    descriptor: [Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 62
            iconst_0
            anewarray org.jruby.runtime.builtin.IRubyObject
            putstatic org.jruby.runtime.builtin.IRubyObject.NULL_ARRAY:[Lorg/jruby/runtime/builtin/IRubyObject;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static org.jruby.runtime.builtin.IRubyObject[] array(int);
    descriptor: (I)[Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int length
         0: .line 59
            iload 0 /* length */
            ifne 1
            getstatic org.jruby.runtime.builtin.IRubyObject.NULL_ARRAY:[Lorg/jruby/runtime/builtin/IRubyObject;
            goto 2
      StackMap locals:
      StackMap stack:
         1: iload 0 /* length */
            anewarray org.jruby.runtime.builtin.IRubyObject
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject[]
         2: areturn
        end local 0 // int length
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  length  I
    MethodParameters:
        Name  Flags
      length  

  public abstract org.jruby.runtime.builtin.IRubyObject callSuper(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      args     
      block    

  public abstract org.jruby.runtime.builtin.IRubyObject callMethod(org.jruby.runtime.ThreadContext, java.lang.String);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      context  
      name     

  public abstract org.jruby.runtime.builtin.IRubyObject callMethod(org.jruby.runtime.ThreadContext, java.lang.String, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      context  
      name     
      arg      

  public abstract org.jruby.runtime.builtin.IRubyObject callMethod(org.jruby.runtime.ThreadContext, java.lang.String, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      context  
      name     
      args     

  public abstract org.jruby.runtime.builtin.IRubyObject callMethod(org.jruby.runtime.ThreadContext, java.lang.String, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      context  
      name     
      args     
      block    

  public abstract org.jruby.runtime.builtin.IRubyObject callMethod(org.jruby.runtime.ThreadContext, int, java.lang.String);
    descriptor: (Lorg/jruby/runtime/ThreadContext;ILjava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
             Name  Flags
      context      
      methodIndex  
      name         

  public abstract org.jruby.runtime.builtin.IRubyObject callMethod(org.jruby.runtime.ThreadContext, int, java.lang.String, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;ILjava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
             Name  Flags
      context      
      methodIndex  
      name         
      arg          

  public abstract org.jruby.runtime.builtin.IRubyObject checkCallMethod(org.jruby.runtime.ThreadContext, java.lang.String);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      context  
      name     

  public abstract org.jruby.runtime.builtin.IRubyObject checkCallMethod(org.jruby.runtime.ThreadContext, org.jruby.runtime.JavaSites$CheckedSites);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/JavaSites$CheckedSites;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      context  
      sites    

  public abstract boolean isNil();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean isTrue();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean isTaint();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void setTaint(boolean);
    descriptor: (Z)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      taint  

  public abstract org.jruby.runtime.builtin.IRubyObject infectBy(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      obj   

  public abstract boolean isFrozen();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void setFrozen(boolean);
    descriptor: (Z)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      b     

  public abstract boolean isUntrusted();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void setUntrusted(boolean);
    descriptor: (Z)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      b     

  public abstract boolean isImmediate();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean isSpecialConst();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.jruby.RubyClass getMetaClass();
    descriptor: ()Lorg/jruby/RubyClass;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.jruby.RubyClass getSingletonClass();
    descriptor: ()Lorg/jruby/RubyClass;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.jruby.RubyClass getType();
    descriptor: ()Lorg/jruby/RubyClass;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean respondsTo(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      string  

  public abstract boolean respondsToMissing(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      string  

  public abstract boolean respondsToMissing(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      string  
      priv    

  public abstract org.jruby.Ruby getRuntime();
    descriptor: ()Lorg/jruby/Ruby;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.Class getJavaClass();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.String asJavaString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.jruby.RubyString asString();
    descriptor: ()Lorg/jruby/RubyString;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.jruby.RubyArray convertToArray();
    descriptor: ()Lorg/jruby/RubyArray;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.jruby.RubyHash convertToHash();
    descriptor: ()Lorg/jruby/RubyHash;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.jruby.RubyFloat convertToFloat();
    descriptor: ()Lorg/jruby/RubyFloat;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.jruby.RubyInteger convertToInteger();
    descriptor: ()Lorg/jruby/RubyInteger;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.jruby.RubyInteger convertToInteger(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/RubyInteger;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
               Name  Flags
      convertMethod  

  public abstract org.jruby.RubyString convertToString();
    descriptor: ()Lorg/jruby/RubyString;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.jruby.runtime.builtin.IRubyObject anyToString();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.jruby.runtime.builtin.IRubyObject checkStringType();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.jruby.runtime.builtin.IRubyObject checkArrayType();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract <T> T toJava(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
      Name  Flags
      type  

  public abstract org.jruby.runtime.builtin.IRubyObject dup();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.jruby.runtime.builtin.IRubyObject inspect();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.jruby.runtime.builtin.IRubyObject rbClone();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean isModule();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean isClass();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void dataWrapStruct(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      obj   

  public abstract java.lang.Object dataGetStruct();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.Object dataGetStructChecked();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public abstract org.jruby.runtime.builtin.IRubyObject id();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract 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: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      context  
      other    

  public abstract org.jruby.runtime.builtin.IRubyObject op_eqq(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: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      context  
      other    

  public abstract boolean eql(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      other  

  public abstract void addFinalizer(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      finalizer  

  public abstract void removeFinalizers();
    descriptor: ()V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean hasVariables();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract int getVariableCount();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void syncVariables(java.util.List<org.jruby.runtime.builtin.Variable<java.lang.Object>>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/util/List<Lorg/jruby/runtime/builtin/Variable<Ljava/lang/Object;>;>;)V
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
           Name  Flags
      variables  

  public abstract void syncVariables(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      source  

  public abstract java.util.List<org.jruby.runtime.builtin.Variable<java.lang.Object>> getVariableList();
    descriptor: ()Ljava/util/List;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/List<Lorg/jruby/runtime/builtin/Variable<Ljava/lang/Object;>;>;

  public abstract org.jruby.runtime.builtin.InstanceVariables getInstanceVariables();
    descriptor: ()Lorg/jruby/runtime/builtin/InstanceVariables;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.jruby.runtime.builtin.InternalVariables getInternalVariables();
    descriptor: ()Lorg/jruby/runtime/builtin/InternalVariables;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.util.List<java.lang.String> getVariableNameList();
    descriptor: ()Ljava/util/List;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  public abstract void copySpecialInstanceVariables(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      clone  

  public abstract java.lang.Object getVariable(int);
    descriptor: (I)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      index  

  public abstract void setVariable(int, java.lang.Object);
    descriptor: (ILjava/lang/Object;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      index  
      value  

  public org.jruby.runtime.builtin.IRubyObject checkStringType19();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.builtin.IRubyObject this
         0: .line 409
            aload 0 /* this */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.checkStringType:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 0 // org.jruby.runtime.builtin.IRubyObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/builtin/IRubyObject;

  public org.jruby.RubyInteger convertToInteger(int, java.lang.String);
    descriptor: (ILjava/lang/String;)Lorg/jruby/RubyInteger;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.jruby.runtime.builtin.IRubyObject this
        start local 1 // int convertMethodIndex
        start local 2 // java.lang.String convertMethod
         0: .line 419
            aload 0 /* this */
            aload 2 /* convertMethod */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:(Ljava/lang/String;)Lorg/jruby/RubyInteger;
            areturn
        end local 2 // java.lang.String convertMethod
        end local 1 // int convertMethodIndex
        end local 0 // org.jruby.runtime.builtin.IRubyObject this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    1     0                this  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     1  convertMethodIndex  I
            0    1     2       convertMethod  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                    Name  Flags
      convertMethodIndex  
      convertMethod       
}
SourceFile: "IRubyObject.java"
InnerClasses:
  public CheckedSites = org.jruby.runtime.JavaSites$CheckedSites of org.jruby.runtime.JavaSites