public class org.jruby.ir.persistence.IRReader implements org.jruby.ir.persistence.IRPersistenceValues
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.ir.persistence.IRReader
  super_class: java.lang.Object
{
  private static volatile int[] $SWITCH_TABLE$org$jruby$ir$IRScopeType;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ir.persistence.IRReader this
         0: .line 34
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.jruby.ir.persistence.IRReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/persistence/IRReader;

  public static org.jruby.ir.IRScope load(org.jruby.ir.IRManager, org.jruby.ir.persistence.IRReaderDecoder);
    descriptor: (Lorg/jruby/ir/IRManager;Lorg/jruby/ir/persistence/IRReaderDecoder;)Lorg/jruby/ir/IRScope;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=12, args_size=2
        start local 0 // org.jruby.ir.IRManager manager
        start local 1 // org.jruby.ir.persistence.IRReaderDecoder file
         0: .line 36
            aload 1 /* file */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeIntRaw:()I
            istore 2 /* version */
        start local 2 // int version
         1: .line 38
            iload 2 /* version */
            iconst_1
            if_icmpeq 5
         2: .line 39
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Trying to read incompatible persistence format (version found: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         3: .line 40
            iload 2 /* version */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ", version expected: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iconst_1
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 39
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 42
      StackMap locals: int
      StackMap stack:
            aload 1 /* file */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeIntRaw:()I
            istore 3 /* headersOffset */
        start local 3 // int headersOffset
         6: .line 43
            getstatic org.jruby.RubyInstanceConfig.IR_READING_DEBUG:Z
            ifeq 7
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "header_offset = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* headersOffset */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         7: .line 44
      StackMap locals: int
      StackMap stack:
            aload 1 /* file */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeIntRaw:()I
            pop
         8: .line 45
            getstatic org.jruby.RubyInstanceConfig.IR_READING_DEBUG:Z
            ifeq 9
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "pool_offset = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* headersOffset */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         9: .line 47
      StackMap locals:
      StackMap stack:
            aload 1 /* file */
            iload 3 /* headersOffset */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.seek:(I)V
        10: .line 48
            aload 1 /* file */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeInt:()I
            istore 4 /* scopesToRead */
        start local 4 // int scopesToRead
        11: .line 49
            getstatic org.jruby.RubyInstanceConfig.IR_READING_DEBUG:Z
            ifeq 12
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "scopes to read = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* scopesToRead */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        12: .line 51
      StackMap locals: int
      StackMap stack:
            iload 4 /* scopesToRead */
            anewarray org.jruby.util.KeyValuePair
            astore 5 /* scopes */
        start local 5 // org.jruby.util.KeyValuePair[] scopes
        13: .line 52
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        14: goto 17
        15: .line 53
      StackMap locals: org.jruby.util.KeyValuePair[] int
      StackMap stack:
            aload 5 /* scopes */
            iload 6 /* i */
            aload 0 /* manager */
            aload 1 /* file */
            invokestatic org.jruby.ir.persistence.IRReader.decodeScopeHeader:(Lorg/jruby/ir/IRManager;Lorg/jruby/ir/persistence/IRReaderDecoder;)Lorg/jruby/util/KeyValuePair;
            aastore
        16: .line 52
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 6 /* i */
            iload 4 /* scopesToRead */
            if_icmplt 15
        end local 6 // int i
        18: .line 57
            aload 5 /* scopes */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 24
      StackMap locals: org.jruby.ir.IRManager org.jruby.ir.persistence.IRReaderDecoder int int int org.jruby.util.KeyValuePair[] top int int org.jruby.util.KeyValuePair[]
      StackMap stack:
        19: aload 9
            iload 7
            aaload
            astore 6 /* pair */
        start local 6 // org.jruby.util.KeyValuePair pair
        20: .line 58
            aload 6 /* pair */
            invokevirtual org.jruby.util.KeyValuePair.getKey:()Ljava/lang/Object;
            checkcast org.jruby.ir.IRScope
            astore 10 /* scope */
        start local 10 // org.jruby.ir.IRScope scope
        21: .line 59
            aload 6 /* pair */
            invokevirtual org.jruby.util.KeyValuePair.getValue:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 11 /* instructionsOffset */
        start local 11 // int instructionsOffset
        22: .line 61
            aload 10 /* scope */
            new org.jruby.ir.persistence.IRReader$1
            dup
            aload 1 /* file */
            aload 10 /* scope */
            iload 11 /* instructionsOffset */
            invokespecial org.jruby.ir.persistence.IRReader$1.<init>:(Lorg/jruby/ir/persistence/IRReaderDecoder;Lorg/jruby/ir/IRScope;I)V
            invokevirtual org.jruby.ir.IRScope.allocateInterpreterContext:(Ljava/util/concurrent/Callable;)Lorg/jruby/ir/interpreter/InterpreterContext;
            pop
        end local 11 // int instructionsOffset
        end local 10 // org.jruby.ir.IRScope scope
        end local 6 // org.jruby.util.KeyValuePair pair
        23: .line 57
            iinc 7 1
      StackMap locals:
      StackMap stack:
        24: iload 7
            iload 8
            if_icmplt 19
        25: .line 70
            aload 5 /* scopes */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 30
      StackMap locals:
      StackMap stack:
        26: aload 9
            iload 7
            aaload
            astore 6 /* pair */
        start local 6 // org.jruby.util.KeyValuePair pair
        27: .line 71
            aload 6 /* pair */
            invokevirtual org.jruby.util.KeyValuePair.getKey:()Ljava/lang/Object;
            checkcast org.jruby.ir.IRScope
            astore 10 /* scope */
        start local 10 // org.jruby.ir.IRScope scope
        28: .line 72
            aload 10 /* scope */
            invokevirtual org.jruby.ir.IRScope.computeScopeFlags:()V
        end local 10 // org.jruby.ir.IRScope scope
        end local 6 // org.jruby.util.KeyValuePair pair
        29: .line 70
            iinc 7 1
      StackMap locals:
      StackMap stack:
        30: iload 7
            iload 8
            if_icmplt 26
        31: .line 75
            aload 5 /* scopes */
            iconst_0
            aaload
            invokevirtual org.jruby.util.KeyValuePair.getKey:()Ljava/lang/Object;
            checkcast org.jruby.ir.IRScope
            areturn
        end local 5 // org.jruby.util.KeyValuePair[] scopes
        end local 4 // int scopesToRead
        end local 3 // int headersOffset
        end local 2 // int version
        end local 1 // org.jruby.ir.persistence.IRReaderDecoder file
        end local 0 // org.jruby.ir.IRManager manager
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   32     0             manager  Lorg/jruby/ir/IRManager;
            0   32     1                file  Lorg/jruby/ir/persistence/IRReaderDecoder;
            1   32     2             version  I
            6   32     3       headersOffset  I
           11   32     4        scopesToRead  I
           13   32     5              scopes  [Lorg/jruby/util/KeyValuePair;
           14   18     6                   i  I
           20   23     6                pair  Lorg/jruby/util/KeyValuePair<Lorg/jruby/ir/IRScope;Ljava/lang/Integer;>;
           21   23    10               scope  Lorg/jruby/ir/IRScope;
           22   23    11  instructionsOffset  I
           27   29     6                pair  Lorg/jruby/util/KeyValuePair<Lorg/jruby/ir/IRScope;Ljava/lang/Integer;>;
           28   29    10               scope  Lorg/jruby/ir/IRScope;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      manager  
      file     final

  private static org.jruby.util.KeyValuePair<org.jruby.ir.IRScope, java.lang.Integer> decodeScopeHeader(org.jruby.ir.IRManager, org.jruby.ir.persistence.IRReaderDecoder);
    descriptor: (Lorg/jruby/ir/IRManager;Lorg/jruby/ir/persistence/IRReaderDecoder;)Lorg/jruby/util/KeyValuePair;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=15, args_size=2
        start local 0 // org.jruby.ir.IRManager manager
        start local 1 // org.jruby.ir.persistence.IRReaderDecoder decoder
         0: .line 79
            getstatic org.jruby.RubyInstanceConfig.IR_READING_DEBUG:Z
            ifeq 1
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "DECODING SCOPE HEADER"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 80
      StackMap locals:
      StackMap stack:
            aload 1 /* decoder */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeIRScopeType:()Lorg/jruby/ir/IRScopeType;
            astore 2 /* type */
        start local 2 // org.jruby.ir.IRScopeType type
         2: .line 81
            aload 1 /* decoder */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeInt:()I
            istore 3 /* line */
        start local 3 // int line
         3: .line 82
            aload 1 /* decoder */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeInt:()I
            istore 4 /* tempVarsCount */
        start local 4 // int tempVarsCount
         4: .line 83
            aload 1 /* decoder */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeInt:()I
            istore 5 /* nextLabelInt */
        start local 5 // int nextLabelInt
         5: .line 85
            iconst_0
            istore 6 /* isEND */
        start local 6 // boolean isEND
         6: .line 86
            aload 2 /* type */
            getstatic org.jruby.ir.IRScopeType.CLOSURE:Lorg/jruby/ir/IRScopeType;
            if_acmpne 8
         7: .line 87
            aload 1 /* decoder */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeBoolean:()Z
            istore 6 /* isEND */
         8: .line 91
      StackMap locals: org.jruby.ir.IRManager org.jruby.ir.persistence.IRReaderDecoder org.jruby.ir.IRScopeType int int int int
      StackMap stack:
            aload 2 /* type */
            getstatic org.jruby.ir.IRScopeType.CLOSURE:Lorg/jruby/ir/IRScopeType;
            if_acmpeq 9
            aload 2 /* type */
            getstatic org.jruby.ir.IRScopeType.FOR:Lorg/jruby/ir/IRScopeType;
            if_acmpne 11
         9: .line 92
      StackMap locals:
      StackMap stack:
            aload 1 /* decoder */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeLong:()J
            invokestatic org.jruby.runtime.Signature.decode:(J)Lorg/jruby/runtime/Signature;
            astore 7 /* signature */
        start local 7 // org.jruby.runtime.Signature signature
        10: .line 93
            goto 12
        end local 7 // org.jruby.runtime.Signature signature
        11: .line 94
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.runtime.Signature.OPTIONAL:Lorg/jruby/runtime/Signature;
            astore 7 /* signature */
        start local 7 // org.jruby.runtime.Signature signature
        12: .line 99
      StackMap locals: org.jruby.runtime.Signature
      StackMap stack:
            aconst_null
            astore 8 /* file */
        start local 8 // java.lang.String file
        13: .line 100
            aconst_null
            astore 9 /* name */
        start local 9 // org.jruby.util.ByteList name
        14: .line 101
            aconst_null
            astore 10 /* parent */
        start local 10 // org.jruby.ir.IRScope parent
        15: .line 102
            aload 2 /* type */
            getstatic org.jruby.ir.IRScopeType.SCRIPT_BODY:Lorg/jruby/ir/IRScopeType;
            if_acmpne 18
        16: .line 103
            aload 1 /* decoder */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeString:()Ljava/lang/String;
            astore 8 /* file */
        17: .line 104
            goto 22
        18: .line 105
      StackMap locals: java.lang.String org.jruby.util.ByteList org.jruby.ir.IRScope
      StackMap stack:
            aload 1 /* decoder */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeByteList:()Lorg/jruby/util/ByteList;
            astore 9 /* name */
        19: .line 106
            aload 2 /* type */
            getstatic org.jruby.ir.IRScopeType.SCRIPT_BODY:Lorg/jruby/ir/IRScopeType;
            if_acmpeq 20
            aload 1 /* decoder */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeScope:()Lorg/jruby/ir/IRScope;
            goto 21
      StackMap locals:
      StackMap stack:
        20: aconst_null
      StackMap locals:
      StackMap stack: org.jruby.ir.IRScope
        21: astore 10 /* parent */
        22: .line 110
      StackMap locals:
      StackMap stack:
            aload 10 /* parent */
            ifnonnull 23
            aconst_null
            goto 24
      StackMap locals:
      StackMap stack:
        23: aload 10 /* parent */
            invokevirtual org.jruby.ir.IRScope.getStaticScope:()Lorg/jruby/parser/StaticScope;
      StackMap locals:
      StackMap stack: org.jruby.parser.StaticScope
        24: astore 11 /* parentScope */
        start local 11 // org.jruby.parser.StaticScope parentScope
        25: .line 113
            aload 1 /* decoder */
            aload 11 /* parentScope */
            invokestatic org.jruby.ir.persistence.IRReader.decodeStaticScope:(Lorg/jruby/ir/persistence/IRReaderDecoder;Lorg/jruby/parser/StaticScope;)Lorg/jruby/parser/StaticScope;
            astore 12 /* staticScope */
        start local 12 // org.jruby.parser.StaticScope staticScope
        26: .line 114
            aload 0 /* manager */
            aload 2 /* type */
            aload 9 /* name */
            aload 8 /* file */
            iload 3 /* line */
            aload 10 /* parent */
            aload 7 /* signature */
            aload 12 /* staticScope */
            invokestatic org.jruby.ir.persistence.IRReader.createScope:(Lorg/jruby/ir/IRManager;Lorg/jruby/ir/IRScopeType;Lorg/jruby/util/ByteList;Ljava/lang/String;ILorg/jruby/ir/IRScope;Lorg/jruby/runtime/Signature;Lorg/jruby/parser/StaticScope;)Lorg/jruby/ir/IRScope;
            astore 13 /* scope */
        start local 13 // org.jruby.ir.IRScope scope
        27: .line 116
            aload 13 /* scope */
            instanceof org.jruby.ir.IRClosure
            ifeq 29
            iload 6 /* isEND */
            ifeq 29
        28: .line 117
            aload 13 /* scope */
            checkcast org.jruby.ir.IRClosure
            invokevirtual org.jruby.ir.IRClosure.setIsEND:()V
        29: .line 120
      StackMap locals: org.jruby.parser.StaticScope org.jruby.parser.StaticScope org.jruby.ir.IRScope
      StackMap stack:
            aload 13 /* scope */
            iload 4 /* tempVarsCount */
            invokevirtual org.jruby.ir.IRScope.setTemporaryVariableCount:(I)V
        30: .line 121
            aload 13 /* scope */
            iload 5 /* nextLabelInt */
            invokevirtual org.jruby.ir.IRScope.setNextLabelIndex:(I)V
        31: .line 125
            aload 13 /* scope */
            aload 1 /* decoder */
            aload 13 /* scope */
            invokestatic org.jruby.ir.persistence.IRReader.decodeScopeLocalVariables:(Lorg/jruby/ir/persistence/IRReaderDecoder;Lorg/jruby/ir/IRScope;)Ljava/util/Map;
            invokevirtual org.jruby.ir.IRScope.setLocalVariables:(Ljava/util/Map;)V
        32: .line 127
            aload 1 /* decoder */
            aload 13 /* scope */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.addScope:(Lorg/jruby/ir/IRScope;)V
        33: .line 129
            aload 1 /* decoder */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeInt:()I
            istore 14 /* instructionsOffset */
        start local 14 // int instructionsOffset
        34: .line 131
            new org.jruby.util.KeyValuePair
            dup
            aload 13 /* scope */
            iload 14 /* instructionsOffset */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokespecial org.jruby.util.KeyValuePair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
            areturn
        end local 14 // int instructionsOffset
        end local 13 // org.jruby.ir.IRScope scope
        end local 12 // org.jruby.parser.StaticScope staticScope
        end local 11 // org.jruby.parser.StaticScope parentScope
        end local 10 // org.jruby.ir.IRScope parent
        end local 9 // org.jruby.util.ByteList name
        end local 8 // java.lang.String file
        end local 7 // org.jruby.runtime.Signature signature
        end local 6 // boolean isEND
        end local 5 // int nextLabelInt
        end local 4 // int tempVarsCount
        end local 3 // int line
        end local 2 // org.jruby.ir.IRScopeType type
        end local 1 // org.jruby.ir.persistence.IRReaderDecoder decoder
        end local 0 // org.jruby.ir.IRManager manager
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   35     0             manager  Lorg/jruby/ir/IRManager;
            0   35     1             decoder  Lorg/jruby/ir/persistence/IRReaderDecoder;
            2   35     2                type  Lorg/jruby/ir/IRScopeType;
            3   35     3                line  I
            4   35     4       tempVarsCount  I
            5   35     5        nextLabelInt  I
            6   35     6               isEND  Z
           10   11     7           signature  Lorg/jruby/runtime/Signature;
           12   35     7           signature  Lorg/jruby/runtime/Signature;
           13   35     8                file  Ljava/lang/String;
           14   35     9                name  Lorg/jruby/util/ByteList;
           15   35    10              parent  Lorg/jruby/ir/IRScope;
           25   35    11         parentScope  Lorg/jruby/parser/StaticScope;
           26   35    12         staticScope  Lorg/jruby/parser/StaticScope;
           27   35    13               scope  Lorg/jruby/ir/IRScope;
           34   35    14  instructionsOffset  I
    Signature: (Lorg/jruby/ir/IRManager;Lorg/jruby/ir/persistence/IRReaderDecoder;)Lorg/jruby/util/KeyValuePair<Lorg/jruby/ir/IRScope;Ljava/lang/Integer;>;
    MethodParameters:
         Name  Flags
      manager  
      decoder  

  private static java.util.Map<org.jruby.RubySymbol, org.jruby.ir.operands.LocalVariable> decodeScopeLocalVariables(org.jruby.ir.persistence.IRReaderDecoder, org.jruby.ir.IRScope);
    descriptor: (Lorg/jruby/ir/persistence/IRReaderDecoder;Lorg/jruby/ir/IRScope;)Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=7, args_size=2
        start local 0 // org.jruby.ir.persistence.IRReaderDecoder decoder
        start local 1 // org.jruby.ir.IRScope scope
         0: .line 135
            aload 0 /* decoder */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeInt:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 136
            new java.util.HashMap
            dup
            iload 2 /* size */
            invokespecial java.util.HashMap.<init>:(I)V
            astore 3 /* localVariables */
        start local 3 // java.util.Map localVariables
         2: .line 137
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 11
         4: .line 138
      StackMap locals: int java.util.Map int
      StackMap stack:
            aload 1 /* scope */
            invokevirtual org.jruby.ir.IRScope.getManager:()Lorg/jruby/ir/IRManager;
            invokevirtual org.jruby.ir.IRManager.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* decoder */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeByteList:()Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.Ruby.newSymbol:(Lorg/jruby/util/ByteList;)Lorg/jruby/RubySymbol;
            astore 5 /* name */
        start local 5 // org.jruby.RubySymbol name
         5: .line 139
            aload 0 /* decoder */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeInt:()I
            istore 6 /* offset */
        start local 6 // int offset
         6: .line 141
            aload 3 /* localVariables */
            aload 5 /* name */
            aload 1 /* scope */
            instanceof org.jruby.ir.IRClosure
            ifeq 8
         7: .line 143
            new org.jruby.ir.operands.ClosureLocalVariable
            dup
            aload 5 /* name */
            iconst_0
            iload 6 /* offset */
            invokespecial org.jruby.ir.operands.ClosureLocalVariable.<init>:(Lorg/jruby/RubySymbol;II)V
            goto 9
      StackMap locals: org.jruby.ir.persistence.IRReaderDecoder org.jruby.ir.IRScope int java.util.Map int org.jruby.RubySymbol int
      StackMap stack: java.util.Map org.jruby.RubySymbol
         8: new org.jruby.ir.operands.LocalVariable
            dup
            aload 5 /* name */
            iconst_0
            iload 6 /* offset */
            invokespecial org.jruby.ir.operands.LocalVariable.<init>:(Lorg/jruby/RubySymbol;II)V
         9: .line 141
      StackMap locals: org.jruby.ir.persistence.IRReaderDecoder org.jruby.ir.IRScope int java.util.Map int org.jruby.RubySymbol int
      StackMap stack: java.util.Map org.jruby.RubySymbol org.jruby.ir.operands.LocalVariable
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // int offset
        end local 5 // org.jruby.RubySymbol name
        10: .line 137
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 4 /* i */
            iload 2 /* size */
            if_icmplt 4
        end local 4 // int i
        12: .line 146
            aload 3 /* localVariables */
            areturn
        end local 3 // java.util.Map localVariables
        end local 2 // int size
        end local 1 // org.jruby.ir.IRScope scope
        end local 0 // org.jruby.ir.persistence.IRReaderDecoder decoder
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0         decoder  Lorg/jruby/ir/persistence/IRReaderDecoder;
            0   13     1           scope  Lorg/jruby/ir/IRScope;
            1   13     2            size  I
            2   13     3  localVariables  Ljava/util/Map<Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/LocalVariable;>;
            3   12     4               i  I
            5   10     5            name  Lorg/jruby/RubySymbol;
            6   10     6          offset  I
    Signature: (Lorg/jruby/ir/persistence/IRReaderDecoder;Lorg/jruby/ir/IRScope;)Ljava/util/Map<Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/LocalVariable;>;
    MethodParameters:
         Name  Flags
      decoder  
      scope    

  private static org.jruby.parser.StaticScope decodeStaticScope(org.jruby.ir.persistence.IRReaderDecoder, org.jruby.parser.StaticScope);
    descriptor: (Lorg/jruby/ir/persistence/IRReaderDecoder;Lorg/jruby/parser/StaticScope;)Lorg/jruby/parser/StaticScope;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.jruby.ir.persistence.IRReaderDecoder decoder
        start local 1 // org.jruby.parser.StaticScope parentScope
         0: .line 150
            aload 1 /* parentScope */
            aload 0 /* decoder */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeStaticScopeType:()Lorg/jruby/parser/StaticScope$Type;
            aload 0 /* decoder */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeStringArray:()[Ljava/lang/String;
            aload 0 /* decoder */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeInt:()I
            invokestatic org.jruby.parser.StaticScopeFactory.newStaticScope:(Lorg/jruby/parser/StaticScope;Lorg/jruby/parser/StaticScope$Type;[Ljava/lang/String;I)Lorg/jruby/parser/StaticScope;
            astore 2 /* scope */
        start local 2 // org.jruby.parser.StaticScope scope
         1: .line 152
            aload 2 /* scope */
            aload 0 /* decoder */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeSignature:()Lorg/jruby/runtime/Signature;
            invokevirtual org.jruby.parser.StaticScope.setSignature:(Lorg/jruby/runtime/Signature;)V
         2: .line 154
            aload 2 /* scope */
            areturn
        end local 2 // org.jruby.parser.StaticScope scope
        end local 1 // org.jruby.parser.StaticScope parentScope
        end local 0 // org.jruby.ir.persistence.IRReaderDecoder decoder
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0      decoder  Lorg/jruby/ir/persistence/IRReaderDecoder;
            0    3     1  parentScope  Lorg/jruby/parser/StaticScope;
            1    3     2        scope  Lorg/jruby/parser/StaticScope;
    MethodParameters:
             Name  Flags
      decoder      
      parentScope  

  public static org.jruby.ir.IRScope createScope(org.jruby.ir.IRManager, org.jruby.ir.IRScopeType, org.jruby.util.ByteList, java.lang.String, int, org.jruby.ir.IRScope, org.jruby.runtime.Signature, org.jruby.parser.StaticScope);
    descriptor: (Lorg/jruby/ir/IRManager;Lorg/jruby/ir/IRScopeType;Lorg/jruby/util/ByteList;Ljava/lang/String;ILorg/jruby/ir/IRScope;Lorg/jruby/runtime/Signature;Lorg/jruby/parser/StaticScope;)Lorg/jruby/ir/IRScope;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=10, locals=8, args_size=8
        start local 0 // org.jruby.ir.IRManager manager
        start local 1 // org.jruby.ir.IRScopeType type
        start local 2 // org.jruby.util.ByteList byteName
        start local 3 // java.lang.String file
        start local 4 // int line
        start local 5 // org.jruby.ir.IRScope lexicalParent
        start local 6 // org.jruby.runtime.Signature signature
        start local 7 // org.jruby.parser.StaticScope staticScope
         0: .line 159
            aload 0 /* manager */
            invokevirtual org.jruby.ir.IRManager.getRuntime:()Lorg/jruby/Ruby;
            pop
         1: .line 161
            invokestatic org.jruby.ir.persistence.IRReader.$SWITCH_TABLE$org$jruby$ir$IRScopeType:()[I
            aload 1 /* type */
            invokevirtual org.jruby.ir.IRScopeType.ordinal:()I
            iaload
            tableswitch { // 1 - 9
                    1: 9
                    2: 10
                    3: 4
                    4: 5
                    5: 6
                    6: 2
                    7: 3
                    8: 7
                    9: 8
              default: 11
          }
         2: .line 164
      StackMap locals:
      StackMap stack:
            new org.jruby.ir.IRClassBody
            dup
            aload 0 /* manager */
            aload 5 /* lexicalParent */
            aload 2 /* byteName */
            iload 4 /* line */
            aload 7 /* staticScope */
            iconst_0
            invokespecial org.jruby.ir.IRClassBody.<init>:(Lorg/jruby/ir/IRManager;Lorg/jruby/ir/IRScope;Lorg/jruby/util/ByteList;ILorg/jruby/parser/StaticScope;Z)V
            areturn
         3: .line 166
      StackMap locals:
      StackMap stack:
            new org.jruby.ir.IRMetaClassBody
            dup
            aload 0 /* manager */
            aload 5 /* lexicalParent */
            aload 0 /* manager */
            invokevirtual org.jruby.ir.IRManager.getMetaClassName:()Lorg/jruby/RubySymbol;
            invokevirtual org.jruby.RubySymbol.getBytes:()Lorg/jruby/util/ByteList;
            iload 4 /* line */
            aload 7 /* staticScope */
            invokespecial org.jruby.ir.IRMetaClassBody.<init>:(Lorg/jruby/ir/IRManager;Lorg/jruby/ir/IRScope;Lorg/jruby/util/ByteList;ILorg/jruby/parser/StaticScope;)V
            areturn
         4: .line 168
      StackMap locals:
      StackMap stack:
            new org.jruby.ir.IRMethod
            dup
            aload 0 /* manager */
            aload 5 /* lexicalParent */
            aconst_null
            aload 2 /* byteName */
            iconst_1
            iload 4 /* line */
            aload 7 /* staticScope */
            iconst_0
            invokespecial org.jruby.ir.IRMethod.<init>:(Lorg/jruby/ir/IRManager;Lorg/jruby/ir/IRScope;Lorg/jruby/ast/DefNode;Lorg/jruby/util/ByteList;ZILorg/jruby/parser/StaticScope;Z)V
            areturn
         5: .line 170
      StackMap locals:
      StackMap stack:
            new org.jruby.ir.IRMethod
            dup
            aload 0 /* manager */
            aload 5 /* lexicalParent */
            aconst_null
            aload 2 /* byteName */
            iconst_0
            iload 4 /* line */
            aload 7 /* staticScope */
            iconst_0
            invokespecial org.jruby.ir.IRMethod.<init>:(Lorg/jruby/ir/IRManager;Lorg/jruby/ir/IRScope;Lorg/jruby/ast/DefNode;Lorg/jruby/util/ByteList;ZILorg/jruby/parser/StaticScope;Z)V
            areturn
         6: .line 173
      StackMap locals:
      StackMap stack:
            new org.jruby.ir.IRModuleBody
            dup
            aload 0 /* manager */
            aload 5 /* lexicalParent */
            aload 2 /* byteName */
            iload 4 /* line */
            aload 7 /* staticScope */
            iconst_0
            invokespecial org.jruby.ir.IRModuleBody.<init>:(Lorg/jruby/ir/IRManager;Lorg/jruby/ir/IRScope;Lorg/jruby/util/ByteList;ILorg/jruby/parser/StaticScope;Z)V
            areturn
         7: .line 175
      StackMap locals:
      StackMap stack:
            new org.jruby.ir.IRScriptBody
            dup
            aload 0 /* manager */
            aload 3 /* file */
            aload 7 /* staticScope */
            invokespecial org.jruby.ir.IRScriptBody.<init>:(Lorg/jruby/ir/IRManager;Ljava/lang/String;Lorg/jruby/parser/StaticScope;)V
            areturn
         8: .line 177
      StackMap locals:
      StackMap stack:
            new org.jruby.ir.IRFor
            dup
            aload 0 /* manager */
            aload 5 /* lexicalParent */
            iload 4 /* line */
            aload 7 /* staticScope */
            aload 6 /* signature */
            invokespecial org.jruby.ir.IRFor.<init>:(Lorg/jruby/ir/IRManager;Lorg/jruby/ir/IRScope;ILorg/jruby/parser/StaticScope;Lorg/jruby/runtime/Signature;)V
            areturn
         9: .line 179
      StackMap locals:
      StackMap stack:
            new org.jruby.ir.IRClosure
            dup
            aload 0 /* manager */
            aload 5 /* lexicalParent */
            iload 4 /* line */
            aload 7 /* staticScope */
            aload 6 /* signature */
            invokespecial org.jruby.ir.IRClosure.<init>:(Lorg/jruby/ir/IRManager;Lorg/jruby/ir/IRScope;ILorg/jruby/parser/StaticScope;Lorg/jruby/runtime/Signature;)V
            areturn
        10: .line 182
      StackMap locals:
      StackMap stack:
            new org.jruby.ir.IREvalScript
            dup
            aload 0 /* manager */
            aload 5 /* lexicalParent */
            aload 5 /* lexicalParent */
            invokevirtual org.jruby.ir.IRScope.getFileName:()Ljava/lang/String;
            iload 4 /* line */
            aload 7 /* staticScope */
            getstatic org.jruby.EvalType.NONE:Lorg/jruby/EvalType;
            invokespecial org.jruby.ir.IREvalScript.<init>:(Lorg/jruby/ir/IRManager;Lorg/jruby/ir/IRScope;Ljava/lang/String;ILorg/jruby/parser/StaticScope;Lorg/jruby/EvalType;)V
            areturn
        11: .line 185
      StackMap locals:
      StackMap stack:
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "No such scope type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // org.jruby.parser.StaticScope staticScope
        end local 6 // org.jruby.runtime.Signature signature
        end local 5 // org.jruby.ir.IRScope lexicalParent
        end local 4 // int line
        end local 3 // java.lang.String file
        end local 2 // org.jruby.util.ByteList byteName
        end local 1 // org.jruby.ir.IRScopeType type
        end local 0 // org.jruby.ir.IRManager manager
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   12     0        manager  Lorg/jruby/ir/IRManager;
            0   12     1           type  Lorg/jruby/ir/IRScopeType;
            0   12     2       byteName  Lorg/jruby/util/ByteList;
            0   12     3           file  Ljava/lang/String;
            0   12     4           line  I
            0   12     5  lexicalParent  Lorg/jruby/ir/IRScope;
            0   12     6      signature  Lorg/jruby/runtime/Signature;
            0   12     7    staticScope  Lorg/jruby/parser/StaticScope;
    MethodParameters:
               Name  Flags
      manager        
      type           
      byteName       
      file           
      line           
      lexicalParent  
      signature      
      staticScope    

  static int[] $SWITCH_TABLE$org$jruby$ir$IRScopeType();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 34
            getstatic org.jruby.ir.persistence.IRReader.$SWITCH_TABLE$org$jruby$ir$IRScopeType:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.jruby.ir.IRScopeType.values:()[Lorg/jruby/ir/IRScopeType;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.jruby.ir.IRScopeType.CLASS_BODY:Lorg/jruby/ir/IRScopeType;
            invokevirtual org.jruby.ir.IRScopeType.ordinal:()I
            bipush 6
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.jruby.ir.IRScopeType.CLASS_METHOD:Lorg/jruby/ir/IRScopeType;
            invokevirtual org.jruby.ir.IRScopeType.ordinal:()I
            iconst_4
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.jruby.ir.IRScopeType.CLOSURE:Lorg/jruby/ir/IRScopeType;
            invokevirtual org.jruby.ir.IRScopeType.ordinal:()I
            iconst_1
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic org.jruby.ir.IRScopeType.EVAL_SCRIPT:Lorg/jruby/ir/IRScopeType;
            invokevirtual org.jruby.ir.IRScopeType.ordinal:()I
            iconst_2
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic org.jruby.ir.IRScopeType.FOR:Lorg/jruby/ir/IRScopeType;
            invokevirtual org.jruby.ir.IRScopeType.ordinal:()I
            bipush 9
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic org.jruby.ir.IRScopeType.INSTANCE_METHOD:Lorg/jruby/ir/IRScopeType;
            invokevirtual org.jruby.ir.IRScopeType.ordinal:()I
            iconst_3
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic org.jruby.ir.IRScopeType.METACLASS_BODY:Lorg/jruby/ir/IRScopeType;
            invokevirtual org.jruby.ir.IRScopeType.ordinal:()I
            bipush 7
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic org.jruby.ir.IRScopeType.MODULE_BODY:Lorg/jruby/ir/IRScopeType;
            invokevirtual org.jruby.ir.IRScopeType.ordinal:()I
            iconst_5
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic org.jruby.ir.IRScopeType.SCRIPT_BODY:Lorg/jruby/ir/IRScopeType;
            invokevirtual org.jruby.ir.IRScopeType.ordinal:()I
            bipush 8
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            dup
            putstatic org.jruby.ir.persistence.IRReader.$SWITCH_TABLE$org$jruby$ir$IRScopeType:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
}
SourceFile: "IRReader.java"
NestMembers:
  org.jruby.ir.persistence.IRReader$1
InnerClasses:
  org.jruby.ir.persistence.IRReader$1
  public final Type = org.jruby.parser.StaticScope$Type of org.jruby.parser.StaticScope