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 25
            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=5, locals=15, args_size=2
        start local 0 // org.jruby.ir.IRManager manager
        start local 1 // org.jruby.ir.persistence.IRReaderDecoder file
         0: .line 27
            aload 1 /* file */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeIntRaw:()I
            istore 2 /* version */
        start local 2 // int version
         1: .line 29
            iload 2 /* version */
            iconst_2
            if_icmpeq 5
         2: .line 30
            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 31
            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_2
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 30
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 33
      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 34
            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 36
      StackMap locals: int
      StackMap stack:
            aload 1 /* file */
            iload 3 /* headersOffset */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.seek:(I)V
         8: .line 37
            aload 1 /* file */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeInt:()I
            istore 4 /* scopesToRead */
        start local 4 // int scopesToRead
         9: .line 38
            getstatic org.jruby.RubyInstanceConfig.IR_READING_DEBUG:Z
            ifeq 10
            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
        10: .line 40
      StackMap locals: int
      StackMap stack:
            aconst_null
            astore 5 /* firstScope */
        start local 5 // org.jruby.ir.IRScope firstScope
        11: .line 41
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        12: goto 38
        13: .line 42
      StackMap locals: org.jruby.ir.IRScope int
      StackMap stack:
            aload 1 /* file */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeIRScopeType:()Lorg/jruby/ir/IRScopeType;
            astore 7 /* type */
        start local 7 // org.jruby.ir.IRScopeType type
        14: .line 43
            aload 1 /* file */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeInt:()I
            istore 8 /* line */
        start local 8 // int line
        15: .line 44
            aload 1 /* file */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeInt:()I
            istore 9 /* tempVarsCount */
        start local 9 // int tempVarsCount
        16: .line 45
            aload 1 /* file */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeInt:()I
            istore 10 /* nextLabelInt */
        start local 10 // int nextLabelInt
        17: .line 46
            aload 0 /* manager */
            aload 1 /* file */
            aload 7 /* type */
            iload 8 /* line */
            invokestatic org.jruby.ir.persistence.IRReader.decodeScopeHeader:(Lorg/jruby/ir/IRManager;Lorg/jruby/ir/persistence/IRReaderDecoder;Lorg/jruby/ir/IRScopeType;I)Lorg/jruby/ir/IRScope;
            astore 11 /* scope */
        start local 11 // org.jruby.ir.IRScope scope
        18: .line 47
            aload 11 /* scope */
            iload 10 /* nextLabelInt */
            invokevirtual org.jruby.ir.IRScope.setNextLabelIndex:(I)V
        19: .line 48
            aload 1 /* file */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeIRFlags:()Ljava/util/EnumSet;
            astore 12 /* flags */
        start local 12 // java.util.EnumSet flags
        20: .line 49
            aload 1 /* file */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeBoolean:()Z
            ifeq 21
            aload 11 /* scope */
            invokevirtual org.jruby.ir.IRScope.setHasBreakInstructions:()V
        21: .line 50
      StackMap locals: org.jruby.ir.IRManager org.jruby.ir.persistence.IRReaderDecoder int int int org.jruby.ir.IRScope int org.jruby.ir.IRScopeType int int int org.jruby.ir.IRScope java.util.EnumSet
      StackMap stack:
            aload 1 /* file */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeBoolean:()Z
            ifeq 22
            aload 11 /* scope */
            invokevirtual org.jruby.ir.IRScope.setHasLoops:()V
        22: .line 51
      StackMap locals:
      StackMap stack:
            aload 1 /* file */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeBoolean:()Z
            ifeq 23
            aload 11 /* scope */
            invokevirtual org.jruby.ir.IRScope.setHasNonLocalReturns:()V
        23: .line 52
      StackMap locals:
      StackMap stack:
            aload 1 /* file */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeBoolean:()Z
            ifeq 24
            aload 11 /* scope */
            invokevirtual org.jruby.ir.IRScope.setReceivesClosureArg:()V
        24: .line 53
      StackMap locals:
      StackMap stack:
            aload 1 /* file */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeBoolean:()Z
            ifeq 25
            aload 11 /* scope */
            invokevirtual org.jruby.ir.IRScope.setReceivesKeywordArgs:()V
        25: .line 54
      StackMap locals:
      StackMap stack:
            aload 1 /* file */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeBoolean:()Z
            ifeq 26
            aload 11 /* scope */
            invokevirtual org.jruby.ir.IRScope.setAccessesParentsLocalVariables:()V
        26: .line 55
      StackMap locals:
      StackMap stack:
            aload 1 /* file */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeBoolean:()Z
            ifeq 27
            aload 11 /* scope */
            invokevirtual org.jruby.ir.IRScope.setIsMaybeUsingRefinements:()V
        27: .line 56
      StackMap locals:
      StackMap stack:
            aload 1 /* file */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeBoolean:()Z
            ifeq 28
            aload 11 /* scope */
            invokevirtual org.jruby.ir.IRScope.setCanCaptureCallersBinding:()V
        28: .line 57
      StackMap locals:
      StackMap stack:
            aload 1 /* file */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeBoolean:()Z
            ifeq 29
            aload 11 /* scope */
            invokevirtual org.jruby.ir.IRScope.setCanReceiveBreaks:()V
        29: .line 58
      StackMap locals:
      StackMap stack:
            aload 1 /* file */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeBoolean:()Z
            ifeq 30
            aload 11 /* scope */
            invokevirtual org.jruby.ir.IRScope.setCanReceiveNonlocalReturns:()V
        30: .line 59
      StackMap locals:
      StackMap stack:
            aload 1 /* file */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeBoolean:()Z
            ifeq 31
            aload 11 /* scope */
            invokevirtual org.jruby.ir.IRScope.setUsesZSuper:()V
        31: .line 60
      StackMap locals:
      StackMap stack:
            aload 1 /* file */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeBoolean:()Z
            ifeq 32
            aload 11 /* scope */
            invokevirtual org.jruby.ir.IRScope.setNeedsCodeCoverage:()V
        32: .line 61
      StackMap locals:
      StackMap stack:
            aload 1 /* file */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeBoolean:()Z
            ifeq 33
            aload 11 /* scope */
            invokevirtual org.jruby.ir.IRScope.setUsesEval:()V
        33: .line 63
      StackMap locals:
      StackMap stack:
            aload 5 /* firstScope */
            ifnonnull 34
            aload 11 /* scope */
            astore 5 /* firstScope */
        34: .line 64
      StackMap locals:
      StackMap stack:
            aload 1 /* file */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeInt:()I
            istore 13 /* instructionsOffset */
        start local 13 // int instructionsOffset
        35: .line 65
            aload 1 /* file */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeInt:()I
            istore 14 /* poolOffset */
        start local 14 // int poolOffset
        36: .line 67
            aload 11 /* scope */
            aload 1 /* file */
            aload 11 /* scope */
            iload 14 /* poolOffset */
            iload 13 /* instructionsOffset */
            invokedynamic get(Lorg/jruby/ir/persistence/IRReaderDecoder;Lorg/jruby/ir/IRScope;II)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/jruby/ir/persistence/IRReader.lambda$0(Lorg/jruby/ir/persistence/IRReaderDecoder;Lorg/jruby/ir/IRScope;II)Ljava/util/List; (6)
                  ()Ljava/util/List;
            iload 9 /* tempVarsCount */
            aload 12 /* flags */
            invokevirtual org.jruby.ir.IRScope.allocateInterpreterContext:(Ljava/util/function/Supplier;ILjava/util/EnumSet;)Lorg/jruby/ir/interpreter/InterpreterContext;
            pop
        end local 14 // int poolOffset
        end local 13 // int instructionsOffset
        end local 12 // java.util.EnumSet flags
        end local 11 // org.jruby.ir.IRScope scope
        end local 10 // int nextLabelInt
        end local 9 // int tempVarsCount
        end local 8 // int line
        end local 7 // org.jruby.ir.IRScopeType type
        37: .line 41
            iinc 6 /* i */ 1
      StackMap locals: org.jruby.ir.IRManager org.jruby.ir.persistence.IRReaderDecoder int int int org.jruby.ir.IRScope int
      StackMap stack:
        38: iload 6 /* i */
            iload 4 /* scopesToRead */
            if_icmplt 13
        end local 6 // int i
        39: .line 70
            aload 5 /* firstScope */
            areturn
        end local 5 // org.jruby.ir.IRScope firstScope
        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   40     0             manager  Lorg/jruby/ir/IRManager;
            0   40     1                file  Lorg/jruby/ir/persistence/IRReaderDecoder;
            1   40     2             version  I
            6   40     3       headersOffset  I
            9   40     4        scopesToRead  I
           11   40     5          firstScope  Lorg/jruby/ir/IRScope;
           12   39     6                   i  I
           14   37     7                type  Lorg/jruby/ir/IRScopeType;
           15   37     8                line  I
           16   37     9       tempVarsCount  I
           17   37    10        nextLabelInt  I
           18   37    11               scope  Lorg/jruby/ir/IRScope;
           20   37    12               flags  Ljava/util/EnumSet<Lorg/jruby/ir/IRFlags;>;
           35   37    13  instructionsOffset  I
           36   37    14          poolOffset  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      manager  
      file     final

  private static org.jruby.ir.IRScope decodeScopeHeader(org.jruby.ir.IRManager, org.jruby.ir.persistence.IRReaderDecoder, org.jruby.ir.IRScopeType, int);
    descriptor: (Lorg/jruby/ir/IRManager;Lorg/jruby/ir/persistence/IRReaderDecoder;Lorg/jruby/ir/IRScopeType;I)Lorg/jruby/ir/IRScope;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=12, args_size=4
        start local 0 // org.jruby.ir.IRManager manager
        start local 1 // org.jruby.ir.persistence.IRReaderDecoder decoder
        start local 2 // org.jruby.ir.IRScopeType type
        start local 3 // int line
         0: .line 74
            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 76
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* isEND */
        start local 4 // boolean isEND
         2: .line 79
            aload 2 /* type */
            getstatic org.jruby.ir.IRScopeType.CLOSURE:Lorg/jruby/ir/IRScopeType;
            if_acmpeq 3
            aload 2 /* type */
            getstatic org.jruby.ir.IRScopeType.FOR:Lorg/jruby/ir/IRScopeType;
            if_acmpne 6
         3: .line 80
      StackMap locals: int
      StackMap stack:
            aload 1 /* decoder */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeBoolean:()Z
            istore 4 /* isEND */
         4: .line 81
            aload 1 /* decoder */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeLong:()J
            invokestatic org.jruby.runtime.Signature.decode:(J)Lorg/jruby/runtime/Signature;
            astore 5 /* signature */
        start local 5 // org.jruby.runtime.Signature signature
         5: .line 82
            goto 7
        end local 5 // org.jruby.runtime.Signature signature
         6: .line 83
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.runtime.Signature.OPTIONAL:Lorg/jruby/runtime/Signature;
            astore 5 /* signature */
        start local 5 // org.jruby.runtime.Signature signature
         7: .line 88
      StackMap locals: org.jruby.runtime.Signature
      StackMap stack:
            aconst_null
            astore 6 /* file */
        start local 6 // java.lang.String file
         8: .line 89
            aconst_null
            astore 7 /* name */
        start local 7 // org.jruby.util.ByteList name
         9: .line 90
            aconst_null
            astore 8 /* parent */
        start local 8 // org.jruby.ir.IRScope parent
        10: .line 91
            aload 2 /* type */
            getstatic org.jruby.ir.IRScopeType.SCRIPT_BODY:Lorg/jruby/ir/IRScopeType;
            if_acmpne 13
        11: .line 92
            aload 1 /* decoder */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeString:()Ljava/lang/String;
            astore 6 /* file */
        12: .line 93
            goto 15
        13: .line 94
      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 7 /* name */
        14: .line 95
            aload 1 /* decoder */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeScope:()Lorg/jruby/ir/IRScope;
            astore 8 /* parent */
        15: .line 98
      StackMap locals:
      StackMap stack:
            aload 8 /* parent */
            ifnonnull 16
            aconst_null
            goto 17
      StackMap locals:
      StackMap stack:
        16: aload 8 /* parent */
            invokevirtual org.jruby.ir.IRScope.getStaticScope:()Lorg/jruby/parser/StaticScope;
      StackMap locals:
      StackMap stack: org.jruby.parser.StaticScope
        17: astore 9 /* parentScope */
        start local 9 // org.jruby.parser.StaticScope parentScope
        18: .line 101
            aload 1 /* decoder */
            aload 9 /* parentScope */
            invokestatic org.jruby.ir.persistence.IRReader.decodeStaticScope:(Lorg/jruby/ir/persistence/IRReaderDecoder;Lorg/jruby/parser/StaticScope;)Lorg/jruby/parser/StaticScope;
            astore 10 /* staticScope */
        start local 10 // org.jruby.parser.StaticScope staticScope
        19: .line 102
            aload 0 /* manager */
            aload 2 /* type */
            aload 7 /* name */
            aload 6 /* file */
            iload 3 /* line */
            aload 8 /* parent */
            aload 5 /* signature */
            aload 10 /* 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 11 /* scope */
        start local 11 // org.jruby.ir.IRScope scope
        20: .line 104
            aload 11 /* scope */
            instanceof org.jruby.ir.IRClosure
            ifeq 22
            iload 4 /* isEND */
            ifeq 22
        21: .line 105
            aload 11 /* scope */
            checkcast org.jruby.ir.IRClosure
            invokevirtual org.jruby.ir.IRClosure.setIsEND:()V
        22: .line 108
      StackMap locals: org.jruby.parser.StaticScope org.jruby.parser.StaticScope org.jruby.ir.IRScope
      StackMap stack:
            aload 1 /* decoder */
            aload 11 /* scope */
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.addScope:(Lorg/jruby/ir/IRScope;)V
        23: .line 110
            aload 11 /* scope */
            areturn
        end local 11 // org.jruby.ir.IRScope scope
        end local 10 // org.jruby.parser.StaticScope staticScope
        end local 9 // org.jruby.parser.StaticScope parentScope
        end local 8 // org.jruby.ir.IRScope parent
        end local 7 // org.jruby.util.ByteList name
        end local 6 // java.lang.String file
        end local 5 // org.jruby.runtime.Signature signature
        end local 4 // boolean isEND
        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   24     0      manager  Lorg/jruby/ir/IRManager;
            0   24     1      decoder  Lorg/jruby/ir/persistence/IRReaderDecoder;
            0   24     2         type  Lorg/jruby/ir/IRScopeType;
            0   24     3         line  I
            2   24     4        isEND  Z
            5    6     5    signature  Lorg/jruby/runtime/Signature;
            7   24     5    signature  Lorg/jruby/runtime/Signature;
            8   24     6         file  Ljava/lang/String;
            9   24     7         name  Lorg/jruby/util/ByteList;
           10   24     8       parent  Lorg/jruby/ir/IRScope;
           18   24     9  parentScope  Lorg/jruby/parser/StaticScope;
           19   24    10  staticScope  Lorg/jruby/parser/StaticScope;
           20   24    11        scope  Lorg/jruby/ir/IRScope;
    MethodParameters:
         Name  Flags
      manager  
      decoder  
      type     
      line     

  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 114
            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 116
            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 118
            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 123
            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: 8
                    2: 9
                    3: 3
                    4: 4
                    5: 5
                    6: 1
                    7: 2
                    8: 6
                    9: 7
              default: 10
          }
         1: .line 126
      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
         2: .line 128
      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
         3: .line 130
      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
         4: .line 132
      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
         5: .line 135
      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
         6: .line 137
      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
         7: .line 139
      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
         8: .line 141
      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
         9: .line 144
      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
        10: .line 147
      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   11     0        manager  Lorg/jruby/ir/IRManager;
            0   11     1           type  Lorg/jruby/ir/IRScopeType;
            0   11     2       byteName  Lorg/jruby/util/ByteList;
            0   11     3           file  Ljava/lang/String;
            0   11     4           line  I
            0   11     5  lexicalParent  Lorg/jruby/ir/IRScope;
            0   11     6      signature  Lorg/jruby/runtime/Signature;
            0   11     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 25
            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

  private static java.util.List lambda$0(org.jruby.ir.persistence.IRReaderDecoder, org.jruby.ir.IRScope, int, int);
    descriptor: (Lorg/jruby/ir/persistence/IRReaderDecoder;Lorg/jruby/ir/IRScope;II)Ljava/util/List;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
         0: .line 67
            aload 0
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.dup:()Lorg/jruby/ir/persistence/IRReaderDecoder;
            aload 1
            iload 2
            iload 3
            invokeinterface org.jruby.ir.persistence.IRReaderDecoder.decodeInstructionsAt:(Lorg/jruby/ir/IRScope;II)Ljava/util/List;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "IRReader.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public final Type = org.jruby.parser.StaticScope$Type of org.jruby.parser.StaticScope