public final class com.oracle.truffle.regex.charset.CodePointSet extends com.oracle.truffle.regex.charset.ImmutableSortedListOfIntRanges implements java.lang.Comparable<com.oracle.truffle.regex.charset.CodePointSet>, com.oracle.truffle.regex.tregex.util.json.JsonConvertible
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.oracle.truffle.regex.charset.CodePointSet
  super_class: com.oracle.truffle.regex.charset.ImmutableSortedListOfIntRanges
{
  private static final com.oracle.truffle.regex.charset.CodePointSet CONSTANT_EMPTY;
    descriptor: Lcom/oracle/truffle/regex/charset/CodePointSet;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final com.oracle.truffle.regex.charset.CodePointSet[] CONSTANT_ASCII;
    descriptor: [Lcom/oracle/truffle/regex/charset/CodePointSet;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final com.oracle.truffle.regex.charset.CodePointSet[] CONSTANT_CASE_FOLD_ASCII;
    descriptor: [Lcom/oracle/truffle/regex/charset/CodePointSet;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=8, locals=1, args_size=0
         0: .line 52
            ldc Lcom/oracle/truffle/regex/charset/CodePointSet;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic com.oracle.truffle.regex.charset.CodePointSet.$assertionsDisabled:Z
         3: .line 54
            new com.oracle.truffle.regex.charset.CodePointSet
            dup
            iconst_0
            newarray 10
            invokespecial com.oracle.truffle.regex.charset.CodePointSet.<init>:([I)V
            putstatic com.oracle.truffle.regex.charset.CodePointSet.CONSTANT_EMPTY:Lcom/oracle/truffle/regex/charset/CodePointSet;
         4: .line 56
            sipush 128
            anewarray com.oracle.truffle.regex.charset.CodePointSet
            putstatic com.oracle.truffle.regex.charset.CodePointSet.CONSTANT_ASCII:[Lcom/oracle/truffle/regex/charset/CodePointSet;
         5: .line 57
            bipush 26
            anewarray com.oracle.truffle.regex.charset.CodePointSet
            putstatic com.oracle.truffle.regex.charset.CodePointSet.CONSTANT_CASE_FOLD_ASCII:[Lcom/oracle/truffle/regex/charset/CodePointSet;
         6: .line 60
            getstatic com.oracle.truffle.regex.charset.CodePointSet.CONSTANT_ASCII:[Lcom/oracle/truffle/regex/charset/CodePointSet;
            iconst_0
            new com.oracle.truffle.regex.charset.CodePointSet
            dup
            iconst_2
            newarray 10
            invokespecial com.oracle.truffle.regex.charset.CodePointSet.<init>:([I)V
            aastore
         7: .line 61
            iconst_1
            istore 0 /* i */
        start local 0 // int i
         8: goto 11
         9: .line 62
      StackMap locals: int
      StackMap stack:
            getstatic com.oracle.truffle.regex.charset.CodePointSet.CONSTANT_ASCII:[Lcom/oracle/truffle/regex/charset/CodePointSet;
            iload 0 /* i */
            new com.oracle.truffle.regex.charset.CodePointSet
            dup
            iconst_2
            newarray 10
            dup
            iconst_0
            iload 0 /* i */
            iastore
            dup
            iconst_1
            iload 0 /* i */
            iastore
            invokespecial com.oracle.truffle.regex.charset.CodePointSet.<init>:([I)V
            aastore
        10: .line 61
            iinc 0 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 0 /* i */
            sipush 128
            if_icmplt 9
        end local 0 // int i
        12: .line 64
            bipush 65
            istore 0 /* i */
        start local 0 // int i
        13: goto 16
        14: .line 65
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.regex.charset.CodePointSet.CONSTANT_CASE_FOLD_ASCII:[Lcom/oracle/truffle/regex/charset/CodePointSet;
            iload 0 /* i */
            bipush 65
            isub
            new com.oracle.truffle.regex.charset.CodePointSet
            dup
            iconst_4
            newarray 10
            dup
            iconst_0
            iload 0 /* i */
            iastore
            dup
            iconst_1
            iload 0 /* i */
            iastore
            dup
            iconst_2
            iload 0 /* i */
            invokestatic java.lang.Character.toLowerCase:(I)I
            iastore
            dup
            iconst_3
            iload 0 /* i */
            invokestatic java.lang.Character.toLowerCase:(I)I
            iastore
            invokespecial com.oracle.truffle.regex.charset.CodePointSet.<init>:([I)V
            aastore
        15: .line 64
            iinc 0 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 0 /* i */
            bipush 90
            if_icmple 14
        end local 0 // int i
        17: .line 67
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            8   12     0     i  I
           13   17     0     i  I

  private void <init>(int[]);
    descriptor: ([I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.regex.charset.CodePointSet this
        start local 1 // int[] ranges
         0: .line 70
            aload 0 /* this */
            aload 1 /* ranges */
            invokespecial com.oracle.truffle.regex.charset.ImmutableSortedListOfIntRanges.<init>:([I)V
         1: .line 71
            getstatic com.oracle.truffle.regex.charset.CodePointSet.$assertionsDisabled:Z
            ifne 3
            aload 1 /* ranges */
            arraylength
            ifeq 3
            aload 1 /* ranges */
            iconst_0
            iaload
            iflt 2
            aload 1 /* ranges */
            aload 1 /* ranges */
            arraylength
            iconst_1
            isub
            iaload
            ifge 3
      StackMap locals: com.oracle.truffle.regex.charset.CodePointSet int[]
      StackMap stack:
         2: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 72
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int[] ranges
        end local 0 // com.oracle.truffle.regex.charset.CodePointSet this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lcom/oracle/truffle/regex/charset/CodePointSet;
            0    4     1  ranges  [I
    MethodParameters:
        Name  Flags
      ranges  

  public int[] getRanges();
    descriptor: ()[I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.regex.charset.CodePointSet this
         0: .line 75
            aload 0 /* this */
            getfield com.oracle.truffle.regex.charset.CodePointSet.ranges:[I
            areturn
        end local 0 // com.oracle.truffle.regex.charset.CodePointSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/regex/charset/CodePointSet;

  public static com.oracle.truffle.regex.charset.CodePointSet getEmpty();
    descriptor: ()Lcom/oracle/truffle/regex/charset/CodePointSet;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 79
            getstatic com.oracle.truffle.regex.charset.CodePointSet.CONSTANT_EMPTY:Lcom/oracle/truffle/regex/charset/CodePointSet;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static com.oracle.truffle.regex.charset.CodePointSet createNoDedup(int[]);
    descriptor: ([I)Lcom/oracle/truffle/regex/charset/CodePointSet;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int[] ranges
         0: .line 83
            new com.oracle.truffle.regex.charset.CodePointSet
            dup
            aload 0 /* ranges */
            invokespecial com.oracle.truffle.regex.charset.CodePointSet.<init>:([I)V
            areturn
        end local 0 // int[] ranges
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  ranges  [I
    MethodParameters:
        Name  Flags
      ranges  

  public static com.oracle.truffle.regex.charset.CodePointSet create(int);
    descriptor: (I)Lcom/oracle/truffle/regex/charset/CodePointSet;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // int single
         0: .line 87
            iload 0 /* single */
            sipush 128
            if_icmpge 2
         1: .line 88
            getstatic com.oracle.truffle.regex.charset.CodePointSet.CONSTANT_ASCII:[Lcom/oracle/truffle/regex/charset/CodePointSet;
            iload 0 /* single */
            aaload
            areturn
         2: .line 90
      StackMap locals:
      StackMap stack:
            new com.oracle.truffle.regex.charset.CodePointSet
            dup
            iconst_2
            newarray 10
            dup
            iconst_0
            iload 0 /* single */
            iastore
            dup
            iconst_1
            iload 0 /* single */
            iastore
            invokespecial com.oracle.truffle.regex.charset.CodePointSet.<init>:([I)V
            areturn
        end local 0 // int single
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  single  I
    MethodParameters:
        Name  Flags
      single  

  public static com.oracle.truffle.regex.charset.CodePointSet create(int[]);
    descriptor: ([I)Lcom/oracle/truffle/regex/charset/CodePointSet;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // int[] ranges
         0: .line 94
            aload 0 /* ranges */
            aload 0 /* ranges */
            arraylength
            invokestatic com.oracle.truffle.regex.charset.CodePointSet.checkConstants:([II)Lcom/oracle/truffle/regex/charset/CodePointSet;
            astore 1 /* constant */
        start local 1 // com.oracle.truffle.regex.charset.CodePointSet constant
         1: .line 95
            aload 1 /* constant */
            ifnonnull 3
         2: .line 96
            new com.oracle.truffle.regex.charset.CodePointSet
            dup
            aload 0 /* ranges */
            invokespecial com.oracle.truffle.regex.charset.CodePointSet.<init>:([I)V
            areturn
         3: .line 98
      StackMap locals: com.oracle.truffle.regex.charset.CodePointSet
      StackMap stack:
            aload 1 /* constant */
            areturn
        end local 1 // com.oracle.truffle.regex.charset.CodePointSet constant
        end local 0 // int[] ranges
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0    ranges  [I
            1    4     1  constant  Lcom/oracle/truffle/regex/charset/CodePointSet;
    MethodParameters:
        Name  Flags
      ranges  

  public static com.oracle.truffle.regex.charset.CodePointSet create(com.oracle.truffle.regex.tregex.buffer.IntRangesBuffer);
    descriptor: (Lcom/oracle/truffle/regex/tregex/buffer/IntRangesBuffer;)Lcom/oracle/truffle/regex/charset/CodePointSet;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.oracle.truffle.regex.tregex.buffer.IntRangesBuffer buf
         0: .line 102
            aload 0 /* buf */
            invokevirtual com.oracle.truffle.regex.tregex.buffer.IntRangesBuffer.getBuffer:()[I
            aload 0 /* buf */
            invokevirtual com.oracle.truffle.regex.tregex.buffer.IntRangesBuffer.length:()I
            invokestatic com.oracle.truffle.regex.charset.CodePointSet.checkConstants:([II)Lcom/oracle/truffle/regex/charset/CodePointSet;
            astore 1 /* constant */
        start local 1 // com.oracle.truffle.regex.charset.CodePointSet constant
         1: .line 103
            aload 1 /* constant */
            ifnonnull 3
         2: .line 104
            new com.oracle.truffle.regex.charset.CodePointSet
            dup
            aload 0 /* buf */
            invokevirtual com.oracle.truffle.regex.tregex.buffer.IntRangesBuffer.toArray:()[I
            invokespecial com.oracle.truffle.regex.charset.CodePointSet.<init>:([I)V
            areturn
         3: .line 106
      StackMap locals: com.oracle.truffle.regex.charset.CodePointSet
      StackMap stack:
            aload 1 /* constant */
            areturn
        end local 1 // com.oracle.truffle.regex.charset.CodePointSet constant
        end local 0 // com.oracle.truffle.regex.tregex.buffer.IntRangesBuffer buf
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0       buf  Lcom/oracle/truffle/regex/tregex/buffer/IntRangesBuffer;
            1    4     1  constant  Lcom/oracle/truffle/regex/charset/CodePointSet;
    MethodParameters:
      Name  Flags
      buf   

  private static com.oracle.truffle.regex.charset.CodePointSet checkConstants(int[], int);
    descriptor: ([II)Lcom/oracle/truffle/regex/charset/CodePointSet;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // int[] ranges
        start local 1 // int length
         0: .line 110
            iload 1 /* length */
            ifne 2
         1: .line 111
            getstatic com.oracle.truffle.regex.charset.CodePointSet.CONSTANT_EMPTY:Lcom/oracle/truffle/regex/charset/CodePointSet;
            areturn
         2: .line 113
      StackMap locals:
      StackMap stack:
            iload 1 /* length */
            iconst_2
            if_icmpne 5
         3: .line 114
            aload 0 /* ranges */
            iconst_0
            iaload
            aload 0 /* ranges */
            iconst_1
            iaload
            if_icmpne 5
            aload 0 /* ranges */
            iconst_0
            iaload
            sipush 128
            if_icmpge 5
         4: .line 115
            getstatic com.oracle.truffle.regex.charset.CodePointSet.CONSTANT_ASCII:[Lcom/oracle/truffle/regex/charset/CodePointSet;
            aload 0 /* ranges */
            iconst_0
            iaload
            aaload
            areturn
         5: .line 118
      StackMap locals:
      StackMap stack:
            iload 1 /* length */
            iconst_4
            if_icmpne 8
         6: .line 119
            aload 0 /* ranges */
            iconst_0
            iaload
            aload 0 /* ranges */
            iconst_1
            iaload
            if_icmpne 8
            aload 0 /* ranges */
            iconst_0
            iaload
            bipush 65
            if_icmplt 8
            aload 0 /* ranges */
            iconst_0
            iaload
            bipush 90
            if_icmpgt 8
            aload 0 /* ranges */
            iconst_2
            iaload
            aload 0 /* ranges */
            iconst_3
            iaload
            if_icmpne 8
            aload 0 /* ranges */
            iconst_2
            iaload
            aload 0 /* ranges */
            iconst_0
            iaload
            bipush 32
            ior
            if_icmpne 8
         7: .line 120
            getstatic com.oracle.truffle.regex.charset.CodePointSet.CONSTANT_CASE_FOLD_ASCII:[Lcom/oracle/truffle/regex/charset/CodePointSet;
            aload 0 /* ranges */
            iconst_0
            iaload
            bipush 65
            isub
            aaload
            areturn
         8: .line 123
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.regex.charset.Constants.CONSTANT_CODE_POINT_SETS:[Lcom/oracle/truffle/regex/charset/CodePointSet;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 13
      StackMap locals: int[] int top int int com.oracle.truffle.regex.charset.CodePointSet[]
      StackMap stack:
         9: aload 5
            iload 3
            aaload
            astore 2 /* predefCC */
        start local 2 // com.oracle.truffle.regex.charset.CodePointSet predefCC
        10: .line 124
            aload 2 /* predefCC */
            getfield com.oracle.truffle.regex.charset.CodePointSet.ranges:[I
            arraylength
            iload 1 /* length */
            if_icmpne 12
            aload 2 /* predefCC */
            getfield com.oracle.truffle.regex.charset.CodePointSet.ranges:[I
            aload 0 /* ranges */
            iload 1 /* length */
            invokestatic com.oracle.truffle.regex.charset.CodePointSet.rangesEqual:([I[II)Z
            ifeq 12
        11: .line 125
            aload 2 /* predefCC */
            areturn
        end local 2 // com.oracle.truffle.regex.charset.CodePointSet predefCC
        12: .line 123
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
        13: iload 3
            iload 4
            if_icmplt 9
        14: .line 128
            aconst_null
            areturn
        end local 1 // int length
        end local 0 // int[] ranges
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0    ranges  [I
            0   15     1    length  I
           10   12     2  predefCC  Lcom/oracle/truffle/regex/charset/CodePointSet;
    MethodParameters:
        Name  Flags
      ranges  
      length  

  public com.oracle.truffle.regex.charset.CodePointSet createEmpty();
    descriptor: ()Lcom/oracle/truffle/regex/charset/CodePointSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.regex.charset.CodePointSet this
         0: .line 134
            invokestatic com.oracle.truffle.regex.charset.CodePointSet.getEmpty:()Lcom/oracle/truffle/regex/charset/CodePointSet;
            areturn
        end local 0 // com.oracle.truffle.regex.charset.CodePointSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/regex/charset/CodePointSet;

  public com.oracle.truffle.regex.charset.CodePointSet create(com.oracle.truffle.regex.charset.RangesBuffer);
    descriptor: (Lcom/oracle/truffle/regex/charset/RangesBuffer;)Lcom/oracle/truffle/regex/charset/CodePointSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.regex.charset.CodePointSet this
        start local 1 // com.oracle.truffle.regex.charset.RangesBuffer buffer
         0: .line 140
            getstatic com.oracle.truffle.regex.charset.CodePointSet.$assertionsDisabled:Z
            ifne 1
            aload 1 /* buffer */
            instanceof com.oracle.truffle.regex.tregex.buffer.IntRangesBuffer
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 141
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            checkcast com.oracle.truffle.regex.tregex.buffer.IntRangesBuffer
            invokestatic com.oracle.truffle.regex.charset.CodePointSet.create:(Lcom/oracle/truffle/regex/tregex/buffer/IntRangesBuffer;)Lcom/oracle/truffle/regex/charset/CodePointSet;
            areturn
        end local 1 // com.oracle.truffle.regex.charset.RangesBuffer buffer
        end local 0 // com.oracle.truffle.regex.charset.CodePointSet this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/oracle/truffle/regex/charset/CodePointSet;
            0    2     1  buffer  Lcom/oracle/truffle/regex/charset/RangesBuffer;
    MethodParameters:
        Name  Flags
      buffer  

  public boolean equalsBuffer(com.oracle.truffle.regex.charset.RangesBuffer);
    descriptor: (Lcom/oracle/truffle/regex/charset/RangesBuffer;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.regex.charset.CodePointSet this
        start local 1 // com.oracle.truffle.regex.charset.RangesBuffer buffer
         0: .line 146
            getstatic com.oracle.truffle.regex.charset.CodePointSet.$assertionsDisabled:Z
            ifne 1
            aload 1 /* buffer */
            instanceof com.oracle.truffle.regex.tregex.buffer.IntRangesBuffer
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 147
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            checkcast com.oracle.truffle.regex.tregex.buffer.IntRangesBuffer
            astore 2 /* buf */
        start local 2 // com.oracle.truffle.regex.tregex.buffer.IntRangesBuffer buf
         2: .line 148
            aload 0 /* this */
            getfield com.oracle.truffle.regex.charset.CodePointSet.ranges:[I
            arraylength
            aload 2 /* buf */
            invokevirtual com.oracle.truffle.regex.tregex.buffer.IntRangesBuffer.length:()I
            if_icmpne 3
            aload 0 /* this */
            getfield com.oracle.truffle.regex.charset.CodePointSet.ranges:[I
            aload 2 /* buf */
            invokevirtual com.oracle.truffle.regex.tregex.buffer.IntRangesBuffer.getBuffer:()[I
            aload 0 /* this */
            getfield com.oracle.truffle.regex.charset.CodePointSet.ranges:[I
            arraylength
            invokestatic com.oracle.truffle.regex.charset.CodePointSet.rangesEqual:([I[II)Z
            ifeq 3
            iconst_1
            ireturn
      StackMap locals: com.oracle.truffle.regex.tregex.buffer.IntRangesBuffer
      StackMap stack:
         3: iconst_0
            ireturn
        end local 2 // com.oracle.truffle.regex.tregex.buffer.IntRangesBuffer buf
        end local 1 // com.oracle.truffle.regex.charset.RangesBuffer buffer
        end local 0 // com.oracle.truffle.regex.charset.CodePointSet this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lcom/oracle/truffle/regex/charset/CodePointSet;
            0    4     1  buffer  Lcom/oracle/truffle/regex/charset/RangesBuffer;
            2    4     2     buf  Lcom/oracle/truffle/regex/tregex/buffer/IntRangesBuffer;
    MethodParameters:
        Name  Flags
      buffer  

  public com.oracle.truffle.regex.charset.CodePointSet createInverse(com.oracle.truffle.regex.tregex.string.Encodings$Encoding);
    descriptor: (Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;)Lcom/oracle/truffle/regex/charset/CodePointSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.regex.charset.CodePointSet this
        start local 1 // com.oracle.truffle.regex.tregex.string.Encodings$Encoding encoding
         0: .line 154
            aload 0 /* this */
            aload 1 /* encoding */
            invokestatic com.oracle.truffle.regex.charset.CodePointSet.createInverse:(Lcom/oracle/truffle/regex/charset/SortedListOfRanges;Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;)Lcom/oracle/truffle/regex/charset/CodePointSet;
            areturn
        end local 1 // com.oracle.truffle.regex.tregex.string.Encodings$Encoding encoding
        end local 0 // com.oracle.truffle.regex.charset.CodePointSet this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/truffle/regex/charset/CodePointSet;
            0    1     1  encoding  Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;
    MethodParameters:
          Name  Flags
      encoding  

  public static com.oracle.truffle.regex.charset.CodePointSet createInverse(com.oracle.truffle.regex.charset.SortedListOfRanges, com.oracle.truffle.regex.tregex.string.Encodings$Encoding);
    descriptor: (Lcom/oracle/truffle/regex/charset/SortedListOfRanges;Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;)Lcom/oracle/truffle/regex/charset/CodePointSet;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.oracle.truffle.regex.charset.SortedListOfRanges src
        start local 1 // com.oracle.truffle.regex.tregex.string.Encodings$Encoding encoding
         0: .line 158
            aload 0 /* src */
            invokeinterface com.oracle.truffle.regex.charset.SortedListOfRanges.matchesNothing:()Z
            ifeq 2
         1: .line 159
            aload 1 /* encoding */
            invokevirtual com.oracle.truffle.regex.tregex.string.Encodings$Encoding.getFullSet:()Lcom/oracle/truffle/regex/charset/CodePointSet;
            areturn
         2: .line 161
      StackMap locals:
      StackMap stack:
            new com.oracle.truffle.regex.charset.CodePointSet
            dup
            aload 0 /* src */
            aload 1 /* encoding */
            invokestatic com.oracle.truffle.regex.charset.CodePointSet.createInverseArray:(Lcom/oracle/truffle/regex/charset/SortedListOfRanges;Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;)[I
            invokespecial com.oracle.truffle.regex.charset.CodePointSet.<init>:([I)V
            areturn
        end local 1 // com.oracle.truffle.regex.tregex.string.Encodings$Encoding encoding
        end local 0 // com.oracle.truffle.regex.charset.SortedListOfRanges src
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0       src  Lcom/oracle/truffle/regex/charset/SortedListOfRanges;
            0    3     1  encoding  Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;
    MethodParameters:
          Name  Flags
      src       
      encoding  

  public <T extends com.oracle.truffle.regex.charset.ImmutableSortedListOfRanges> T createIntersectionSingleRange();
    descriptor: (Lcom/oracle/truffle/regex/charset/ImmutableSortedListOfRanges;)Lcom/oracle/truffle/regex/charset/ImmutableSortedListOfRanges;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // com.oracle.truffle.regex.charset.CodePointSet this
        start local 1 // com.oracle.truffle.regex.charset.ImmutableSortedListOfRanges o
         0: .line 167
            getstatic com.oracle.truffle.regex.charset.CodePointSet.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.size:()I
            iconst_1
            if_icmpne 1
            aload 1 /* o */
            invokeinterface com.oracle.truffle.regex.charset.ImmutableSortedListOfRanges.isEmpty:()Z
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 168
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.getMin:()I
            aload 1 /* o */
            invokeinterface com.oracle.truffle.regex.charset.ImmutableSortedListOfRanges.getMin:()I
            if_icmpgt 4
            aload 0 /* this */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.getMax:()I
            aload 1 /* o */
            invokeinterface com.oracle.truffle.regex.charset.ImmutableSortedListOfRanges.getMax:()I
            if_icmplt 4
         3: .line 169
            aload 1 /* o */
            areturn
         4: .line 171
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* iLo */
        start local 2 // int iLo
         5: .line 172
            aload 1 /* o */
            invokeinterface com.oracle.truffle.regex.charset.ImmutableSortedListOfRanges.size:()I
            iconst_1
            isub
            istore 3 /* iHi */
        start local 3 // int iHi
         6: .line 173
            goto 8
         7: .line 174
      StackMap locals: int int
      StackMap stack:
            iinc 2 /* iLo */ 1
         8: .line 173
      StackMap locals:
      StackMap stack:
            iload 2 /* iLo */
            aload 1 /* o */
            invokeinterface com.oracle.truffle.regex.charset.ImmutableSortedListOfRanges.size:()I
            if_icmpge 11
            aload 1 /* o */
            iload 2 /* iLo */
            invokeinterface com.oracle.truffle.regex.charset.ImmutableSortedListOfRanges.getHi:(I)I
            aload 0 /* this */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.getMin:()I
            if_icmplt 7
         9: .line 176
            goto 11
        10: .line 177
      StackMap locals:
      StackMap stack:
            iinc 3 /* iHi */ -1
        11: .line 176
      StackMap locals:
      StackMap stack:
            iload 3 /* iHi */
            iflt 12
            aload 1 /* o */
            iload 3 /* iHi */
            invokeinterface com.oracle.truffle.regex.charset.ImmutableSortedListOfRanges.getLo:(I)I
            aload 0 /* this */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.getMax:()I
            if_icmpgt 10
        12: .line 179
      StackMap locals:
      StackMap stack:
            iload 3 /* iHi */
            iload 2 /* iLo */
            if_icmpge 14
        13: .line 180
            aload 0 /* this */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.createEmpty:()Lcom/oracle/truffle/regex/charset/CodePointSet;
            areturn
        14: .line 182
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            checkcast com.oracle.truffle.regex.charset.CodePointSet
            getfield com.oracle.truffle.regex.charset.CodePointSet.ranges:[I
            iload 2 /* iLo */
            iconst_2
            imul
            iload 3 /* iHi */
            iconst_1
            iadd
            iconst_2
            imul
            invokestatic java.util.Arrays.copyOfRange:([III)[I
            astore 4 /* intersection */
        start local 4 // int[] intersection
        15: .line 183
            aload 4 /* intersection */
            iconst_0
            aload 4 /* intersection */
            iconst_0
            iaload
            aload 0 /* this */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.getMin:()I
            invokestatic java.lang.Math.max:(II)I
            iastore
        16: .line 184
            aload 4 /* intersection */
            aload 4 /* intersection */
            arraylength
            iconst_1
            isub
            aload 4 /* intersection */
            aload 4 /* intersection */
            arraylength
            iconst_1
            isub
            iaload
            aload 0 /* this */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.getMax:()I
            invokestatic java.lang.Math.min:(II)I
            iastore
        17: .line 185
            aload 4 /* intersection */
            invokestatic com.oracle.truffle.regex.charset.CodePointSet.create:([I)Lcom/oracle/truffle/regex/charset/CodePointSet;
            areturn
        end local 4 // int[] intersection
        end local 3 // int iHi
        end local 2 // int iLo
        end local 1 // com.oracle.truffle.regex.charset.ImmutableSortedListOfRanges o
        end local 0 // com.oracle.truffle.regex.charset.CodePointSet this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   18     0          this  Lcom/oracle/truffle/regex/charset/CodePointSet;
            0   18     1             o  TT;
            5   18     2           iLo  I
            6   18     3           iHi  I
           15   18     4  intersection  [I
    Signature: <T::Lcom/oracle/truffle/regex/charset/ImmutableSortedListOfRanges;>(TT;)TT;
    MethodParameters:
      Name  Flags
      o     

  public int compareTo(com.oracle.truffle.regex.charset.CodePointSet);
    descriptor: (Lcom/oracle/truffle/regex/charset/CodePointSet;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.oracle.truffle.regex.charset.CodePointSet this
        start local 1 // com.oracle.truffle.regex.charset.CodePointSet o
         0: .line 190
            aload 0 /* this */
            aload 1 /* o */
            if_acmpne 2
         1: .line 191
            iconst_0
            ireturn
         2: .line 193
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.size:()I
            aload 1 /* o */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.size:()I
            isub
            istore 2 /* cmp */
        start local 2 // int cmp
         3: .line 194
            iload 2 /* cmp */
            ifeq 5
         4: .line 195
            iload 2 /* cmp */
            ireturn
         5: .line 197
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         6: goto 11
         7: .line 198
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* i */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.getLo:(I)I
            aload 1 /* o */
            iload 3 /* i */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.getLo:(I)I
            isub
            istore 2 /* cmp */
         8: .line 199
            iload 2 /* cmp */
            ifeq 10
         9: .line 200
            iload 2 /* cmp */
            ireturn
        10: .line 197
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 3 /* i */
            aload 0 /* this */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.size:()I
            if_icmplt 7
        end local 3 // int i
        12: .line 203
            iload 2 /* cmp */
            ireturn
        end local 2 // int cmp
        end local 1 // com.oracle.truffle.regex.charset.CodePointSet o
        end local 0 // com.oracle.truffle.regex.charset.CodePointSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lcom/oracle/truffle/regex/charset/CodePointSet;
            0   13     1     o  Lcom/oracle/truffle/regex/charset/CodePointSet;
            3   13     2   cmp  I
            6   12     3     i  I
    MethodParameters:
      Name  Flags
      o     

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.regex.charset.CodePointSet this
        start local 1 // java.lang.Object obj
         0: .line 208
            aload 0 /* this */
            aload 1 /* obj */
            if_acmpne 2
         1: .line 209
            iconst_1
            ireturn
         2: .line 211
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof com.oracle.truffle.regex.charset.CodePointSet
            ifeq 4
         3: .line 212
            aload 0 /* this */
            getfield com.oracle.truffle.regex.charset.CodePointSet.ranges:[I
            aload 1 /* obj */
            checkcast com.oracle.truffle.regex.charset.CodePointSet
            getfield com.oracle.truffle.regex.charset.CodePointSet.ranges:[I
            invokestatic java.util.Arrays.equals:([I[I)Z
            ireturn
         4: .line 214
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof com.oracle.truffle.regex.charset.SortedListOfRanges
            ifeq 6
         5: .line 215
            aload 0 /* this */
            aload 1 /* obj */
            checkcast com.oracle.truffle.regex.charset.SortedListOfRanges
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.equalsListOfRanges:(Lcom/oracle/truffle/regex/charset/SortedListOfRanges;)Z
            ireturn
         6: .line 217
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.Object obj
        end local 0 // com.oracle.truffle.regex.charset.CodePointSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/oracle/truffle/regex/charset/CodePointSet;
            0    7     1   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.regex.charset.CodePointSet this
         0: .line 222
            aload 0 /* this */
            getfield com.oracle.truffle.regex.charset.CodePointSet.ranges:[I
            invokestatic java.util.Arrays.hashCode:([I)I
            ireturn
        end local 0 // com.oracle.truffle.regex.charset.CodePointSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/regex/charset/CodePointSet;

  public com.oracle.truffle.regex.tregex.util.json.JsonValue toJson();
    descriptor: ()Lcom/oracle/truffle/regex/tregex/util/json/JsonValue;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.regex.charset.CodePointSet this
         0: .line 228
            aload 0 /* this */
            getfield com.oracle.truffle.regex.charset.CodePointSet.ranges:[I
            invokestatic com.oracle.truffle.regex.tregex.util.json.Json.array:([I)Lcom/oracle/truffle/regex/tregex/util/json/JsonValue;
            areturn
        end local 0 // com.oracle.truffle.regex.charset.CodePointSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/regex/charset/CodePointSet;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.regex.charset.CodePointSet this
         0: .line 234
            aload 0 /* this */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.defaultToString:()Ljava/lang/String;
            areturn
        end local 0 // com.oracle.truffle.regex.charset.CodePointSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/regex/charset/CodePointSet;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()

  public java.lang.String dumpRaw();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=1
        start local 0 // com.oracle.truffle.regex.charset.CodePointSet this
         0: .line 239
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.size:()I
            bipush 20
            imul
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 240
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 7
         3: .line 241
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            iload 2 /* i */
            ifle 5
         4: .line 242
            aload 1 /* sb */
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 244
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            ldc "0x%06x, 0x%06x"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            iload 2 /* i */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.getLo:(I)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            iload 2 /* i */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.getHi:(I)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 240
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            aload 0 /* this */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.size:()I
            if_icmplt 3
        end local 2 // int i
         8: .line 246
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder sb
        end local 0 // com.oracle.truffle.regex.charset.CodePointSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lcom/oracle/truffle/regex/charset/CodePointSet;
            1    9     1    sb  Ljava/lang/StringBuilder;
            2    8     2     i  I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()

  public int[] toArray();
    descriptor: ()[I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.regex.charset.CodePointSet this
         0: .line 251
            aload 0 /* this */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.getRanges:()[I
            areturn
        end local 0 // com.oracle.truffle.regex.charset.CodePointSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/regex/charset/CodePointSet;

  public byte[] inverseToByteArray(com.oracle.truffle.regex.tregex.string.Encodings$Encoding);
    descriptor: (Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;)[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // com.oracle.truffle.regex.charset.CodePointSet this
        start local 1 // com.oracle.truffle.regex.tregex.string.Encodings$Encoding encoding
         0: .line 255
            aload 0 /* this */
            aload 1 /* encoding */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.inverseValueCount:(Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;)I
            newarray 8
            astore 2 /* array */
        start local 2 // byte[] array
         1: .line 256
            iconst_0
            istore 3 /* index */
        start local 3 // int index
         2: .line 257
            iconst_m1
            istore 4 /* lastHi */
        start local 4 // int lastHi
         3: .line 258
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 13
         5: .line 259
      StackMap locals: com.oracle.truffle.regex.charset.CodePointSet com.oracle.truffle.regex.tregex.string.Encodings$Encoding byte[] int int int
      StackMap stack:
            iload 4 /* lastHi */
            iconst_1
            iadd
            istore 6 /* j */
        start local 6 // int j
         6: goto 10
         7: .line 260
      StackMap locals: int
      StackMap stack:
            getstatic com.oracle.truffle.regex.charset.CodePointSet.$assertionsDisabled:Z
            ifne 8
            iload 6 /* j */
            sipush 255
            if_icmple 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 261
      StackMap locals:
      StackMap stack:
            aload 2 /* array */
            iload 3 /* index */
            iinc 3 /* index */ 1
            iload 6 /* j */
            i2b
            bastore
         9: .line 259
            iinc 6 /* j */ 1
      StackMap locals:
      StackMap stack:
        10: iload 6 /* j */
            aload 0 /* this */
            iload 5 /* i */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.getLo:(I)I
            if_icmplt 7
        end local 6 // int j
        11: .line 263
            aload 0 /* this */
            iload 5 /* i */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.getHi:(I)I
            istore 4 /* lastHi */
        12: .line 258
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 5 /* i */
            aload 0 /* this */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.size:()I
            if_icmplt 5
        end local 5 // int i
        14: .line 265
            iload 4 /* lastHi */
            iconst_1
            iadd
            istore 5 /* j */
        start local 5 // int j
        15: goto 19
        16: .line 266
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.regex.charset.CodePointSet.$assertionsDisabled:Z
            ifne 17
            iload 5 /* j */
            sipush 255
            if_icmple 17
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        17: .line 267
      StackMap locals:
      StackMap stack:
            aload 2 /* array */
            iload 3 /* index */
            iinc 3 /* index */ 1
            iload 5 /* j */
            i2b
            bastore
        18: .line 265
            iinc 5 /* j */ 1
      StackMap locals:
      StackMap stack:
        19: iload 5 /* j */
            aload 1 /* encoding */
            invokevirtual com.oracle.truffle.regex.tregex.string.Encodings$Encoding.getMaxValue:()I
            if_icmple 16
        end local 5 // int j
        20: .line 269
            aload 2 /* array */
            areturn
        end local 4 // int lastHi
        end local 3 // int index
        end local 2 // byte[] array
        end local 1 // com.oracle.truffle.regex.tregex.string.Encodings$Encoding encoding
        end local 0 // com.oracle.truffle.regex.charset.CodePointSet this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   21     0      this  Lcom/oracle/truffle/regex/charset/CodePointSet;
            0   21     1  encoding  Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;
            1   21     2     array  [B
            2   21     3     index  I
            3   21     4    lastHi  I
            4   14     5         i  I
            6   11     6         j  I
           15   20     5         j  I
    MethodParameters:
          Name  Flags
      encoding  

  public char[] inverseToCharArray(com.oracle.truffle.regex.tregex.string.Encodings$Encoding);
    descriptor: (Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;)[C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // com.oracle.truffle.regex.charset.CodePointSet this
        start local 1 // com.oracle.truffle.regex.tregex.string.Encodings$Encoding encoding
         0: .line 273
            aload 0 /* this */
            aload 1 /* encoding */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.inverseValueCount:(Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;)I
            newarray 5
            astore 2 /* array */
        start local 2 // char[] array
         1: .line 274
            iconst_0
            istore 3 /* index */
        start local 3 // int index
         2: .line 275
            iconst_m1
            istore 4 /* lastHi */
        start local 4 // int lastHi
         3: .line 276
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 13
         5: .line 277
      StackMap locals: com.oracle.truffle.regex.charset.CodePointSet com.oracle.truffle.regex.tregex.string.Encodings$Encoding char[] int int int
      StackMap stack:
            iload 4 /* lastHi */
            iconst_1
            iadd
            istore 6 /* j */
        start local 6 // int j
         6: goto 10
         7: .line 278
      StackMap locals: int
      StackMap stack:
            getstatic com.oracle.truffle.regex.charset.CodePointSet.$assertionsDisabled:Z
            ifne 8
            iload 6 /* j */
            ldc 65535
            if_icmple 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 279
      StackMap locals:
      StackMap stack:
            aload 2 /* array */
            iload 3 /* index */
            iinc 3 /* index */ 1
            iload 6 /* j */
            i2c
            castore
         9: .line 277
            iinc 6 /* j */ 1
      StackMap locals:
      StackMap stack:
        10: iload 6 /* j */
            aload 0 /* this */
            iload 5 /* i */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.getLo:(I)I
            if_icmplt 7
        end local 6 // int j
        11: .line 281
            aload 0 /* this */
            iload 5 /* i */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.getHi:(I)I
            istore 4 /* lastHi */
        12: .line 276
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 5 /* i */
            aload 0 /* this */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.size:()I
            if_icmplt 5
        end local 5 // int i
        14: .line 283
            iload 4 /* lastHi */
            iconst_1
            iadd
            istore 5 /* j */
        start local 5 // int j
        15: goto 19
        16: .line 284
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.regex.charset.CodePointSet.$assertionsDisabled:Z
            ifne 17
            iload 5 /* j */
            ldc 65535
            if_icmple 17
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        17: .line 285
      StackMap locals:
      StackMap stack:
            aload 2 /* array */
            iload 3 /* index */
            iinc 3 /* index */ 1
            iload 5 /* j */
            i2c
            castore
        18: .line 283
            iinc 5 /* j */ 1
      StackMap locals:
      StackMap stack:
        19: iload 5 /* j */
            aload 1 /* encoding */
            invokevirtual com.oracle.truffle.regex.tregex.string.Encodings$Encoding.getMaxValue:()I
            if_icmple 16
        end local 5 // int j
        20: .line 287
            aload 2 /* array */
            areturn
        end local 4 // int lastHi
        end local 3 // int index
        end local 2 // char[] array
        end local 1 // com.oracle.truffle.regex.tregex.string.Encodings$Encoding encoding
        end local 0 // com.oracle.truffle.regex.charset.CodePointSet this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   21     0      this  Lcom/oracle/truffle/regex/charset/CodePointSet;
            0   21     1  encoding  Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;
            1   21     2     array  [C
            2   21     3     index  I
            3   21     4    lastHi  I
            4   14     5         i  I
            6   11     6         j  I
           15   20     5         j  I
    MethodParameters:
          Name  Flags
      encoding  

  public com.oracle.truffle.regex.charset.SortedListOfRanges create(com.oracle.truffle.regex.charset.RangesBuffer);
    descriptor: (Lcom/oracle/truffle/regex/charset/RangesBuffer;)Lcom/oracle/truffle/regex/charset/SortedListOfRanges;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.create:(Lcom/oracle/truffle/regex/charset/RangesBuffer;)Lcom/oracle/truffle/regex/charset/CodePointSet;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public com.oracle.truffle.regex.charset.SortedListOfRanges createEmpty();
    descriptor: ()Lcom/oracle/truffle/regex/charset/SortedListOfRanges;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.createEmpty:()Lcom/oracle/truffle/regex/charset/CodePointSet;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public com.oracle.truffle.regex.charset.SortedListOfRanges createInverse(com.oracle.truffle.regex.tregex.string.Encodings$Encoding);
    descriptor: (Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;)Lcom/oracle/truffle/regex/charset/SortedListOfRanges;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.createInverse:(Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;)Lcom/oracle/truffle/regex/charset/CodePointSet;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public int compareTo(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast com.oracle.truffle.regex.charset.CodePointSet
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.compareTo:(Lcom/oracle/truffle/regex/charset/CodePointSet;)I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Lcom/oracle/truffle/regex/charset/ImmutableSortedListOfIntRanges;Ljava/lang/Comparable<Lcom/oracle/truffle/regex/charset/CodePointSet;>;Lcom/oracle/truffle/regex/tregex/util/json/JsonConvertible;
SourceFile: "CodePointSet.java"
InnerClasses:
  public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
  public abstract Encoding = com.oracle.truffle.regex.tregex.string.Encodings$Encoding of com.oracle.truffle.regex.tregex.string.Encodings