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: 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 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 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 start local 1 0: aload 0
aload 1
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
aload 1
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: StackMap locals:
StackMap stack:
aload 0
aload 1
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
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: StackMap locals:
StackMap stack:
aload 0
aload 1
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 end local 0 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 start local 1 start local 2 0: aload 0
invokevirtual com.oracle.truffle.regex.charset.CodePointSet.isEmpty:()Z
ifeq 2
1: iload 2
invokestatic com.oracle.truffle.regex.tregex.matchers.EmptyMatcher.create:(Z)Lcom/oracle/truffle/regex/tregex/matchers/CharMatcher;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
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: iload 2
invokestatic com.oracle.truffle.regex.tregex.matchers.AnyMatcher.create:(Z)Lcom/oracle/truffle/regex/tregex/matchers/CharMatcher;
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.regex.charset.CodePointSet.matchesSingleChar:()Z
ifeq 6
5: iload 2
aload 0
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: StackMap locals:
StackMap stack:
aload 0
iconst_2
invokevirtual com.oracle.truffle.regex.charset.CodePointSet.valueCountEquals:(I)Z
ifeq 8
7: iload 2
aload 0
invokevirtual com.oracle.truffle.regex.charset.CodePointSet.getMin:()I
aload 0
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: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.regex.charset.CodePointSet.size:()I
istore 3
start local 3 9: iload 3
iconst_1
if_icmpne 11
10: iload 2
aload 0
invokevirtual com.oracle.truffle.regex.charset.CodePointSet.getMin:()I
aload 0
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: StackMap locals: int
StackMap stack:
aload 0
iload 3
invokestatic com.oracle.truffle.regex.charset.CharMatchers.preferRangeListMatcherOverBitSetMatcher:(Lcom/oracle/truffle/regex/charset/CodePointSet;I)Z
ifeq 13
12: iload 2
aload 0
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: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.regex.charset.CodePointSet.getMin:()I
invokestatic com.oracle.truffle.regex.util.BitSets.highByte:(I)I
aload 0
invokevirtual com.oracle.truffle.regex.charset.CodePointSet.getMax:()I
invokestatic com.oracle.truffle.regex.util.BitSets.highByte:(I)I
if_icmpne 15
14: aload 0
aload 1
iload 2
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: StackMap locals:
StackMap stack:
iload 3
bipush 100
if_icmple 17
aload 0
invokevirtual com.oracle.truffle.regex.charset.CodePointSet.getMax:()I
ldc 65535
if_icmpgt 17
16: iload 2
aload 0
invokestatic com.oracle.truffle.regex.tregex.matchers.MultiBitSetMatcher.fromRanges:(ZLcom/oracle/truffle/regex/charset/ImmutableSortedListOfIntRanges;)Lcom/oracle/truffle/regex/tregex/matchers/MultiBitSetMatcher;
areturn
17: StackMap locals:
StackMap stack:
aload 0
aload 1
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
start local 4 18: aload 4
invokevirtual com.oracle.truffle.regex.charset.CompressedCodePointSet.hasBitSets:()Z
ifeq 20
19: iload 2
aload 4
invokestatic com.oracle.truffle.regex.tregex.matchers.HybridBitSetMatcher.create:(ZLcom/oracle/truffle/regex/charset/CompressedCodePointSet;)Lcom/oracle/truffle/regex/tregex/matchers/HybridBitSetMatcher;
areturn
20: StackMap locals: com.oracle.truffle.regex.charset.CompressedCodePointSet
StackMap stack:
aload 4
invokevirtual com.oracle.truffle.regex.charset.CompressedCodePointSet.size:()I
bipush 10
if_icmpgt 22
21: iload 2
aload 4
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: StackMap locals:
StackMap stack:
iload 2
aload 4
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 end local 3 end local 2 end local 1 end local 0 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 start local 1 0: iload 1
iconst_2
if_icmple 1
aload 0
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 end local 0 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 start local 1 start local 2 0: aload 0
invokevirtual com.oracle.truffle.regex.charset.CodePointSet.getMin:()I
invokestatic com.oracle.truffle.regex.util.BitSets.highByte:(I)I
istore 3
start local 3 1: aload 1
invokevirtual com.oracle.truffle.regex.tregex.buffer.CompilationBuffer.getByteSizeBitSet:()Lcom/oracle/truffle/regex/util/CompilationFinalBitSet;
astore 4
start local 4 2: iconst_0
istore 5
start local 5 3: goto 8
4: 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
iload 5
invokevirtual com.oracle.truffle.regex.charset.CodePointSet.getLo:(I)I
invokestatic com.oracle.truffle.regex.util.BitSets.highByte:(I)I
iload 3
if_icmpne 5
aload 0
iload 5
invokevirtual com.oracle.truffle.regex.charset.CodePointSet.getHi:(I)I
invokestatic com.oracle.truffle.regex.util.BitSets.highByte:(I)I
iload 3
if_icmpeq 6
StackMap locals:
StackMap stack:
5: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals:
StackMap stack:
aload 4
aload 0
iload 5
invokevirtual com.oracle.truffle.regex.charset.CodePointSet.getLo:(I)I
invokestatic com.oracle.truffle.regex.util.BitSets.lowByte:(I)I
aload 0
iload 5
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: iinc 5 1
StackMap locals:
StackMap stack:
8: iload 5
aload 0
invokevirtual com.oracle.truffle.regex.charset.CodePointSet.size:()I
if_icmplt 4
end local 5 9: iload 2
iload 3
aload 4
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 end local 3 end local 2 end local 1 end local 0 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 0: aload 0
iconst_0
invokestatic com.oracle.truffle.regex.charset.CharMatchers.rangesToString:([IZ)Ljava/lang/String;
areturn
end local 0 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 start local 1 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 8
3: StackMap locals: java.lang.StringBuilder int
StackMap stack:
iload 1
ifeq 6
4: aload 2
ldc "["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
iload 3
iaload
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "-"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
iload 3
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: goto 7
6: StackMap locals:
StackMap stack:
aload 2
aload 0
iload 3
iaload
aload 0
iload 3
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: StackMap locals:
StackMap stack:
iinc 3 2
StackMap locals:
StackMap stack:
8: iload 3
aload 0
arraylength
if_icmplt 3
end local 3 9: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 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