public final class jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper
  super_class: java.lang.Object
{
  static final int NEW_LINE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  static final int RETURN;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 13

  static final int LINE_SEPARATOR;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 8232

  static final int PARAGRAPH_SEPARATOR;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 8233

  static final char[] EMPTYCHARS;
    descriptor: [C
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final int[][] codeRanges;
    descriptor: [[I
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 34
            iconst_0
            newarray 5
            putstatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.EMPTYCHARS:[C
         1: .line 35
            bipush 15
            anewarray int[]
            putstatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.codeRanges:[[I
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper this
         0: .line 27
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/EncodingHelper;

  public static int digitVal(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int code
         0: .line 38
            iload 0 /* code */
            bipush 48
            isub
            ireturn
        end local 0 // int code
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  code  I
    MethodParameters:
      Name  Flags
      code  final

  public static int odigitVal(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int code
         0: .line 42
            iload 0 /* code */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.digitVal:(I)I
            ireturn
        end local 0 // int code
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  code  I
    MethodParameters:
      Name  Flags
      code  final

  public static boolean isXDigit(int);
    descriptor: (I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int code
         0: .line 46
            iload 0 /* code */
            invokestatic java.lang.Character.isDigit:(I)Z
            ifne 3
            iload 0 /* code */
            bipush 97
            if_icmplt 1
            iload 0 /* code */
            bipush 102
            if_icmple 3
      StackMap locals:
      StackMap stack:
         1: iload 0 /* code */
            bipush 65
            if_icmplt 2
            iload 0 /* code */
            bipush 70
            if_icmple 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_1
            ireturn
        end local 0 // int code
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  code  I
    MethodParameters:
      Name  Flags
      code  final

  public static int xdigitVal(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int code
         0: .line 50
            iload 0 /* code */
            invokestatic java.lang.Character.isDigit:(I)Z
            ifeq 2
         1: .line 51
            iload 0 /* code */
            bipush 48
            isub
            ireturn
         2: .line 52
      StackMap locals:
      StackMap stack:
            iload 0 /* code */
            bipush 97
            if_icmplt 4
            iload 0 /* code */
            bipush 102
            if_icmpgt 4
         3: .line 53
            iload 0 /* code */
            bipush 97
            isub
            bipush 10
            iadd
            ireturn
         4: .line 55
      StackMap locals:
      StackMap stack:
            iload 0 /* code */
            bipush 65
            isub
            bipush 10
            iadd
            ireturn
        end local 0 // int code
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  code  I
    MethodParameters:
      Name  Flags
      code  final

  public static boolean isDigit(int);
    descriptor: (I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int code
         0: .line 60
            iload 0 /* code */
            bipush 48
            if_icmplt 1
            iload 0 /* code */
            bipush 57
            if_icmpgt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // int code
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  code  I
    MethodParameters:
      Name  Flags
      code  final

  public static boolean isWord(int);
    descriptor: (I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int code
         0: .line 65
            iconst_1
            iload 0 /* code */
            invokestatic java.lang.Character.getType:(I)I
            ishl
            ldc 8389630
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // int code
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  code  I
    MethodParameters:
      Name  Flags
      code  final

  public static boolean isNewLine(int);
    descriptor: (I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int code
         0: .line 69
            iload 0 /* code */
            bipush 10
            if_icmpeq 1
            iload 0 /* code */
            bipush 13
            if_icmpeq 1
            iload 0 /* code */
            sipush 8232
            if_icmpeq 1
            iload 0 /* code */
            sipush 8233
            if_icmpeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // int code
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  code  I
    MethodParameters:
      Name  Flags
      code  final

  public static boolean isNewLine(char[], int, int);
    descriptor: ([CII)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // char[] chars
        start local 1 // int p
        start local 2 // int end
         0: .line 73
            iload 1 /* p */
            iload 2 /* end */
            if_icmpge 1
            aload 0 /* chars */
            iload 1 /* p */
            caload
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.isNewLine:(I)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 2 // int end
        end local 1 // int p
        end local 0 // char[] chars
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  chars  [C
            0    2     1      p  I
            0    2     2    end  I
    MethodParameters:
       Name  Flags
      chars  final
      p      final
      end    final

  public static int prevCharHead(int, int);
    descriptor: (II)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // int p
        start local 1 // int s
         0: .line 78
            iload 1 /* s */
            iload 0 /* p */
            if_icmpgt 1
            iconst_m1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iload 1 /* s */
            iconst_1
            isub
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // int s
        end local 0 // int p
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     p  I
            0    3     1     s  I
    MethodParameters:
      Name  Flags
      p     final
      s     final

  public static int rightAdjustCharHeadWithPrev(int, jdk.nashorn.internal.runtime.regexp.joni.encoding.IntHolder);
    descriptor: (ILjdk/nashorn/internal/runtime/regexp/joni/encoding/IntHolder;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // int s
        start local 1 // jdk.nashorn.internal.runtime.regexp.joni.encoding.IntHolder prev
         0: .line 83
            aload 1 /* prev */
            ifnull 2
         1: .line 84
            aload 1 /* prev */
            iconst_m1
            putfield jdk.nashorn.internal.runtime.regexp.joni.encoding.IntHolder.value:I
         2: .line 86
      StackMap locals:
      StackMap stack:
            iload 0 /* s */
            ireturn
        end local 1 // jdk.nashorn.internal.runtime.regexp.joni.encoding.IntHolder prev
        end local 0 // int s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     s  I
            0    3     1  prev  Ljdk/nashorn/internal/runtime/regexp/joni/encoding/IntHolder;
    MethodParameters:
      Name  Flags
      s     final
      prev  final

  public static int stepBack(int, int, int);
    descriptor: (III)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // int p
        start local 1 // int sp
        start local 2 // int np
         0: .line 91
            iload 1 /* sp */
            istore 3 /* s */
        start local 3 // int s
         1: iload 2 /* np */
            istore 4 /* n */
        start local 4 // int n
         2: .line 92
            goto 6
         3: .line 93
      StackMap locals: int int
      StackMap stack:
            iload 3 /* s */
            iload 0 /* p */
            if_icmpgt 5
         4: .line 94
            iconst_m1
            ireturn
         5: .line 96
      StackMap locals:
      StackMap stack:
            iinc 3 /* s */ -1
         6: .line 92
      StackMap locals:
      StackMap stack:
            iload 3 /* s */
            iconst_m1
            if_icmpeq 7
            iload 4 /* n */
            iinc 4 /* n */ -1
            ifgt 3
         7: .line 98
      StackMap locals:
      StackMap stack:
            iload 3 /* s */
            ireturn
        end local 4 // int n
        end local 3 // int s
        end local 2 // int np
        end local 1 // int sp
        end local 0 // int p
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0     p  I
            0    8     1    sp  I
            0    8     2    np  I
            1    8     3     s  I
            2    8     4     n  I
    MethodParameters:
      Name  Flags
      p     final
      sp    final
      np    final

  public static int mbcodeStartPosition();
    descriptor: ()I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 102
            sipush 128
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static char[] caseFoldCodesByString(int, char);
    descriptor: (IC)[C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // int flag
        start local 1 // char c
         0: .line 106
            getstatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.EMPTYCHARS:[C
            astore 2 /* codes */
        start local 2 // char[] codes
         1: .line 107
            iload 1 /* c */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.toUpperCase:(C)C
            istore 3 /* upper */
        start local 3 // char upper
         2: .line 109
            iload 3 /* upper */
            iload 3 /* upper */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.toLowerCase:(C)C
            if_icmpeq 13
         3: .line 110
            iconst_0
            istore 4 /* count */
        start local 4 // int count
         4: .line 111
            iconst_0
            istore 5 /* ch */
        start local 5 // char ch
         5: .line 114
      StackMap locals: int int char[] int int int
      StackMap stack:
            iload 5 /* ch */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.toUpperCase:(C)C
            istore 6 /* u */
        start local 6 // char u
         6: .line 115
            iload 6 /* u */
            iload 3 /* upper */
            if_icmpne 11
            iload 5 /* ch */
            iload 1 /* c */
            if_icmpeq 11
         7: .line 117
            iload 4 /* count */
            ifne 8
            iconst_1
            newarray 5
            goto 9
      StackMap locals: int
      StackMap stack:
         8: aload 2 /* codes */
            iload 4 /* count */
            iconst_1
            iadd
            invokestatic java.util.Arrays.copyOf:([CI)[C
      StackMap locals:
      StackMap stack: char[]
         9: astore 2 /* codes */
        10: .line 118
            aload 2 /* codes */
            iload 4 /* count */
            iinc 4 /* count */ 1
            iload 5 /* ch */
            castore
        end local 6 // char u
        11: .line 120
      StackMap locals:
      StackMap stack:
            iload 5 /* ch */
            dup
            iconst_1
            iadd
            i2c
            istore 5 /* ch */
            ldc 65535
        12: .line 113
            if_icmplt 5
        end local 5 // char ch
        end local 4 // int count
        13: .line 122
      StackMap locals:
      StackMap stack:
            aload 2 /* codes */
            areturn
        end local 3 // char upper
        end local 2 // char[] codes
        end local 1 // char c
        end local 0 // int flag
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0   flag  I
            0   14     1      c  C
            1   14     2  codes  [C
            2   14     3  upper  C
            4   13     4  count  I
            5   13     5     ch  C
            6   11     6      u  C
    MethodParameters:
      Name  Flags
      flag  final
      c     final

  public static void applyAllCaseFold(int, jdk.nashorn.internal.runtime.regexp.joni.ApplyCaseFold, java.lang.Object);
    descriptor: (ILjdk/nashorn/internal/runtime/regexp/joni/ApplyCaseFold;Ljava/lang/Object;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // int flag
        start local 1 // jdk.nashorn.internal.runtime.regexp.joni.ApplyCaseFold fun
        start local 2 // java.lang.Object arg
         0: .line 126
            iconst_0
            istore 3 /* c */
        start local 3 // int c
         1: goto 7
         2: .line 127
      StackMap locals: int
      StackMap stack:
            iload 3 /* c */
            invokestatic java.lang.Character.isLowerCase:(I)Z
            ifeq 6
         3: .line 128
            iload 3 /* c */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.toUpperCase:(I)I
            istore 4 /* upper */
        start local 4 // int upper
         4: .line 130
            iload 4 /* upper */
            iload 3 /* c */
            if_icmpeq 6
         5: .line 131
            iload 3 /* c */
            iload 4 /* upper */
            aload 2 /* arg */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.ApplyCaseFold.apply:(IILjava/lang/Object;)V
        end local 4 // int upper
         6: .line 126
      StackMap locals:
      StackMap stack:
            iinc 3 /* c */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* c */
            ldc 65535
            if_icmplt 2
        end local 3 // int c
         8: .line 137
            iconst_0
            istore 3 /* c */
        start local 3 // int c
         9: goto 15
        10: .line 138
      StackMap locals:
      StackMap stack:
            iload 3 /* c */
            invokestatic java.lang.Character.isLowerCase:(I)Z
            ifeq 14
        11: .line 139
            iload 3 /* c */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.toUpperCase:(I)I
            istore 4 /* upper */
        start local 4 // int upper
        12: .line 141
            iload 4 /* upper */
            iload 3 /* c */
            if_icmpeq 14
        13: .line 142
            iload 4 /* upper */
            iload 3 /* c */
            aload 2 /* arg */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.ApplyCaseFold.apply:(IILjava/lang/Object;)V
        end local 4 // int upper
        14: .line 137
      StackMap locals:
      StackMap stack:
            iinc 3 /* c */ 1
      StackMap locals:
      StackMap stack:
        15: iload 3 /* c */
            ldc 65535
            if_icmplt 10
        end local 3 // int c
        16: .line 146
            return
        end local 2 // java.lang.Object arg
        end local 1 // jdk.nashorn.internal.runtime.regexp.joni.ApplyCaseFold fun
        end local 0 // int flag
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   17     0   flag  I
            0   17     1    fun  Ljdk/nashorn/internal/runtime/regexp/joni/ApplyCaseFold;
            0   17     2    arg  Ljava/lang/Object;
            1    8     3      c  I
            4    6     4  upper  I
            9   16     3      c  I
           12   14     4  upper  I
    MethodParameters:
      Name  Flags
      flag  final
      fun   final
      arg   final

  public static char toLowerCase(char);
    descriptor: (C)C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // char c
         0: .line 149
            iload 0 /* c */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.toLowerCase:(I)I
            i2c
            ireturn
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     c  C
    MethodParameters:
      Name  Flags
      c     final

  public static int toLowerCase(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // int c
         0: .line 153
            iload 0 /* c */
            sipush 128
            if_icmpge 4
         1: .line 154
            bipush 65
            iload 0 /* c */
            if_icmpgt 2
            iload 0 /* c */
            bipush 90
            if_icmpgt 2
            iload 0 /* c */
            bipush 32
            iadd
            goto 3
      StackMap locals:
      StackMap stack:
         2: iload 0 /* c */
      StackMap locals:
      StackMap stack: int
         3: ireturn
         4: .line 157
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            invokestatic java.lang.Character.toLowerCase:(I)I
            istore 1 /* lower */
        start local 1 // int lower
         5: .line 158
            iload 1 /* lower */
            sipush 128
            if_icmpge 6
            iload 0 /* c */
            goto 7
      StackMap locals: int
      StackMap stack:
         6: iload 1 /* lower */
      StackMap locals:
      StackMap stack: int
         7: ireturn
        end local 1 // int lower
        end local 0 // int c
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0      c  I
            5    8     1  lower  I
    MethodParameters:
      Name  Flags
      c     final

  public static char toUpperCase(char);
    descriptor: (C)C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // char c
         0: .line 163
            iload 0 /* c */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.toUpperCase:(I)I
            i2c
            ireturn
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     c  C
    MethodParameters:
      Name  Flags
      c     final

  public static int toUpperCase(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // int c
         0: .line 167
            iload 0 /* c */
            sipush 128
            if_icmpge 4
         1: .line 168
            bipush 97
            iload 0 /* c */
            if_icmpgt 2
            iload 0 /* c */
            bipush 122
            if_icmpgt 2
            iload 0 /* c */
            bipush -32
            iadd
            goto 3
      StackMap locals:
      StackMap stack:
         2: iload 0 /* c */
      StackMap locals:
      StackMap stack: int
         3: ireturn
         4: .line 171
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            invokestatic java.lang.Character.toUpperCase:(I)I
            istore 1 /* upper */
        start local 1 // int upper
         5: .line 172
            iload 1 /* upper */
            sipush 128
            if_icmpge 6
            iload 0 /* c */
            goto 7
      StackMap locals: int
      StackMap stack:
         6: iload 1 /* upper */
      StackMap locals:
      StackMap stack: int
         7: ireturn
        end local 1 // int upper
        end local 0 // int c
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0      c  I
            5    8     1  upper  I
    MethodParameters:
      Name  Flags
      c     final

  public static int[] ctypeCodeRange(int, jdk.nashorn.internal.runtime.regexp.joni.encoding.IntHolder);
    descriptor: (ILjdk/nashorn/internal/runtime/regexp/joni/encoding/IntHolder;)[I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // int ctype
        start local 1 // jdk.nashorn.internal.runtime.regexp.joni.encoding.IntHolder sbOut
         0: .line 176
            aload 1 /* sbOut */
            sipush 256
            putfield jdk.nashorn.internal.runtime.regexp.joni.encoding.IntHolder.value:I
         1: .line 177
            aconst_null
            astore 2 /* range */
        start local 2 // int[] range
         2: .line 179
            iload 0 /* ctype */
            getstatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.codeRanges:[[I
            arraylength
            if_icmpge 23
         3: .line 180
            getstatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.codeRanges:[[I
            iload 0 /* ctype */
            aaload
            astore 2 /* range */
         4: .line 182
            aload 2 /* range */
            ifnonnull 23
         5: .line 184
            bipush 16
            newarray 10
            astore 2 /* range */
         6: .line 185
            iconst_0
            istore 3 /* rangeCount */
        start local 3 // int rangeCount
         7: .line 186
            bipush -2
            istore 4 /* lastCode */
        start local 4 // int lastCode
         8: .line 188
            iconst_0
            istore 5 /* code */
        start local 5 // int code
         9: goto 18
        10: .line 189
      StackMap locals: int jdk.nashorn.internal.runtime.regexp.joni.encoding.IntHolder int[] int int int
      StackMap stack:
            iload 5 /* code */
            iload 0 /* ctype */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.isCodeCType:(II)Z
            ifeq 17
        11: .line 190
            iload 4 /* lastCode */
            iload 5 /* code */
            iconst_1
            isub
            if_icmpge 16
        12: .line 191
            iload 3 /* rangeCount */
            iconst_2
            imul
            iconst_2
            iadd
            aload 2 /* range */
            arraylength
            if_icmplt 14
        13: .line 192
            aload 2 /* range */
            aload 2 /* range */
            arraylength
            iconst_2
            imul
            invokestatic java.util.Arrays.copyOf:([II)[I
            astore 2 /* range */
        14: .line 194
      StackMap locals:
      StackMap stack:
            aload 2 /* range */
            iload 3 /* rangeCount */
            iconst_2
            imul
            iconst_1
            iadd
            iload 5 /* code */
            iastore
        15: .line 195
            iinc 3 /* rangeCount */ 1
        16: .line 197
      StackMap locals:
      StackMap stack:
            aload 2 /* range */
            iload 3 /* rangeCount */
            iconst_2
            imul
            iload 5 /* code */
            dup
            istore 4 /* lastCode */
            iastore
        17: .line 188
      StackMap locals:
      StackMap stack:
            iinc 5 /* code */ 1
      StackMap locals:
      StackMap stack:
        18: iload 5 /* code */
            ldc 65535
            if_icmple 10
        end local 5 // int code
        19: .line 201
            iload 3 /* rangeCount */
            iconst_2
            imul
            iconst_1
            iadd
            aload 2 /* range */
            arraylength
            if_icmpge 21
        20: .line 202
            aload 2 /* range */
            iload 3 /* rangeCount */
            iconst_2
            imul
            iconst_1
            iadd
            invokestatic java.util.Arrays.copyOf:([II)[I
            astore 2 /* range */
        21: .line 205
      StackMap locals:
      StackMap stack:
            aload 2 /* range */
            iconst_0
            iload 3 /* rangeCount */
            iastore
        22: .line 206
            getstatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.codeRanges:[[I
            iload 0 /* ctype */
            aload 2 /* range */
            aastore
        end local 4 // int lastCode
        end local 3 // int rangeCount
        23: .line 210
      StackMap locals:
      StackMap stack:
            aload 2 /* range */
            areturn
        end local 2 // int[] range
        end local 1 // jdk.nashorn.internal.runtime.regexp.joni.encoding.IntHolder sbOut
        end local 0 // int ctype
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   24     0       ctype  I
            0   24     1       sbOut  Ljdk/nashorn/internal/runtime/regexp/joni/encoding/IntHolder;
            2   24     2       range  [I
            7   23     3  rangeCount  I
            8   23     4    lastCode  I
            9   19     5        code  I
    MethodParameters:
       Name  Flags
      ctype  final
      sbOut  final

  public static boolean isInCodeRange(int[], int, int);
    descriptor: ([III)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // int[] p
        start local 1 // int offset
        start local 2 // int code
         0: .line 215
            iconst_0
            istore 3 /* low */
        start local 3 // int low
         1: .line 216
            aload 0 /* p */
            iload 1 /* offset */
            iaload
            istore 4 /* n */
        start local 4 // int n
         2: .line 217
            iload 4 /* n */
            istore 5 /* high */
        start local 5 // int high
         3: .line 219
            goto 9
         4: .line 220
      StackMap locals: int int int
      StackMap stack:
            iload 3 /* low */
            iload 5 /* high */
            iadd
            iconst_1
            ishr
            istore 6 /* x */
        start local 6 // int x
         5: .line 221
            iload 2 /* code */
            aload 0 /* p */
            iload 6 /* x */
            iconst_1
            ishl
            iconst_2
            iadd
            iload 1 /* offset */
            iadd
            iaload
            if_icmple 8
         6: .line 222
            iload 6 /* x */
            iconst_1
            iadd
            istore 3 /* low */
         7: .line 223
            goto 9
         8: .line 224
      StackMap locals: int
      StackMap stack:
            iload 6 /* x */
            istore 5 /* high */
        end local 6 // int x
         9: .line 219
      StackMap locals:
      StackMap stack:
            iload 3 /* low */
            iload 5 /* high */
            if_icmplt 4
        10: .line 227
            iload 3 /* low */
            iload 4 /* n */
            if_icmpge 11
            iload 2 /* code */
            aload 0 /* p */
            iload 3 /* low */
            iconst_1
            ishl
            iconst_1
            iadd
            iload 1 /* offset */
            iadd
            iaload
            if_icmplt 11
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        11: iconst_0
            ireturn
        end local 5 // int high
        end local 4 // int n
        end local 3 // int low
        end local 2 // int code
        end local 1 // int offset
        end local 0 // int[] p
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0       p  [I
            0   12     1  offset  I
            0   12     2    code  I
            1   12     3     low  I
            2   12     4       n  I
            3   12     5    high  I
            5    9     6       x  I
    MethodParameters:
        Name  Flags
      p       final
      offset  final
      code    final

  public static boolean isCodeCType(int, int);
    descriptor: (II)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // int code
        start local 1 // int ctype
         0: .line 240
            iload 1 /* ctype */
            tableswitch { // 0 - 14
                    0: 1
                    1: 2
                    2: 4
                    3: 6
                    4: 9
                    5: 10
                    6: 15
                    7: 16
                    8: 19
                    9: 21
                   10: 27
                   11: 28
                   12: 29
                   13: 31
                   14: 33
              default: 35
          }
         1: .line 242
      StackMap locals:
      StackMap stack:
            iload 0 /* code */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.isNewLine:(I)Z
            ireturn
         2: .line 244
      StackMap locals:
      StackMap stack:
            iconst_1
            iload 0 /* code */
            invokestatic java.lang.Character.getType:(I)I
            ishl
            sipush 510
            iand
            ifeq 3
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
         4: .line 246
      StackMap locals:
      StackMap stack:
            iload 0 /* code */
            bipush 9
            if_icmpeq 5
            iload 0 /* code */
            invokestatic java.lang.Character.getType:(I)I
            bipush 12
            if_icmpeq 5
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_1
            ireturn
         6: .line 248
      StackMap locals:
      StackMap stack:
            iload 0 /* code */
            invokestatic java.lang.Character.getType:(I)I
            istore 2 /* type */
        start local 2 // int type
         7: .line 249
            iconst_1
            iload 2 /* type */
            ishl
            ldc 884736
            iand
            ifne 8
            iload 2 /* type */
            ifeq 8
            iconst_0
            ireturn
      StackMap locals: int
      StackMap stack:
         8: iconst_1
            ireturn
        end local 2 // int type
         9: .line 251
      StackMap locals:
      StackMap stack:
            iload 0 /* code */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.isDigit:(I)Z
            ireturn
        10: .line 253
      StackMap locals:
      StackMap stack:
            iload 0 /* code */
            tableswitch { // 9 - 13
                    9: 11
                   10: 11
                   11: 11
                   12: 11
                   13: 11
              default: 12
          }
        11: .line 259
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        12: .line 261
      StackMap locals:
      StackMap stack:
            iload 0 /* code */
            invokestatic java.lang.Character.getType:(I)I
            istore 2 /* type */
        start local 2 // int type
        13: .line 262
            iconst_1
            iload 2 /* type */
            ishl
            ldc 585728
            iand
            ifne 14
            iload 2 /* type */
            ifeq 14
            iconst_1
            ireturn
      StackMap locals: int
      StackMap stack:
        14: iconst_0
            ireturn
        end local 2 // int type
        15: .line 265
      StackMap locals:
      StackMap stack:
            iload 0 /* code */
            invokestatic java.lang.Character.isLowerCase:(I)Z
            ireturn
        16: .line 267
      StackMap locals:
      StackMap stack:
            iload 0 /* code */
            invokestatic java.lang.Character.getType:(I)I
            istore 2 /* type */
        start local 2 // int type
        17: .line 268
            iconst_1
            iload 2 /* type */
            ishl
            ldc 557056
            iand
            ifne 18
            iload 2 /* type */
            ifeq 18
            iconst_1
            ireturn
      StackMap locals: int
      StackMap stack:
        18: iconst_0
            ireturn
        end local 2 // int type
        19: .line 270
      StackMap locals:
      StackMap stack:
            iconst_1
            iload 0 /* code */
            invokestatic java.lang.Character.getType:(I)I
            ishl
            ldc 1643118592
            iand
            ifeq 20
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        20: iconst_0
            ireturn
        21: .line 273
      StackMap locals:
      StackMap stack:
            iload 0 /* code */
            tableswitch { // 9 - 13
                    9: 22
                   10: 22
                   11: 22
                   12: 22
                   13: 22
              default: 23
          }
        22: .line 279
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        23: .line 282
      StackMap locals:
      StackMap stack:
            iconst_1
            iload 0 /* code */
            invokestatic java.lang.Character.getType:(I)I
            ishl
            sipush 28672
            iand
            ifne 26
        24: .line 283
            iload 0 /* code */
            ldc 65279
            if_icmpeq 26
            iload 0 /* code */
            sipush 6158
            if_icmpeq 26
        25: .line 282
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        26: iconst_1
            ireturn
        27: .line 286
      StackMap locals:
      StackMap stack:
            iload 0 /* code */
            invokestatic java.lang.Character.isUpperCase:(I)Z
            ireturn
        28: .line 288
      StackMap locals:
      StackMap stack:
            iload 0 /* code */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.isXDigit:(I)Z
            ireturn
        29: .line 290
      StackMap locals:
      StackMap stack:
            iconst_1
            iload 0 /* code */
            invokestatic java.lang.Character.getType:(I)I
            ishl
            ldc 8389630
            iand
            ifeq 30
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        30: iconst_0
            ireturn
        31: .line 292
      StackMap locals:
      StackMap stack:
            iconst_1
            iload 0 /* code */
            invokestatic java.lang.Character.getType:(I)I
            ishl
            sipush 1022
            iand
            ifeq 32
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        32: iconst_0
            ireturn
        33: .line 294
      StackMap locals:
      StackMap stack:
            iload 0 /* code */
            sipush 128
            if_icmpge 34
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        34: iconst_0
            ireturn
        35: .line 296
      StackMap locals:
      StackMap stack:
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "illegal character type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* ctype */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // int ctype
        end local 0 // int code
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   36     0   code  I
            0   36     1  ctype  I
            7    9     2   type  I
           13   15     2   type  I
           17   19     2   type  I
    MethodParameters:
       Name  Flags
      code   final
      ctype  final
}
SourceFile: "EncodingHelper.java"