abstract class jdk.jshell.Wrap implements jdk.jshell.GeneralWrap
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: jdk.jshell.Wrap
  super_class: java.lang.Object
{
  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jshell.Wrap this
         0: .line 38
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // jdk.jshell.Wrap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jshell/Wrap;

  private static jdk.jshell.Wrap methodWrap(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/jshell/Wrap;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=4, args_size=3
        start local 0 // java.lang.String prefix
        start local 1 // java.lang.String source
        start local 2 // java.lang.String suffix
         0: .line 41
            new jdk.jshell.Wrap$NoWrap
            dup
            aload 1 /* source */
            invokespecial jdk.jshell.Wrap$NoWrap.<init>:(Ljava/lang/String;)V
            astore 3 /* wunit */
        start local 3 // jdk.jshell.Wrap wunit
         1: .line 42
            new jdk.jshell.Wrap$DoitMethodWrap
            dup
            new jdk.jshell.Wrap$CompoundWrap
            dup
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* prefix */
            aastore
            dup
            iconst_1
            aload 3 /* wunit */
            aastore
            dup
            iconst_2
            aload 2 /* suffix */
            aastore
            invokespecial jdk.jshell.Wrap$CompoundWrap.<init>:([Ljava/lang/Object;)V
            invokespecial jdk.jshell.Wrap$DoitMethodWrap.<init>:(Ljdk/jshell/Wrap;)V
            areturn
        end local 3 // jdk.jshell.Wrap wunit
        end local 2 // java.lang.String suffix
        end local 1 // java.lang.String source
        end local 0 // java.lang.String prefix
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  prefix  Ljava/lang/String;
            0    2     1  source  Ljava/lang/String;
            0    2     2  suffix  Ljava/lang/String;
            1    2     3   wunit  Ljdk/jshell/Wrap;
    MethodParameters:
        Name  Flags
      prefix  
      source  
      suffix  

  public static jdk.jshell.Wrap methodWrap(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/jshell/Wrap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.lang.String source
         0: .line 46
            ldc ""
            aload 0 /* source */
            new java.lang.StringBuilder
            dup
            aload 0 /* source */
            invokestatic jdk.jshell.Wrap.semi:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "        return null;\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.jshell.Wrap.methodWrap:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/jshell/Wrap;
            areturn
        end local 0 // java.lang.String source
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  source  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      source  

  public static jdk.jshell.Wrap methodReturnWrap(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/jshell/Wrap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String source
         0: .line 50
            ldc "return "
            aload 0 /* source */
            aload 0 /* source */
            invokestatic jdk.jshell.Wrap.semi:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic jdk.jshell.Wrap.methodWrap:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/jshell/Wrap;
            areturn
        end local 0 // java.lang.String source
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  source  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      source  

  public static jdk.jshell.Wrap methodUnreachableSemiWrap(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/jshell/Wrap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String source
         0: .line 54
            ldc ""
            aload 0 /* source */
            aload 0 /* source */
            invokestatic jdk.jshell.Wrap.semi:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic jdk.jshell.Wrap.methodWrap:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/jshell/Wrap;
            areturn
        end local 0 // java.lang.String source
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  source  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      source  

  public static jdk.jshell.Wrap methodUnreachableWrap(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/jshell/Wrap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String source
         0: .line 58
            ldc ""
            aload 0 /* source */
            ldc ""
            invokestatic jdk.jshell.Wrap.methodWrap:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/jshell/Wrap;
            areturn
        end local 0 // java.lang.String source
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  source  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      source  

  private static java.lang.String indent(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // int n
         0: .line 62
            ldc "                              "
            iconst_0
            iload 0 /* n */
            iconst_4
            imul
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 0 // int n
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     n  I
    MethodParameters:
      Name  Flags
      n     

  private static java.lang.String nlindent(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int n
         0: .line 66
            new java.lang.StringBuilder
            dup
            ldc "\n"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* n */
            invokestatic jdk.jshell.Wrap.indent:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // int n
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     n  I
    MethodParameters:
      Name  Flags
      n     

  public static jdk.jshell.Wrap varWrap(java.lang.String, jdk.jshell.Wrap, java.lang.String, jdk.jshell.Wrap$Range, jdk.jshell.Wrap, boolean, jdk.jshell.Wrap);
    descriptor: (Ljava/lang/String;Ljdk/jshell/Wrap;Ljava/lang/String;Ljdk/jshell/Wrap$Range;Ljdk/jshell/Wrap;ZLjdk/jshell/Wrap;)Ljdk/jshell/Wrap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=11, args_size=7
        start local 0 // java.lang.String source
        start local 1 // jdk.jshell.Wrap wtype
        start local 2 // java.lang.String brackets
        start local 3 // jdk.jshell.Wrap$Range rname
        start local 4 // jdk.jshell.Wrap winit
        start local 5 // boolean enhanced
        start local 6 // jdk.jshell.Wrap anonDeclareWrap
         0: .line 93
            new jdk.jshell.Wrap$RangeWrap
            dup
            aload 0 /* source */
            aload 3 /* rname */
            invokespecial jdk.jshell.Wrap$RangeWrap.<init>:(Ljava/lang/String;Ljdk/jshell/Wrap$Range;)V
            astore 7 /* wname */
        start local 7 // jdk.jshell.Wrap$RangeWrap wname
         1: .line 94
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 8 /* components */
        start local 8 // java.util.List components
         2: .line 95
            aload 8 /* components */
            new jdk.jshell.Wrap$VarDeclareWrap
            dup
            aload 1 /* wtype */
            aload 2 /* brackets */
            aload 7 /* wname */
            invokespecial jdk.jshell.Wrap$VarDeclareWrap.<init>:(Ljdk/jshell/Wrap;Ljava/lang/String;Ljdk/jshell/Wrap;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 98
            aload 4 /* winit */
            ifnonnull 6
         4: .line 99
            new jdk.jshell.Wrap$CompoundWrap
            dup
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            new jdk.jshell.Wrap$NoWrap
            dup
            ldc " "
            invokespecial jdk.jshell.Wrap$NoWrap.<init>:(Ljava/lang/String;)V
            aastore
            dup
            iconst_1
            ldc "   return null;\n"
            aastore
            invokespecial jdk.jshell.Wrap$CompoundWrap.<init>:([Ljava/lang/Object;)V
            astore 9 /* wmeth */
        start local 9 // jdk.jshell.Wrap wmeth
         5: .line 100
            goto 23
        end local 9 // jdk.jshell.Wrap wmeth
         6: .line 102
      StackMap locals: jdk.jshell.Wrap$RangeWrap java.util.List
      StackMap stack:
            iload 5 /* enhanced */
            ifeq 19
         7: .line 111
            new jdk.jshell.Wrap$CompoundWrap
            dup
            bipush 18
            anewarray java.lang.Object
            dup
            iconst_0
         8: .line 112
            ldc "    private static <Z> Z "
            aastore
            dup
            iconst_1
            ldc "do_it$Aux"
            aastore
            dup
            iconst_2
            ldc "() throws Throwable {\n"
            aastore
            dup
            iconst_3
         9: .line 113
            aload 1 /* wtype */
            aastore
            dup
            iconst_4
            new java.lang.StringBuilder
            dup
            aload 2 /* brackets */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_5
            aload 7 /* wname */
            aastore
            dup
            bipush 6
            ldc "_ =\n        "
            aastore
            dup
            bipush 7
            aload 4 /* winit */
            aastore
            dup
            bipush 8
            aload 4 /* winit */
            invokestatic jdk.jshell.Wrap.semi:(Ljdk/jshell/Wrap;)Ljava/lang/String;
            aastore
            dup
            bipush 9
        10: .line 114
            ldc "        @SuppressWarnings(\"unchecked\") Z "
            aastore
            dup
            bipush 10
            aload 7 /* wname */
            aastore
            dup
            bipush 11
            ldc "__ = (Z)"
            aastore
            dup
            bipush 12
            aload 7 /* wname */
            aastore
            dup
            bipush 13
            ldc "_;\n"
            aastore
            dup
            bipush 14
        11: .line 115
            ldc "        return "
            aastore
            dup
            bipush 15
            aload 7 /* wname */
            aastore
            dup
            bipush 16
            ldc "__;\n"
            aastore
            dup
            bipush 17
        12: .line 116
            ldc "}"
        13: .line 111
            aastore
            invokespecial jdk.jshell.Wrap$CompoundWrap.<init>:([Ljava/lang/Object;)V
            astore 10 /* waux */
        start local 10 // jdk.jshell.Wrap waux
        14: .line 118
            aload 8 /* components */
            aload 10 /* waux */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        15: .line 119
            new jdk.jshell.Wrap$CompoundWrap
            dup
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
        16: .line 120
            ldc "        return "
            aastore
            dup
            iconst_1
            aload 7 /* wname */
            aastore
            dup
            iconst_2
            ldc " = "
            aastore
            dup
            iconst_3
            ldc "do_it$Aux"
            aastore
            dup
            iconst_4
            ldc "();\n"
        17: .line 119
            aastore
            invokespecial jdk.jshell.Wrap$CompoundWrap.<init>:([Ljava/lang/Object;)V
            astore 9 /* wmeth */
        end local 10 // jdk.jshell.Wrap waux
        start local 9 // jdk.jshell.Wrap wmeth
        18: .line 122
            goto 23
        end local 9 // jdk.jshell.Wrap wmeth
        19: .line 125
      StackMap locals:
      StackMap stack:
            new jdk.jshell.Wrap$CompoundWrap
            dup
            bipush 11
            anewarray java.lang.Object
            dup
            iconst_0
        20: .line 126
            aload 1 /* wtype */
            aastore
            dup
            iconst_1
            new java.lang.StringBuilder
            dup
            aload 2 /* brackets */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 7 /* wname */
            aastore
            dup
            iconst_3
            ldc "_ =\n        "
            aastore
            dup
            iconst_4
            aload 4 /* winit */
            aastore
            dup
            iconst_5
            aload 4 /* winit */
            invokestatic jdk.jshell.Wrap.semi:(Ljdk/jshell/Wrap;)Ljava/lang/String;
            aastore
            dup
            bipush 6
        21: .line 127
            ldc "        return "
            aastore
            dup
            bipush 7
            aload 7 /* wname */
            aastore
            dup
            bipush 8
            ldc " = "
            aastore
            dup
            bipush 9
            aload 7 /* wname */
            aastore
            dup
            bipush 10
            ldc "_;\n"
        22: .line 125
            aastore
            invokespecial jdk.jshell.Wrap$CompoundWrap.<init>:([Ljava/lang/Object;)V
            astore 9 /* wmeth */
        start local 9 // jdk.jshell.Wrap wmeth
        23: .line 131
      StackMap locals: jdk.jshell.Wrap
      StackMap stack:
            aload 8 /* components */
            new jdk.jshell.Wrap$DoitMethodWrap
            dup
            aload 9 /* wmeth */
            invokespecial jdk.jshell.Wrap$DoitMethodWrap.<init>:(Ljdk/jshell/Wrap;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        24: .line 132
            aload 6 /* anonDeclareWrap */
            ifnull 26
        25: .line 133
            aload 8 /* components */
            aload 6 /* anonDeclareWrap */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        26: .line 135
      StackMap locals:
      StackMap stack:
            new jdk.jshell.Wrap$CompoundWrap
            dup
            aload 8 /* components */
            invokeinterface java.util.List.toArray:()[Ljava/lang/Object;
            invokespecial jdk.jshell.Wrap$CompoundWrap.<init>:([Ljava/lang/Object;)V
            areturn
        end local 9 // jdk.jshell.Wrap wmeth
        end local 8 // java.util.List components
        end local 7 // jdk.jshell.Wrap$RangeWrap wname
        end local 6 // jdk.jshell.Wrap anonDeclareWrap
        end local 5 // boolean enhanced
        end local 4 // jdk.jshell.Wrap winit
        end local 3 // jdk.jshell.Wrap$Range rname
        end local 2 // java.lang.String brackets
        end local 1 // jdk.jshell.Wrap wtype
        end local 0 // java.lang.String source
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   27     0           source  Ljava/lang/String;
            0   27     1            wtype  Ljdk/jshell/Wrap;
            0   27     2         brackets  Ljava/lang/String;
            0   27     3            rname  Ljdk/jshell/Wrap$Range;
            0   27     4            winit  Ljdk/jshell/Wrap;
            0   27     5         enhanced  Z
            0   27     6  anonDeclareWrap  Ljdk/jshell/Wrap;
            1   27     7            wname  Ljdk/jshell/Wrap$RangeWrap;
            2   27     8       components  Ljava/util/List<Ljava/lang/Object;>;
            5    6     9            wmeth  Ljdk/jshell/Wrap;
           18   19     9            wmeth  Ljdk/jshell/Wrap;
           23   27     9            wmeth  Ljdk/jshell/Wrap;
           14   18    10             waux  Ljdk/jshell/Wrap;
    MethodParameters:
                 Name  Flags
      source           
      wtype            
      brackets         
      rname            
      winit            
      enhanced         
      anonDeclareWrap  

  public static jdk.jshell.Wrap tempVarWrap(java.lang.String, java.lang.String, java.lang.String, jdk.jshell.Wrap);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljdk/jshell/Wrap;)Ljdk/jshell/Wrap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=8, args_size=4
        start local 0 // java.lang.String source
        start local 1 // java.lang.String typename
        start local 2 // java.lang.String name
        start local 3 // jdk.jshell.Wrap anonDeclareWrap
         0: .line 139
            new jdk.jshell.Wrap$NoWrap
            dup
            aload 0 /* source */
            invokespecial jdk.jshell.Wrap$NoWrap.<init>:(Ljava/lang/String;)V
            astore 4 /* winit */
        start local 4 // jdk.jshell.Wrap$RangeWrap winit
         1: .line 143
            new jdk.jshell.Wrap$CompoundWrap
            dup
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            new java.lang.StringBuilder
            dup
            ldc "return "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " =\n        "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 4 /* winit */
            aastore
            dup
            iconst_2
            aload 4 /* winit */
            invokestatic jdk.jshell.Wrap.semi:(Ljdk/jshell/Wrap;)Ljava/lang/String;
            aastore
            invokespecial jdk.jshell.Wrap$CompoundWrap.<init>:([Ljava/lang/Object;)V
            astore 5 /* wmeth */
        start local 5 // jdk.jshell.Wrap wmeth
         2: .line 144
            new jdk.jshell.Wrap$DoitMethodWrap
            dup
            aload 5 /* wmeth */
            invokespecial jdk.jshell.Wrap$DoitMethodWrap.<init>:(Ljdk/jshell/Wrap;)V
            astore 6 /* wInitMeth */
        start local 6 // jdk.jshell.Wrap wInitMeth
         3: .line 146
            new java.lang.StringBuilder
            dup
            ldc "    public static\n    "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* typename */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ";\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* varDecl */
        start local 7 // java.lang.String varDecl
         4: .line 147
            aload 3 /* anonDeclareWrap */
            ifnull 5
            new jdk.jshell.Wrap$CompoundWrap
            dup
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* varDecl */
            aastore
            dup
            iconst_1
            aload 6 /* wInitMeth */
            aastore
            dup
            iconst_2
            aload 3 /* anonDeclareWrap */
            aastore
            invokespecial jdk.jshell.Wrap$CompoundWrap.<init>:([Ljava/lang/Object;)V
            goto 6
         5: .line 148
      StackMap locals: java.lang.String java.lang.String java.lang.String jdk.jshell.Wrap jdk.jshell.Wrap$RangeWrap jdk.jshell.Wrap jdk.jshell.Wrap java.lang.String
      StackMap stack:
            new jdk.jshell.Wrap$CompoundWrap
            dup
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* varDecl */
            aastore
            dup
            iconst_1
            aload 6 /* wInitMeth */
            aastore
            invokespecial jdk.jshell.Wrap$CompoundWrap.<init>:([Ljava/lang/Object;)V
         6: .line 147
      StackMap locals:
      StackMap stack: jdk.jshell.Wrap$CompoundWrap
            areturn
        end local 7 // java.lang.String varDecl
        end local 6 // jdk.jshell.Wrap wInitMeth
        end local 5 // jdk.jshell.Wrap wmeth
        end local 4 // jdk.jshell.Wrap$RangeWrap winit
        end local 3 // jdk.jshell.Wrap anonDeclareWrap
        end local 2 // java.lang.String name
        end local 1 // java.lang.String typename
        end local 0 // java.lang.String source
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0           source  Ljava/lang/String;
            0    7     1         typename  Ljava/lang/String;
            0    7     2             name  Ljava/lang/String;
            0    7     3  anonDeclareWrap  Ljdk/jshell/Wrap;
            1    7     4            winit  Ljdk/jshell/Wrap$RangeWrap;
            2    7     5            wmeth  Ljdk/jshell/Wrap;
            3    7     6        wInitMeth  Ljdk/jshell/Wrap;
            4    7     7          varDecl  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      source           
      typename         
      name             
      anonDeclareWrap  

  public static jdk.jshell.Wrap simpleWrap(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/jshell/Wrap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String source
         0: .line 152
            new jdk.jshell.Wrap$NoWrap
            dup
            aload 0 /* source */
            invokespecial jdk.jshell.Wrap$NoWrap.<init>:(Ljava/lang/String;)V
            areturn
        end local 0 // java.lang.String source
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  source  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      source  

  public static jdk.jshell.Wrap identityWrap(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/jshell/Wrap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String source
         0: .line 156
            new jdk.jshell.Wrap$NoWrap
            dup
            aload 0 /* source */
            invokespecial jdk.jshell.Wrap$NoWrap.<init>:(Ljava/lang/String;)V
            areturn
        end local 0 // java.lang.String source
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  source  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      source  

  public static jdk.jshell.Wrap rangeWrap(java.lang.String, jdk.jshell.Wrap$Range);
    descriptor: (Ljava/lang/String;Ljdk/jshell/Wrap$Range;)Ljdk/jshell/Wrap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String source
        start local 1 // jdk.jshell.Wrap$Range range
         0: .line 160
            new jdk.jshell.Wrap$RangeWrap
            dup
            aload 0 /* source */
            aload 1 /* range */
            invokespecial jdk.jshell.Wrap$RangeWrap.<init>:(Ljava/lang/String;Ljdk/jshell/Wrap$Range;)V
            areturn
        end local 1 // jdk.jshell.Wrap$Range range
        end local 0 // java.lang.String source
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  source  Ljava/lang/String;
            0    1     1   range  Ljdk/jshell/Wrap$Range;
    MethodParameters:
        Name  Flags
      source  
      range   

  public static jdk.jshell.Wrap classMemberWrap(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/jshell/Wrap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // java.lang.String source
         0: .line 164
            new jdk.jshell.Wrap$NoWrap
            dup
            aload 0 /* source */
            invokespecial jdk.jshell.Wrap$NoWrap.<init>:(Ljava/lang/String;)V
            astore 1 /* w */
        start local 1 // jdk.jshell.Wrap w
         1: .line 165
            new jdk.jshell.Wrap$CompoundWrap
            dup
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "    public static\n    "
            aastore
            dup
            iconst_1
            aload 1 /* w */
            aastore
            invokespecial jdk.jshell.Wrap$CompoundWrap.<init>:([Ljava/lang/Object;)V
            areturn
        end local 1 // jdk.jshell.Wrap w
        end local 0 // java.lang.String source
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  source  Ljava/lang/String;
            1    2     1       w  Ljdk/jshell/Wrap;
    MethodParameters:
        Name  Flags
      source  

  private static int countLines(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 169
            aload 0 /* s */
            iconst_0
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            invokestatic jdk.jshell.Wrap.countLines:(Ljava/lang/String;II)I
            ireturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  private static int countLines(java.lang.String, int, int);
    descriptor: (Ljava/lang/String;II)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // java.lang.String s
        start local 1 // int from
        start local 2 // int toEx
         0: .line 173
            iconst_0
            istore 3 /* cnt */
        start local 3 // int cnt
         1: .line 174
            iload 1 /* from */
            istore 4 /* idx */
        start local 4 // int idx
         2: .line 175
            goto 6
         3: .line 176
      StackMap locals: int int
      StackMap stack:
            iload 4 /* idx */
            iload 2 /* toEx */
            if_icmplt 4
            goto 7
         4: .line 177
      StackMap locals:
      StackMap stack:
            iinc 3 /* cnt */ 1
         5: .line 178
            iinc 4 /* idx */ 1
         6: .line 175
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            bipush 10
            iload 4 /* idx */
            invokevirtual java.lang.String.indexOf:(II)I
            dup
            istore 4 /* idx */
            ifgt 3
         7: .line 180
      StackMap locals:
      StackMap stack:
            iload 3 /* cnt */
            ireturn
        end local 4 // int idx
        end local 3 // int cnt
        end local 2 // int toEx
        end local 1 // int from
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0     s  Ljava/lang/String;
            0    8     1  from  I
            0    8     2  toEx  I
            1    8     3   cnt  I
            2    8     4   idx  I
    MethodParameters:
      Name  Flags
      s     
      from  
      toEx  

  private static java.lang.String semi(jdk.jshell.Wrap);
    descriptor: (Ljdk/jshell/Wrap;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jshell.Wrap w
         0: .line 539
            aload 0 /* w */
            invokevirtual jdk.jshell.Wrap.wrapped:()Ljava/lang/String;
            invokestatic jdk.jshell.Wrap.semi:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // jdk.jshell.Wrap w
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     w  Ljdk/jshell/Wrap;
    MethodParameters:
      Name  Flags
      w     

  private static java.lang.String semi(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 543
            aload 0 /* s */
            ldc ";"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 1
            ldc "\n"
            goto 3
      StackMap locals:
      StackMap stack:
         1: aload 0 /* s */
            ldc ";\n"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 2
            ldc ""
            goto 3
      StackMap locals:
      StackMap stack:
         2: ldc ";\n"
      StackMap locals:
      StackMap stack: java.lang.String
         3: areturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  void debugWrap(java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;)V
    flags: (0x0080) ACC_VARARGS
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // jdk.jshell.Wrap this
        start local 1 // java.lang.String format
        start local 2 // java.lang.Object[] args
         0: .line 565
            return
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.String format
        end local 0 // jdk.jshell.Wrap this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljdk/jshell/Wrap;
            0    1     1  format  Ljava/lang/String;
            0    1     2    args  [Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      format  
      args    
}
SourceFile: "Wrap.java"
NestMembers:
  jdk.jshell.Wrap$CompoundWrap  jdk.jshell.Wrap$DoitMethodWrap  jdk.jshell.Wrap$NoWrap  jdk.jshell.Wrap$Range  jdk.jshell.Wrap$RangeWrap  jdk.jshell.Wrap$VarDeclareWrap
InnerClasses:
  public CompoundWrap = jdk.jshell.Wrap$CompoundWrap of jdk.jshell.Wrap
  private DoitMethodWrap = jdk.jshell.Wrap$DoitMethodWrap of jdk.jshell.Wrap
  private NoWrap = jdk.jshell.Wrap$NoWrap of jdk.jshell.Wrap
  public final Range = jdk.jshell.Wrap$Range of jdk.jshell.Wrap
  RangeWrap = jdk.jshell.Wrap$RangeWrap of jdk.jshell.Wrap
  private VarDeclareWrap = jdk.jshell.Wrap$VarDeclareWrap of jdk.jshell.Wrap