public class org.jruby.RubyThread$Location extends org.jruby.RubyObject
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.RubyThread$Location
  super_class: org.jruby.RubyObject
{
  private final org.jruby.runtime.backtrace.RubyStackTraceElement element;
    descriptor: Lorg/jruby/runtime/backtrace/RubyStackTraceElement;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private transient org.jruby.RubyString baseLabel;
    descriptor: Lorg/jruby/RubyString;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient org.jruby.RubyString label;
    descriptor: Lorg/jruby/RubyString;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  public void <init>(org.jruby.Ruby, org.jruby.RubyClass, org.jruby.runtime.backtrace.RubyStackTraceElement);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/runtime/backtrace/RubyStackTraceElement;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.jruby.RubyThread$Location this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyClass klass
        start local 3 // org.jruby.runtime.backtrace.RubyStackTraceElement element
         0: .line 469
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* klass */
            invokespecial org.jruby.RubyObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
         1: .line 465
            aload 0 /* this */
            aconst_null
            putfield org.jruby.RubyThread$Location.baseLabel:Lorg/jruby/RubyString;
         2: .line 466
            aload 0 /* this */
            aconst_null
            putfield org.jruby.RubyThread$Location.label:Lorg/jruby/RubyString;
         3: .line 470
            aload 0 /* this */
            aload 3 /* element */
            putfield org.jruby.RubyThread$Location.element:Lorg/jruby/runtime/backtrace/RubyStackTraceElement;
         4: .line 471
            return
        end local 3 // org.jruby.runtime.backtrace.RubyStackTraceElement element
        end local 2 // org.jruby.RubyClass klass
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyThread$Location this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/RubyThread$Location;
            0    5     1  runtime  Lorg/jruby/Ruby;
            0    5     2    klass  Lorg/jruby/RubyClass;
            0    5     3  element  Lorg/jruby/runtime/backtrace/RubyStackTraceElement;
    MethodParameters:
         Name  Flags
      runtime  
      klass    
      element  

  public org.jruby.runtime.builtin.IRubyObject absolute_path(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyThread$Location this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 475
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.RubyThread$Location.element:Lorg/jruby/runtime/backtrace/RubyStackTraceElement;
            invokevirtual org.jruby.runtime.backtrace.RubyStackTraceElement.getFileName:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyThread$Location this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyThread$Location;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject base_label(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyThread$Location this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 480
            aload 0 /* this */
            getfield org.jruby.RubyThread$Location.baseLabel:Lorg/jruby/RubyString;
            ifnonnull 1
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.RubyThread$Location.element:Lorg/jruby/runtime/backtrace/RubyStackTraceElement;
            invokevirtual org.jruby.runtime.backtrace.RubyStackTraceElement.getMethodName:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
            putfield org.jruby.RubyThread$Location.baseLabel:Lorg/jruby/RubyString;
         1: .line 481
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyThread$Location.baseLabel:Lorg/jruby/RubyString;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyThread$Location this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyThread$Location;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject inspect(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyThread$Location this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 486
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyThread$Location.to_s:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.inspect:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyThread$Location this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyThread$Location;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject label(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.jruby.RubyThread$Location this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 491
            aload 0 /* this */
            getfield org.jruby.RubyThread$Location.element:Lorg/jruby/runtime/backtrace/RubyStackTraceElement;
            invokevirtual org.jruby.runtime.backtrace.RubyStackTraceElement.getFrameType:()Lorg/jruby/runtime/backtrace/FrameType;
            getstatic org.jruby.runtime.backtrace.FrameType.BLOCK:Lorg/jruby/runtime/backtrace/FrameType;
            if_acmpne 3
         1: .line 493
            aload 0 /* this */
            getfield org.jruby.RubyThread$Location.label:Lorg/jruby/RubyString;
            ifnonnull 2
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "block in "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.jruby.RubyThread$Location.element:Lorg/jruby/runtime/backtrace/RubyStackTraceElement;
            invokevirtual org.jruby.runtime.backtrace.RubyStackTraceElement.getMethodName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
            putfield org.jruby.RubyThread$Location.label:Lorg/jruby/RubyString;
         2: .line 494
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyThread$Location.label:Lorg/jruby/RubyString;
            areturn
         3: .line 497
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyThread$Location.base_label:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyThread$Location this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/RubyThread$Location;
            0    4     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject lineno(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyThread$Location this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 502
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.RubyThread$Location.element:Lorg/jruby/runtime/backtrace/RubyStackTraceElement;
            invokevirtual org.jruby.runtime.backtrace.RubyStackTraceElement.getLineNumber:()I
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyThread$Location this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyThread$Location;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject path(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyThread$Location this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 507
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.RubyThread$Location.element:Lorg/jruby/runtime/backtrace/RubyStackTraceElement;
            invokevirtual org.jruby.runtime.backtrace.RubyStackTraceElement.getFileName:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyThread$Location this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyThread$Location;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject to_s(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyThread$Location this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 512
            aload 1 /* context */
            aload 0 /* this */
            getfield org.jruby.RubyThread$Location.element:Lorg/jruby/runtime/backtrace/RubyStackTraceElement;
            invokestatic org.jruby.runtime.backtrace.RubyStackTraceElement.to_s_mri:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/backtrace/RubyStackTraceElement;)Lorg/jruby/RubyString;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyThread$Location this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyThread$Location;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  

  public static org.jruby.RubyArray newLocationArray(org.jruby.Ruby, org.jruby.runtime.backtrace.RubyStackTraceElement[]);
    descriptor: (Lorg/jruby/Ruby;[Lorg/jruby/runtime/backtrace/RubyStackTraceElement;)Lorg/jruby/RubyArray;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.runtime.backtrace.RubyStackTraceElement[] elements
         0: .line 516
            aload 0 /* runtime */
            aload 1 /* elements */
            iconst_0
            aload 1 /* elements */
            arraylength
            invokestatic org.jruby.RubyThread$Location.newLocationArray:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/backtrace/RubyStackTraceElement;II)Lorg/jruby/RubyArray;
            areturn
        end local 1 // org.jruby.runtime.backtrace.RubyStackTraceElement[] elements
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0   runtime  Lorg/jruby/Ruby;
            0    1     1  elements  [Lorg/jruby/runtime/backtrace/RubyStackTraceElement;
    MethodParameters:
          Name  Flags
      runtime   
      elements  

  public static org.jruby.RubyArray newLocationArray(org.jruby.Ruby, org.jruby.runtime.backtrace.RubyStackTraceElement[], int, int);
    descriptor: (Lorg/jruby/Ruby;[Lorg/jruby/runtime/backtrace/RubyStackTraceElement;II)Lorg/jruby/RubyArray;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=7, args_size=4
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.runtime.backtrace.RubyStackTraceElement[] elements
        start local 2 // int offset
        start local 3 // int length
         0: .line 521
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getLocation:()Lorg/jruby/RubyClass;
            astore 4 /* locationClass */
        start local 4 // org.jruby.RubyClass locationClass
         1: .line 523
            iload 3 /* length */
            anewarray org.jruby.runtime.builtin.IRubyObject
            astore 5 /* ary */
        start local 5 // org.jruby.runtime.builtin.IRubyObject[] ary
         2: .line 524
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         3: goto 6
         4: .line 525
      StackMap locals: org.jruby.RubyClass org.jruby.runtime.builtin.IRubyObject[] int
      StackMap stack:
            aload 5 /* ary */
            iload 6 /* i */
            new org.jruby.RubyThread$Location
            dup
            aload 0 /* runtime */
            aload 4 /* locationClass */
            aload 1 /* elements */
            iload 6 /* i */
            iload 2 /* offset */
            iadd
            aaload
            invokespecial org.jruby.RubyThread$Location.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/runtime/backtrace/RubyStackTraceElement;)V
            aastore
         5: .line 524
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 6 /* i */
            iload 3 /* length */
            if_icmplt 4
        end local 6 // int i
         7: .line 528
            aload 0 /* runtime */
            aload 5 /* ary */
            invokestatic org.jruby.RubyArray.newArrayNoCopy:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
        end local 5 // org.jruby.runtime.builtin.IRubyObject[] ary
        end local 4 // org.jruby.RubyClass locationClass
        end local 3 // int length
        end local 2 // int offset
        end local 1 // org.jruby.runtime.backtrace.RubyStackTraceElement[] elements
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0        runtime  Lorg/jruby/Ruby;
            0    8     1       elements  [Lorg/jruby/runtime/backtrace/RubyStackTraceElement;
            0    8     2         offset  I
            0    8     3         length  I
            1    8     4  locationClass  Lorg/jruby/RubyClass;
            2    8     5            ary  [Lorg/jruby/runtime/builtin/IRubyObject;
            3    7     6              i  I
    MethodParameters:
          Name  Flags
      runtime   
      elements  
      offset    final
      length    final
}
SourceFile: "RubyThread.java"
NestHost: org.jruby.RubyThread
InnerClasses:
  public Location = org.jruby.RubyThread$Location of org.jruby.RubyThread