public class com.oracle.truffle.regex.charset.CharMatchers
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.truffle.regex.charset.CharMatchers
  super_class: java.lang.Object
{
  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=1, locals=0, args_size=0
         0: .line 65
            ldc Lcom/oracle/truffle/regex/charset/CharMatchers;
            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.CharMatchers.$assertionsDisabled:Z
            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 // com.oracle.truffle.regex.charset.CharMatchers this
         0: .line 65
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.oracle.truffle.regex.charset.CharMatchers this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/regex/charset/CharMatchers;

  public static com.oracle.truffle.regex.tregex.matchers.CharMatcher createMatcher(com.oracle.truffle.regex.charset.CodePointSet, com.oracle.truffle.regex.tregex.buffer.CompilationBuffer);
    descriptor: (Lcom/oracle/truffle/regex/charset/CodePointSet;Lcom/oracle/truffle/regex/tregex/buffer/CompilationBuffer;)Lcom/oracle/truffle/regex/tregex/matchers/CharMatcher;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.regex.charset.CodePointSet cps
        start local 1 // com.oracle.truffle.regex.tregex.buffer.CompilationBuffer compilationBuffer
         0: .line 68
            aload 0 /* cps */
            aload 1 /* compilationBuffer */
            invokevirtual com.oracle.truffle.regex.tregex.buffer.CompilationBuffer.getEncoding:()Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.matchesMinAndMax:(Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;)Z
            ifne 1
            aload 0 /* cps */
            aload 1 /* compilationBuffer */
            invokevirtual com.oracle.truffle.regex.tregex.buffer.CompilationBuffer.getEncoding:()Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.inverseIsSameHighByte:(Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;)Z
            ifeq 2
         1: .line 70
      StackMap locals:
      StackMap stack:
            aload 0 /* cps */
            aload 1 /* compilationBuffer */
            invokevirtual com.oracle.truffle.regex.tregex.buffer.CompilationBuffer.getEncoding:()Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.createInverse:(Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;)Lcom/oracle/truffle/regex/charset/CodePointSet;
            aload 1 /* compilationBuffer */
            iconst_1
            invokestatic com.oracle.truffle.regex.charset.CharMatchers.createMatcher:(Lcom/oracle/truffle/regex/charset/CodePointSet;Lcom/oracle/truffle/regex/tregex/buffer/CompilationBuffer;Z)Lcom/oracle/truffle/regex/tregex/matchers/CharMatcher;
            areturn
         2: .line 72
      StackMap locals:
      StackMap stack:
            aload 0 /* cps */
            aload 1 /* compilationBuffer */
            iconst_0
            invokestatic com.oracle.truffle.regex.charset.CharMatchers.createMatcher:(Lcom/oracle/truffle/regex/charset/CodePointSet;Lcom/oracle/truffle/regex/tregex/buffer/CompilationBuffer;Z)Lcom/oracle/truffle/regex/tregex/matchers/CharMatcher;
            areturn
        end local 1 // com.oracle.truffle.regex.tregex.buffer.CompilationBuffer compilationBuffer
        end local 0 // com.oracle.truffle.regex.charset.CodePointSet cps
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    3     0                cps  Lcom/oracle/truffle/regex/charset/CodePointSet;
            0    3     1  compilationBuffer  Lcom/oracle/truffle/regex/tregex/buffer/CompilationBuffer;
    MethodParameters:
                   Name  Flags
      cps                
      compilationBuffer  

  private static com.oracle.truffle.regex.tregex.matchers.CharMatcher createMatcher(com.oracle.truffle.regex.charset.CodePointSet, com.oracle.truffle.regex.tregex.buffer.CompilationBuffer, boolean);
    descriptor: (Lcom/oracle/truffle/regex/charset/CodePointSet;Lcom/oracle/truffle/regex/tregex/buffer/CompilationBuffer;Z)Lcom/oracle/truffle/regex/tregex/matchers/CharMatcher;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // com.oracle.truffle.regex.charset.CodePointSet cps
        start local 1 // com.oracle.truffle.regex.tregex.buffer.CompilationBuffer compilationBuffer
        start local 2 // boolean inverse
         0: .line 76
            aload 0 /* cps */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.isEmpty:()Z
            ifeq 2
         1: .line 77
            iload 2 /* inverse */
            invokestatic com.oracle.truffle.regex.tregex.matchers.EmptyMatcher.create:(Z)Lcom/oracle/truffle/regex/tregex/matchers/CharMatcher;
            areturn
         2: .line 79
      StackMap locals:
      StackMap stack:
            aload 0 /* cps */
            aload 1 /* compilationBuffer */
            invokevirtual com.oracle.truffle.regex.tregex.buffer.CompilationBuffer.getEncoding:()Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.matchesEverything:(Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;)Z
            ifeq 4
         3: .line 80
            iload 2 /* inverse */
            invokestatic com.oracle.truffle.regex.tregex.matchers.AnyMatcher.create:(Z)Lcom/oracle/truffle/regex/tregex/matchers/CharMatcher;
            areturn
         4: .line 82
      StackMap locals:
      StackMap stack:
            aload 0 /* cps */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.matchesSingleChar:()Z
            ifeq 6
         5: .line 83
            iload 2 /* inverse */
            aload 0 /* cps */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.getMin:()I
            invokestatic com.oracle.truffle.regex.tregex.matchers.SingleCharMatcher.create:(ZI)Lcom/oracle/truffle/regex/tregex/matchers/SingleCharMatcher;
            areturn
         6: .line 85
      StackMap locals:
      StackMap stack:
            aload 0 /* cps */
            iconst_2
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.valueCountEquals:(I)Z
            ifeq 8
         7: .line 86
            iload 2 /* inverse */
            aload 0 /* cps */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.getMin:()I
            aload 0 /* cps */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.getMax:()I
            invokestatic com.oracle.truffle.regex.tregex.matchers.TwoCharMatcher.create:(ZII)Lcom/oracle/truffle/regex/tregex/matchers/TwoCharMatcher;
            areturn
         8: .line 88
      StackMap locals:
      StackMap stack:
            aload 0 /* cps */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.size:()I
            istore 3 /* size */
        start local 3 // int size
         9: .line 89
            iload 3 /* size */
            iconst_1
            if_icmpne 11
        10: .line 90
            iload 2 /* inverse */
            aload 0 /* cps */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.getMin:()I
            aload 0 /* cps */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.getMax:()I
            invokestatic com.oracle.truffle.regex.tregex.matchers.SingleRangeMatcher.create:(ZII)Lcom/oracle/truffle/regex/tregex/matchers/SingleRangeMatcher;
            areturn
        11: .line 92
      StackMap locals: int
      StackMap stack:
            aload 0 /* cps */
            iload 3 /* size */
            invokestatic com.oracle.truffle.regex.charset.CharMatchers.preferRangeListMatcherOverBitSetMatcher:(Lcom/oracle/truffle/regex/charset/CodePointSet;I)Z
            ifeq 13
        12: .line 93
            iload 2 /* inverse */
            aload 0 /* cps */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.toArray:()[I
            invokestatic com.oracle.truffle.regex.tregex.matchers.RangeListMatcher.create:(Z[I)Lcom/oracle/truffle/regex/tregex/matchers/RangeListMatcher;
            areturn
        13: .line 95
      StackMap locals:
      StackMap stack:
            aload 0 /* cps */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.getMin:()I
            invokestatic com.oracle.truffle.regex.util.BitSets.highByte:(I)I
            aload 0 /* cps */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.getMax:()I
            invokestatic com.oracle.truffle.regex.util.BitSets.highByte:(I)I
            if_icmpne 15
        14: .line 96
            aload 0 /* cps */
            aload 1 /* compilationBuffer */
            iload 2 /* inverse */
            invokestatic com.oracle.truffle.regex.charset.CharMatchers.convertToBitSetMatcher:(Lcom/oracle/truffle/regex/charset/CodePointSet;Lcom/oracle/truffle/regex/tregex/buffer/CompilationBuffer;Z)Lcom/oracle/truffle/regex/tregex/matchers/InvertibleCharMatcher;
            areturn
        15: .line 98
      StackMap locals:
      StackMap stack:
            iload 3 /* size */
            bipush 100
            if_icmple 17
            aload 0 /* cps */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.getMax:()I
            ldc 65535
            if_icmpgt 17
        16: .line 99
            iload 2 /* inverse */
            aload 0 /* cps */
            invokestatic com.oracle.truffle.regex.tregex.matchers.MultiBitSetMatcher.fromRanges:(ZLcom/oracle/truffle/regex/charset/ImmutableSortedListOfIntRanges;)Lcom/oracle/truffle/regex/tregex/matchers/MultiBitSetMatcher;
            areturn
        17: .line 101
      StackMap locals:
      StackMap stack:
            aload 0 /* cps */
            aload 1 /* compilationBuffer */
            invokestatic com.oracle.truffle.regex.charset.CompressedCodePointSet.create:(Lcom/oracle/truffle/regex/charset/ImmutableSortedListOfIntRanges;Lcom/oracle/truffle/regex/tregex/buffer/CompilationBuffer;)Lcom/oracle/truffle/regex/charset/CompressedCodePointSet;
            astore 4 /* ccps */
        start local 4 // com.oracle.truffle.regex.charset.CompressedCodePointSet ccps
        18: .line 102
            aload 4 /* ccps */
            invokevirtual com.oracle.truffle.regex.charset.CompressedCodePointSet.hasBitSets:()Z
            ifeq 20
        19: .line 103
            iload 2 /* inverse */
            aload 4 /* ccps */
            invokestatic com.oracle.truffle.regex.tregex.matchers.HybridBitSetMatcher.create:(ZLcom/oracle/truffle/regex/charset/CompressedCodePointSet;)Lcom/oracle/truffle/regex/tregex/matchers/HybridBitSetMatcher;
            areturn
        20: .line 104
      StackMap locals: com.oracle.truffle.regex.charset.CompressedCodePointSet
      StackMap stack:
            aload 4 /* ccps */
            invokevirtual com.oracle.truffle.regex.charset.CompressedCodePointSet.size:()I
            bipush 10
            if_icmpgt 22
        21: .line 105
            iload 2 /* inverse */
            aload 4 /* ccps */
            invokevirtual com.oracle.truffle.regex.charset.CompressedCodePointSet.getRanges:()[I
            invokestatic com.oracle.truffle.regex.tregex.matchers.RangeListMatcher.create:(Z[I)Lcom/oracle/truffle/regex/tregex/matchers/RangeListMatcher;
            areturn
        22: .line 107
      StackMap locals:
      StackMap stack:
            iload 2 /* inverse */
            aload 4 /* ccps */
            invokevirtual com.oracle.truffle.regex.charset.CompressedCodePointSet.getRanges:()[I
            invokestatic com.oracle.truffle.regex.tregex.matchers.RangeTreeMatcher.fromRanges:(Z[I)Lcom/oracle/truffle/regex/tregex/matchers/RangeTreeMatcher;
            areturn
        end local 4 // com.oracle.truffle.regex.charset.CompressedCodePointSet ccps
        end local 3 // int size
        end local 2 // boolean inverse
        end local 1 // com.oracle.truffle.regex.tregex.buffer.CompilationBuffer compilationBuffer
        end local 0 // com.oracle.truffle.regex.charset.CodePointSet cps
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   23     0                cps  Lcom/oracle/truffle/regex/charset/CodePointSet;
            0   23     1  compilationBuffer  Lcom/oracle/truffle/regex/tregex/buffer/CompilationBuffer;
            0   23     2            inverse  Z
            9   23     3               size  I
           18   23     4               ccps  Lcom/oracle/truffle/regex/charset/CompressedCodePointSet;
    MethodParameters:
                   Name  Flags
      cps                
      compilationBuffer  
      inverse            

  private static boolean preferRangeListMatcherOverBitSetMatcher(com.oracle.truffle.regex.charset.CodePointSet, int);
    descriptor: (Lcom/oracle/truffle/regex/charset/CodePointSet;I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.regex.charset.CodePointSet cps
        start local 1 // int size
         0: .line 115
            iload 1 /* size */
            iconst_2
            if_icmple 1
            aload 0 /* cps */
            iconst_4
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.valueCountMax:(I)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 1 // int size
        end local 0 // com.oracle.truffle.regex.charset.CodePointSet cps
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   cps  Lcom/oracle/truffle/regex/charset/CodePointSet;
            0    2     1  size  I
    MethodParameters:
      Name  Flags
      cps   
      size  

  private static com.oracle.truffle.regex.tregex.matchers.InvertibleCharMatcher convertToBitSetMatcher(com.oracle.truffle.regex.charset.CodePointSet, com.oracle.truffle.regex.tregex.buffer.CompilationBuffer, boolean);
    descriptor: (Lcom/oracle/truffle/regex/charset/CodePointSet;Lcom/oracle/truffle/regex/tregex/buffer/CompilationBuffer;Z)Lcom/oracle/truffle/regex/tregex/matchers/InvertibleCharMatcher;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // com.oracle.truffle.regex.charset.CodePointSet cps
        start local 1 // com.oracle.truffle.regex.tregex.buffer.CompilationBuffer compilationBuffer
        start local 2 // boolean inverse
         0: .line 119
            aload 0 /* cps */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.getMin:()I
            invokestatic com.oracle.truffle.regex.util.BitSets.highByte:(I)I
            istore 3 /* highByte */
        start local 3 // int highByte
         1: .line 120
            aload 1 /* compilationBuffer */
            invokevirtual com.oracle.truffle.regex.tregex.buffer.CompilationBuffer.getByteSizeBitSet:()Lcom/oracle/truffle/regex/util/CompilationFinalBitSet;
            astore 4 /* bs */
        start local 4 // com.oracle.truffle.regex.util.CompilationFinalBitSet bs
         2: .line 121
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: goto 8
         4: .line 122
      StackMap locals: int com.oracle.truffle.regex.util.CompilationFinalBitSet int
      StackMap stack:
            getstatic com.oracle.truffle.regex.charset.CharMatchers.$assertionsDisabled:Z
            ifne 6
            aload 0 /* cps */
            iload 5 /* i */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.getLo:(I)I
            invokestatic com.oracle.truffle.regex.util.BitSets.highByte:(I)I
            iload 3 /* highByte */
            if_icmpne 5
            aload 0 /* cps */
            iload 5 /* i */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.getHi:(I)I
            invokestatic com.oracle.truffle.regex.util.BitSets.highByte:(I)I
            iload 3 /* highByte */
            if_icmpeq 6
      StackMap locals:
      StackMap stack:
         5: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 123
      StackMap locals:
      StackMap stack:
            aload 4 /* bs */
            aload 0 /* cps */
            iload 5 /* i */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.getLo:(I)I
            invokestatic com.oracle.truffle.regex.util.BitSets.lowByte:(I)I
            aload 0 /* cps */
            iload 5 /* i */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.getHi:(I)I
            invokestatic com.oracle.truffle.regex.util.BitSets.lowByte:(I)I
            invokevirtual com.oracle.truffle.regex.util.CompilationFinalBitSet.setRange:(II)V
         7: .line 121
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 5 /* i */
            aload 0 /* cps */
            invokevirtual com.oracle.truffle.regex.charset.CodePointSet.size:()I
            if_icmplt 4
        end local 5 // int i
         9: .line 125
            iload 2 /* inverse */
            iload 3 /* highByte */
            aload 4 /* bs */
            invokevirtual com.oracle.truffle.regex.util.CompilationFinalBitSet.toLongArray:()[J
            invokestatic com.oracle.truffle.regex.tregex.matchers.BitSetMatcher.create:(ZI[J)Lcom/oracle/truffle/regex/tregex/matchers/InvertibleCharMatcher;
            areturn
        end local 4 // com.oracle.truffle.regex.util.CompilationFinalBitSet bs
        end local 3 // int highByte
        end local 2 // boolean inverse
        end local 1 // com.oracle.truffle.regex.tregex.buffer.CompilationBuffer compilationBuffer
        end local 0 // com.oracle.truffle.regex.charset.CodePointSet cps
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   10     0                cps  Lcom/oracle/truffle/regex/charset/CodePointSet;
            0   10     1  compilationBuffer  Lcom/oracle/truffle/regex/tregex/buffer/CompilationBuffer;
            0   10     2            inverse  Z
            1   10     3           highByte  I
            2   10     4                 bs  Lcom/oracle/truffle/regex/util/CompilationFinalBitSet;
            3    9     5                  i  I
    MethodParameters:
                   Name  Flags
      cps                
      compilationBuffer  
      inverse            

  public static java.lang.String rangesToString(int[]);
    descriptor: ([I)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int[] ranges
         0: .line 130
            aload 0 /* ranges */
            iconst_0
            invokestatic com.oracle.truffle.regex.charset.CharMatchers.rangesToString:([IZ)Ljava/lang/String;
            areturn
        end local 0 // int[] ranges
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  ranges  [I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
        Name  Flags
      ranges  

  public static java.lang.String rangesToString(int[], boolean);
    descriptor: ([IZ)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // int[] ranges
        start local 1 // boolean numeric
         0: .line 135
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* sb */
        start local 2 // java.lang.StringBuilder sb
         1: .line 136
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 8
         3: .line 137
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            iload 1 /* numeric */
            ifeq 6
         4: .line 138
            aload 2 /* sb */
            ldc "["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* ranges */
            iload 3 /* i */
            iaload
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "-"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* ranges */
            iload 3 /* i */
            iconst_1
            iadd
            iaload
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 139
            goto 7
         6: .line 140
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            aload 0 /* ranges */
            iload 3 /* i */
            iaload
            aload 0 /* ranges */
            iload 3 /* i */
            iconst_1
            iadd
            iaload
            invokestatic com.oracle.truffle.regex.charset.Range.toString:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 136
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 2
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            aload 0 /* ranges */
            arraylength
            if_icmplt 3
        end local 3 // int i
         9: .line 143
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder sb
        end local 1 // boolean numeric
        end local 0 // int[] ranges
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0   ranges  [I
            0   10     1  numeric  Z
            1   10     2       sb  Ljava/lang/StringBuilder;
            2    9     3        i  I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
         Name  Flags
      ranges   
      numeric  
}
SourceFile: "CharMatchers.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