public class org.jruby.ir.operands.ClosureLocalVariable extends org.jruby.ir.operands.LocalVariable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.ir.operands.ClosureLocalVariable
  super_class: org.jruby.ir.operands.LocalVariable
{
  public void <init>(org.jruby.RubySymbol, int, int);
    descriptor: (Lorg/jruby/RubySymbol;II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.ir.operands.ClosureLocalVariable this
        start local 1 // org.jruby.RubySymbol name
        start local 2 // int scopeDepth
        start local 3 // int location
         0: .line 14
            aload 0 /* this */
            aload 1 /* name */
            iload 2 /* scopeDepth */
            iload 3 /* location */
            invokespecial org.jruby.ir.operands.LocalVariable.<init>:(Lorg/jruby/RubySymbol;II)V
         1: .line 15
            return
        end local 3 // int location
        end local 2 // int scopeDepth
        end local 1 // org.jruby.RubySymbol name
        end local 0 // org.jruby.ir.operands.ClosureLocalVariable this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/jruby/ir/operands/ClosureLocalVariable;
            0    2     1        name  Lorg/jruby/RubySymbol;
            0    2     2  scopeDepth  I
            0    2     3    location  I
    MethodParameters:
            Name  Flags
      name        
      scopeDepth  
      location    

  public void <init>(org.jruby.RubySymbol, int, int, boolean);
    descriptor: (Lorg/jruby/RubySymbol;IIZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.jruby.ir.operands.ClosureLocalVariable this
        start local 1 // org.jruby.RubySymbol name
        start local 2 // int scopeDepth
        start local 3 // int location
        start local 4 // boolean isOuterScopeVar
         0: .line 18
            aload 0 /* this */
            aload 1 /* name */
            iload 2 /* scopeDepth */
            iload 3 /* location */
            iload 4 /* isOuterScopeVar */
            invokespecial org.jruby.ir.operands.LocalVariable.<init>:(Lorg/jruby/RubySymbol;IIZ)V
         1: .line 19
            return
        end local 4 // boolean isOuterScopeVar
        end local 3 // int location
        end local 2 // int scopeDepth
        end local 1 // org.jruby.RubySymbol name
        end local 0 // org.jruby.ir.operands.ClosureLocalVariable this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/jruby/ir/operands/ClosureLocalVariable;
            0    2     1             name  Lorg/jruby/RubySymbol;
            0    2     2       scopeDepth  I
            0    2     3         location  I
            0    2     4  isOuterScopeVar  Z
    MethodParameters:
                 Name  Flags
      name             
      scopeDepth       
      location         
      isOuterScopeVar  

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.ir.operands.ClosureLocalVariable this
        start local 1 // java.lang.Object obj
         0: .line 23
            aload 1 /* obj */
            ifnull 1
            aload 1 /* obj */
            instanceof org.jruby.ir.operands.ClosureLocalVariable
            ifne 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
         2: .line 25
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.ir.operands.ClosureLocalVariable.hashCode:()I
            aload 1 /* obj */
            invokevirtual java.lang.Object.hashCode:()I
            if_icmpne 3
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 1 // java.lang.Object obj
        end local 0 // org.jruby.ir.operands.ClosureLocalVariable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/jruby/ir/operands/ClosureLocalVariable;
            0    4     1   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   

  public int compareTo(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.jruby.ir.operands.ClosureLocalVariable this
        start local 1 // java.lang.Object arg0
         0: .line 30
            aload 1 /* arg0 */
            instanceof org.jruby.ir.operands.ClosureLocalVariable
            ifne 1
            iconst_0
            ireturn
         1: .line 32
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.ir.operands.ClosureLocalVariable.hashCode:()I
            istore 2 /* a */
        start local 2 // int a
         2: .line 33
            aload 1 /* arg0 */
            invokevirtual java.lang.Object.hashCode:()I
            istore 3 /* b */
        start local 3 // int b
         3: .line 34
            iload 2 /* a */
            iload 3 /* b */
            if_icmpge 4
            iconst_m1
            goto 6
      StackMap locals: int int
      StackMap stack:
         4: iload 2 /* a */
            iload 3 /* b */
            if_icmpne 5
            iconst_0
            goto 6
      StackMap locals:
      StackMap stack:
         5: iconst_1
      StackMap locals:
      StackMap stack: int
         6: ireturn
        end local 3 // int b
        end local 2 // int a
        end local 1 // java.lang.Object arg0
        end local 0 // org.jruby.ir.operands.ClosureLocalVariable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/jruby/ir/operands/ClosureLocalVariable;
            0    7     1  arg0  Ljava/lang/Object;
            2    7     2     a  I
            3    7     3     b  I
    MethodParameters:
      Name  Flags
      arg0  

  public org.jruby.ir.operands.Variable clone(org.jruby.ir.transformations.inlining.SimpleCloneInfo);
    descriptor: (Lorg/jruby/ir/transformations/inlining/SimpleCloneInfo;)Lorg/jruby/ir/operands/Variable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.jruby.ir.operands.ClosureLocalVariable this
        start local 1 // org.jruby.ir.transformations.inlining.SimpleCloneInfo ii
         0: .line 40
            new org.jruby.ir.operands.ClosureLocalVariable
            dup
            aload 0 /* this */
            getfield org.jruby.ir.operands.ClosureLocalVariable.name:Lorg/jruby/RubySymbol;
            aload 0 /* this */
            getfield org.jruby.ir.operands.ClosureLocalVariable.scopeDepth:I
            aload 0 /* this */
            getfield org.jruby.ir.operands.ClosureLocalVariable.offset:I
            aload 0 /* this */
            getfield org.jruby.ir.operands.ClosureLocalVariable.isOuterScopeVar:Z
            invokespecial org.jruby.ir.operands.ClosureLocalVariable.<init>:(Lorg/jruby/RubySymbol;IIZ)V
            areturn
        end local 1 // org.jruby.ir.transformations.inlining.SimpleCloneInfo ii
        end local 0 // org.jruby.ir.operands.ClosureLocalVariable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/operands/ClosureLocalVariable;
            0    1     1    ii  Lorg/jruby/ir/transformations/inlining/SimpleCloneInfo;
    MethodParameters:
      Name  Flags
      ii    

  public org.jruby.ir.operands.LocalVariable cloneForDepth(int);
    descriptor: (I)Lorg/jruby/ir/operands/LocalVariable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.jruby.ir.operands.ClosureLocalVariable this
        start local 1 // int n
         0: .line 44
            iload 1 /* n */
            aload 0 /* this */
            getfield org.jruby.ir.operands.ClosureLocalVariable.scopeDepth:I
            if_icmple 1
            new org.jruby.ir.operands.ClosureLocalVariable
            dup
            aload 0 /* this */
            getfield org.jruby.ir.operands.ClosureLocalVariable.name:Lorg/jruby/RubySymbol;
            iload 1 /* n */
            aload 0 /* this */
            getfield org.jruby.ir.operands.ClosureLocalVariable.offset:I
            invokespecial org.jruby.ir.operands.ClosureLocalVariable.<init>:(Lorg/jruby/RubySymbol;II)V
            goto 2
      StackMap locals:
      StackMap stack:
         1: new org.jruby.ir.operands.ClosureLocalVariable
            dup
            aload 0 /* this */
            getfield org.jruby.ir.operands.ClosureLocalVariable.name:Lorg/jruby/RubySymbol;
            iload 1 /* n */
            aload 0 /* this */
            getfield org.jruby.ir.operands.ClosureLocalVariable.offset:I
            aload 0 /* this */
            getfield org.jruby.ir.operands.ClosureLocalVariable.isOuterScopeVar:Z
            invokespecial org.jruby.ir.operands.ClosureLocalVariable.<init>:(Lorg/jruby/RubySymbol;IIZ)V
      StackMap locals:
      StackMap stack: org.jruby.ir.operands.ClosureLocalVariable
         2: areturn
        end local 1 // int n
        end local 0 // org.jruby.ir.operands.ClosureLocalVariable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/ir/operands/ClosureLocalVariable;
            0    3     1     n  I
    MethodParameters:
      Name  Flags
      n     

  public void visit(org.jruby.ir.IRVisitor);
    descriptor: (Lorg/jruby/ir/IRVisitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.ir.operands.ClosureLocalVariable this
        start local 1 // org.jruby.ir.IRVisitor visitor
         0: .line 49
            aload 1 /* visitor */
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRVisitor.ClosureLocalVariable:(Lorg/jruby/ir/operands/ClosureLocalVariable;)V
         1: .line 50
            return
        end local 1 // org.jruby.ir.IRVisitor visitor
        end local 0 // org.jruby.ir.operands.ClosureLocalVariable this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/ir/operands/ClosureLocalVariable;
            0    2     1  visitor  Lorg/jruby/ir/IRVisitor;
    MethodParameters:
         Name  Flags
      visitor  

  public void encode(org.jruby.ir.persistence.IRWriterEncoder);
    descriptor: (Lorg/jruby/ir/persistence/IRWriterEncoder;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.ir.operands.ClosureLocalVariable this
        start local 1 // org.jruby.ir.persistence.IRWriterEncoder e
         0: .line 54
            aload 0 /* this */
            aload 1 /* e */
            invokespecial org.jruby.ir.operands.LocalVariable.encode:(Lorg/jruby/ir/persistence/IRWriterEncoder;)V
         1: .line 55
            return
        end local 1 // org.jruby.ir.persistence.IRWriterEncoder e
        end local 0 // org.jruby.ir.operands.ClosureLocalVariable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/ir/operands/ClosureLocalVariable;
            0    2     1     e  Lorg/jruby/ir/persistence/IRWriterEncoder;
    MethodParameters:
      Name  Flags
      e     

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.ir.operands.ClosureLocalVariable this
         0: .line 59
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* this */
            getfield org.jruby.ir.operands.ClosureLocalVariable.name:Lorg/jruby/RubySymbol;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.jruby.ir.operands.ClosureLocalVariable.scopeDepth:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.jruby.ir.operands.ClosureLocalVariable.offset:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ":local="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.jruby.ir.operands.ClosureLocalVariable.isOuterScopeVar:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
         1: iconst_1
      StackMap locals: org.jruby.ir.operands.ClosureLocalVariable
      StackMap stack: java.lang.StringBuilder int
         2: invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.jruby.ir.operands.ClosureLocalVariable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/ir/operands/ClosureLocalVariable;

  public org.jruby.ir.operands.Operand cloneForDepth(int);
    descriptor: (I)Lorg/jruby/ir/operands/Operand;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            iload 1
            invokevirtual org.jruby.ir.operands.ClosureLocalVariable.cloneForDepth:(I)Lorg/jruby/ir/operands/LocalVariable;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "ClosureLocalVariable.java"