public final class com.oracle.truffle.regex.tregex.parser.RegexLexer
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.regex.tregex.parser.RegexLexer
super_class: java.lang.Object
{
private static final com.oracle.truffle.regex.util.CompilationFinalBitSet PREDEFINED_CHAR_CLASSES;
descriptor: Lcom/oracle/truffle/regex/util/CompilationFinalBitSet;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final com.oracle.truffle.regex.util.CompilationFinalBitSet SYNTAX_CHARS;
descriptor: Lcom/oracle/truffle/regex/util/CompilationFinalBitSet;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final com.oracle.truffle.regex.charset.CodePointSet ID_START;
descriptor: Lcom/oracle/truffle/regex/charset/CodePointSet;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final com.oracle.truffle.regex.charset.CodePointSet ID_CONTINUE;
descriptor: Lcom/oracle/truffle/regex/charset/CodePointSet;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final com.oracle.truffle.regex.RegexSource source;
descriptor: Lcom/oracle/truffle/regex/RegexSource;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String pattern;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.regex.RegexFlags flags;
descriptor: Lcom/oracle/truffle/regex/RegexFlags;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.regex.tregex.string.Encodings$Encoding encoding;
descriptor: Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.regex.RegexOptions options;
descriptor: Lcom/oracle/truffle/regex/RegexOptions;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private com.oracle.truffle.regex.tregex.parser.Token lastToken;
descriptor: Lcom/oracle/truffle/regex/tregex/parser/Token;
flags: (0x0002) ACC_PRIVATE
private int index;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int nGroups;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean identifiedAllGroups;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.util.Map<java.lang.String, java.lang.Integer> namedCaptureGroups;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;
private final com.oracle.truffle.regex.charset.CodePointSetAccumulator curCharClass;
descriptor: Lcom/oracle/truffle/regex/charset/CodePointSetAccumulator;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.regex.charset.CodePointSetAccumulator charClassCaseFoldTmp;
descriptor: Lcom/oracle/truffle/regex/charset/CodePointSetAccumulator;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final java.util.EnumSet<com.oracle.truffle.regex.tregex.parser.Token$Kind> QUANTIFIER_PREV;
descriptor: Ljava/util/EnumSet;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/EnumSet<Lcom/oracle/truffle/regex/tregex/parser/Token$Kind;>;
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=4, locals=0, args_size=0
0: ldc Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
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.tregex.parser.RegexLexer.$assertionsDisabled:Z
3: bipush 6
newarray 10
dup
iconst_0
bipush 115
iastore
dup
iconst_1
bipush 83
iastore
dup
iconst_2
bipush 100
iastore
dup
iconst_3
bipush 68
iastore
dup
iconst_4
bipush 119
iastore
dup
iconst_5
bipush 87
iastore
invokestatic com.oracle.truffle.regex.util.CompilationFinalBitSet.valueOf:([I)Lcom/oracle/truffle/regex/util/CompilationFinalBitSet;
putstatic com.oracle.truffle.regex.tregex.parser.RegexLexer.PREDEFINED_CHAR_CLASSES:Lcom/oracle/truffle/regex/util/CompilationFinalBitSet;
4: bipush 15
newarray 10
dup
iconst_0
5: bipush 94
iastore
dup
iconst_1
bipush 36
iastore
dup
iconst_2
bipush 47
iastore
dup
iconst_3
bipush 92
iastore
dup
iconst_4
bipush 46
iastore
dup
iconst_5
bipush 42
iastore
dup
bipush 6
bipush 43
iastore
dup
bipush 7
bipush 63
iastore
dup
bipush 8
bipush 40
iastore
dup
bipush 9
bipush 41
iastore
dup
bipush 10
bipush 91
iastore
dup
bipush 11
bipush 93
iastore
dup
bipush 12
bipush 123
iastore
dup
bipush 13
bipush 125
iastore
dup
bipush 14
bipush 124
iastore
6: invokestatic com.oracle.truffle.regex.util.CompilationFinalBitSet.valueOf:([I)Lcom/oracle/truffle/regex/util/CompilationFinalBitSet;
putstatic com.oracle.truffle.regex.tregex.parser.RegexLexer.SYNTAX_CHARS:Lcom/oracle/truffle/regex/util/CompilationFinalBitSet;
7: ldc "ID_Start"
invokestatic com.oracle.truffle.regex.charset.UnicodeProperties.getProperty:(Ljava/lang/String;)Lcom/oracle/truffle/regex/charset/CodePointSet;
putstatic com.oracle.truffle.regex.tregex.parser.RegexLexer.ID_START:Lcom/oracle/truffle/regex/charset/CodePointSet;
8: ldc "ID_Continue"
invokestatic com.oracle.truffle.regex.charset.UnicodeProperties.getProperty:(Ljava/lang/String;)Lcom/oracle/truffle/regex/charset/CodePointSet;
putstatic com.oracle.truffle.regex.tregex.parser.RegexLexer.ID_CONTINUE:Lcom/oracle/truffle/regex/charset/CodePointSet;
9: getstatic com.oracle.truffle.regex.tregex.parser.Token$Kind.charClass:Lcom/oracle/truffle/regex/tregex/parser/Token$Kind;
getstatic com.oracle.truffle.regex.tregex.parser.Token$Kind.groupEnd:Lcom/oracle/truffle/regex/tregex/parser/Token$Kind;
getstatic com.oracle.truffle.regex.tregex.parser.Token$Kind.backReference:Lcom/oracle/truffle/regex/tregex/parser/Token$Kind;
invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
putstatic com.oracle.truffle.regex.tregex.parser.RegexLexer.QUANTIFIER_PREV:Ljava/util/EnumSet;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(com.oracle.truffle.regex.RegexSource, com.oracle.truffle.regex.RegexFlags, com.oracle.truffle.regex.RegexOptions);
descriptor: (Lcom/oracle/truffle/regex/RegexSource;Lcom/oracle/truffle/regex/RegexFlags;Lcom/oracle/truffle/regex/RegexOptions;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield com.oracle.truffle.regex.tregex.parser.RegexLexer.index:I
2: aload 0
iconst_1
putfield com.oracle.truffle.regex.tregex.parser.RegexLexer.nGroups:I
3: aload 0
iconst_0
putfield com.oracle.truffle.regex.tregex.parser.RegexLexer.identifiedAllGroups:Z
4: aload 0
aconst_null
putfield com.oracle.truffle.regex.tregex.parser.RegexLexer.namedCaptureGroups:Ljava/util/Map;
5: aload 0
new com.oracle.truffle.regex.charset.CodePointSetAccumulator
dup
invokespecial com.oracle.truffle.regex.charset.CodePointSetAccumulator.<init>:()V
putfield com.oracle.truffle.regex.tregex.parser.RegexLexer.curCharClass:Lcom/oracle/truffle/regex/charset/CodePointSetAccumulator;
6: aload 0
new com.oracle.truffle.regex.charset.CodePointSetAccumulator
dup
invokespecial com.oracle.truffle.regex.charset.CodePointSetAccumulator.<init>:()V
putfield com.oracle.truffle.regex.tregex.parser.RegexLexer.charClassCaseFoldTmp:Lcom/oracle/truffle/regex/charset/CodePointSetAccumulator;
7: aload 0
aload 1
putfield com.oracle.truffle.regex.tregex.parser.RegexLexer.source:Lcom/oracle/truffle/regex/RegexSource;
8: aload 0
aload 1
invokevirtual com.oracle.truffle.regex.RegexSource.getPattern:()Ljava/lang/String;
putfield com.oracle.truffle.regex.tregex.parser.RegexLexer.pattern:Ljava/lang/String;
9: aload 0
aload 2
putfield com.oracle.truffle.regex.tregex.parser.RegexLexer.flags:Lcom/oracle/truffle/regex/RegexFlags;
10: aload 0
aload 1
invokevirtual com.oracle.truffle.regex.RegexSource.getEncoding:()Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;
putfield com.oracle.truffle.regex.tregex.parser.RegexLexer.encoding:Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;
11: aload 0
aload 3
putfield com.oracle.truffle.regex.tregex.parser.RegexLexer.options:Lcom/oracle/truffle/regex/RegexOptions;
12: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
0 13 1 source Lcom/oracle/truffle/regex/RegexSource;
0 13 2 flags Lcom/oracle/truffle/regex/RegexFlags;
0 13 3 options Lcom/oracle/truffle/regex/RegexOptions;
MethodParameters:
Name Flags
source
flags
options
public boolean hasNext();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.atEnd:()Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
public com.oracle.truffle.regex.tregex.parser.Token next();
descriptor: ()Lcom/oracle/truffle/regex/tregex/parser/Token;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.index:I
istore 1
start local 1 1: aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.getNext:()Lcom/oracle/truffle/regex/tregex/parser/Token;
astore 2
start local 2 2: aload 0
aload 2
iload 1
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.index:I
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.setSourceSection:(Lcom/oracle/truffle/regex/tregex/parser/Token;II)V
3: aload 0
aload 2
putfield com.oracle.truffle.regex.tregex.parser.RegexLexer.lastToken:Lcom/oracle/truffle/regex/tregex/parser/Token;
4: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
1 5 1 startIndex I
2 5 2 t Lcom/oracle/truffle/regex/tregex/parser/Token;
Exceptions:
throws com.oracle.truffle.regex.RegexSyntaxException
private void setSourceSection(com.oracle.truffle.regex.tregex.parser.Token, int, int);
descriptor: (Lcom/oracle/truffle/regex/tregex/parser/Token;II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.options:Lcom/oracle/truffle/regex/RegexOptions;
invokevirtual com.oracle.truffle.regex.RegexOptions.isDumpAutomata:()Z
ifeq 2
1: aload 1
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.source:Lcom/oracle/truffle/regex/RegexSource;
invokevirtual com.oracle.truffle.regex.RegexSource.getSource:()Lcom/oracle/truffle/api/source/Source;
iload 2
iconst_1
iadd
iload 3
iload 2
isub
invokevirtual com.oracle.truffle.api.source.Source.createSection:(II)Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.regex.tregex.parser.Token.setSourceSection:(Lcom/oracle/truffle/api/source/SourceSection;)V
2: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
0 3 1 t Lcom/oracle/truffle/regex/tregex/parser/Token;
0 3 2 startIndex I
0 3 3 endIndex I
MethodParameters:
Name Flags
t
startIndex
endIndex
private char curChar();
descriptor: ()C
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.pattern:Ljava/lang/String;
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.index:I
invokevirtual java.lang.String.charAt:(I)C
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
private char consumeChar();
descriptor: ()C
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.pattern:Ljava/lang/String;
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.index:I
invokevirtual java.lang.String.charAt:(I)C
istore 1
start local 1 1: aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.advance:()V
2: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
1 3 1 c C
private void advance();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.advance:(I)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
private void retreat();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_m1
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.advance:(I)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
private void advance(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
dup
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.index:I
iload 1
iadd
putfield com.oracle.truffle.regex.tregex.parser.RegexLexer.index:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
0 2 1 len I
MethodParameters:
Name Flags
len
private boolean lookahead(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.pattern:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.index:I
isub
aload 1
invokevirtual java.lang.String.length:()I
if_icmpge 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.pattern:Ljava/lang/String;
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.index:I
aload 1
iconst_0
aload 1
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.regionMatches:(ILjava/lang/String;II)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
0 3 1 match Ljava/lang/String;
MethodParameters:
Name Flags
match
private boolean consumingLookahead(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.lookahead:(Ljava/lang/String;)Z
istore 2
start local 2 1: iload 2
ifeq 3
2: aload 0
aload 1
invokevirtual java.lang.String.length:()I
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.advance:(I)V
3: StackMap locals: int
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
0 4 1 match Ljava/lang/String;
1 4 2 matches Z
MethodParameters:
Name Flags
match
private boolean atEnd();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.index:I
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.pattern:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
if_icmplt 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
public int numberOfCaptureGroups();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.identifiedAllGroups:Z
ifne 3
1: aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.identifyCaptureGroups:()V
2: aload 0
iconst_1
putfield com.oracle.truffle.regex.tregex.parser.RegexLexer.identifiedAllGroups:Z
3: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.nGroups:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
Exceptions:
throws com.oracle.truffle.regex.RegexSyntaxException
public java.util.Map<java.lang.String, java.lang.Integer> getNamedCaptureGroups();
descriptor: ()Ljava/util/Map;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.identifiedAllGroups:Z
ifne 3
1: aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.identifyCaptureGroups:()V
2: aload 0
iconst_1
putfield com.oracle.truffle.regex.tregex.parser.RegexLexer.identifiedAllGroups:Z
3: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.namedCaptureGroups:Ljava/util/Map;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
Exceptions:
throws com.oracle.truffle.regex.RegexSyntaxException
Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;
private boolean hasNamedCaptureGroups();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.getNamedCaptureGroups:()Ljava/util/Map;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
Exceptions:
throws com.oracle.truffle.regex.RegexSyntaxException
private void registerCaptureGroup();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.identifiedAllGroups:Z
ifne 2
1: aload 0
dup
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.nGroups:I
iconst_1
iadd
putfield com.oracle.truffle.regex.tregex.parser.RegexLexer.nGroups:I
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
private void registerNamedCaptureGroup(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.identifiedAllGroups:Z
ifne 6
1: aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.namedCaptureGroups:Ljava/util/Map;
ifnonnull 3
2: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.oracle.truffle.regex.tregex.parser.RegexLexer.namedCaptureGroups:Ljava/util/Map;
3: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.namedCaptureGroups:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 5
4: aload 0
ldc "Multiple named capture groups with the same name"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.syntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/regex/RegexSyntaxException;
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.namedCaptureGroups:Ljava/util/Map;
aload 1
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.nGroups:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.registerCaptureGroup:()V
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
0 8 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
private void identifyCaptureGroups();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.index:I
istore 2
start local 2 2: goto 13
3: StackMap locals: int int
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.consumeChar:()C
lookupswitch { // 4
40: 10
91: 6
92: 4
93: 8
default: 13
}
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.advance:()V
5: goto 13
6: StackMap locals:
StackMap stack:
iconst_1
istore 1
7: goto 13
8: StackMap locals:
StackMap stack:
iconst_0
istore 1
9: goto 13
10: StackMap locals:
StackMap stack:
iload 1
ifne 13
11: aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.parseGroupBegin:()Lcom/oracle/truffle/regex/tregex/parser/Token;
pop
12: goto 13
13: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.atEnd:()Z
ifeq 3
14: aload 0
iload 2
putfield com.oracle.truffle.regex.tregex.parser.RegexLexer.index:I
15: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
1 16 1 insideCharClass Z
2 16 2 restoreIndex I
Exceptions:
throws com.oracle.truffle.regex.RegexSyntaxException
private com.oracle.truffle.regex.tregex.parser.Token charClass(int);
descriptor: (I)Lcom/oracle/truffle/regex/tregex/parser/Token;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.flags:Lcom/oracle/truffle/regex/RegexFlags;
invokevirtual com.oracle.truffle.regex.RegexFlags.isIgnoreCase:()Z
ifeq 4
1: aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.curCharClass:Lcom/oracle/truffle/regex/charset/CodePointSetAccumulator;
invokevirtual com.oracle.truffle.regex.charset.CodePointSetAccumulator.clear:()V
2: aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.curCharClass:Lcom/oracle/truffle/regex/charset/CodePointSetAccumulator;
iload 1
iload 1
invokevirtual com.oracle.truffle.regex.charset.CodePointSetAccumulator.appendRange:(II)V
3: aload 0
iconst_0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.charClass:(Z)Lcom/oracle/truffle/regex/tregex/parser/Token;
areturn
4: StackMap locals:
StackMap stack:
iload 1
invokestatic com.oracle.truffle.regex.charset.CodePointSet.create:(I)Lcom/oracle/truffle/regex/charset/CodePointSet;
iconst_1
invokestatic com.oracle.truffle.regex.tregex.parser.Token.createCharClass:(Lcom/oracle/truffle/regex/charset/CodePointSet;Z)Lcom/oracle/truffle/regex/tregex/parser/Token;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
0 5 1 codePoint I
MethodParameters:
Name Flags
codePoint
private com.oracle.truffle.regex.tregex.parser.Token charClass(com.oracle.truffle.regex.charset.CodePointSet);
descriptor: (Lcom/oracle/truffle/regex/charset/CodePointSet;)Lcom/oracle/truffle/regex/tregex/parser/Token;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.flags:Lcom/oracle/truffle/regex/RegexFlags;
invokevirtual com.oracle.truffle.regex.RegexFlags.isIgnoreCase:()Z
ifeq 4
1: aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.curCharClass:Lcom/oracle/truffle/regex/charset/CodePointSetAccumulator;
invokevirtual com.oracle.truffle.regex.charset.CodePointSetAccumulator.clear:()V
2: aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.curCharClass:Lcom/oracle/truffle/regex/charset/CodePointSetAccumulator;
aload 1
invokevirtual com.oracle.truffle.regex.charset.CodePointSetAccumulator.addSet:(Lcom/oracle/truffle/regex/charset/SortedListOfRanges;)V
3: aload 0
iconst_0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.charClass:(Z)Lcom/oracle/truffle/regex/tregex/parser/Token;
areturn
4: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.regex.tregex.parser.Token.createCharClass:(Lcom/oracle/truffle/regex/charset/CodePointSet;)Lcom/oracle/truffle/regex/tregex/parser/Token;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
0 5 1 codePointSet Lcom/oracle/truffle/regex/charset/CodePointSet;
MethodParameters:
Name Flags
codePointSet
private com.oracle.truffle.regex.tregex.parser.Token charClass(boolean);
descriptor: (Z)Lcom/oracle/truffle/regex/tregex/parser/Token;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: iload 1
ifne 1
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.curCharClass:Lcom/oracle/truffle/regex/charset/CodePointSetAccumulator;
invokevirtual com.oracle.truffle.regex.charset.CodePointSetAccumulator.matchesSingleChar:()Z
ifeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 2
start local 2 3: aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.flags:Lcom/oracle/truffle/regex/RegexFlags;
invokevirtual com.oracle.truffle.regex.RegexFlags.isIgnoreCase:()Z
ifeq 8
4: aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.flags:Lcom/oracle/truffle/regex/RegexFlags;
invokevirtual com.oracle.truffle.regex.RegexFlags.isUnicode:()Z
ifeq 5
getstatic com.oracle.truffle.regex.tregex.parser.CaseFoldTable$CaseFoldingAlgorithm.ECMAScriptUnicode:Lcom/oracle/truffle/regex/tregex/parser/CaseFoldTable$CaseFoldingAlgorithm;
goto 6
StackMap locals: int
StackMap stack:
5: getstatic com.oracle.truffle.regex.tregex.parser.CaseFoldTable$CaseFoldingAlgorithm.ECMAScriptNonUnicode:Lcom/oracle/truffle/regex/tregex/parser/CaseFoldTable$CaseFoldingAlgorithm;
StackMap locals:
StackMap stack: com.oracle.truffle.regex.tregex.parser.CaseFoldTable$CaseFoldingAlgorithm
6: astore 3
start local 3 7: aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.curCharClass:Lcom/oracle/truffle/regex/charset/CodePointSetAccumulator;
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.charClassCaseFoldTmp:Lcom/oracle/truffle/regex/charset/CodePointSetAccumulator;
aload 3
invokestatic com.oracle.truffle.regex.tregex.parser.CaseFoldTable.applyCaseFold:(Lcom/oracle/truffle/regex/charset/CodePointSetAccumulator;Lcom/oracle/truffle/regex/charset/CodePointSetAccumulator;Lcom/oracle/truffle/regex/tregex/parser/CaseFoldTable$CaseFoldingAlgorithm;)V
end local 3 8: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.curCharClass:Lcom/oracle/truffle/regex/charset/CodePointSetAccumulator;
invokevirtual com.oracle.truffle.regex.charset.CodePointSetAccumulator.toCodePointSet:()Lcom/oracle/truffle/regex/charset/CodePointSet;
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.pruneCharClass:(Lcom/oracle/truffle/regex/charset/CodePointSet;)Lcom/oracle/truffle/regex/charset/CodePointSet;
astore 3
start local 3 9: iload 1
ifeq 10
aload 3
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.encoding: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;
goto 11
StackMap locals: com.oracle.truffle.regex.charset.CodePointSet
StackMap stack:
10: aload 3
StackMap locals:
StackMap stack: com.oracle.truffle.regex.charset.CodePointSet
11: iload 2
invokestatic com.oracle.truffle.regex.tregex.parser.Token.createCharClass:(Lcom/oracle/truffle/regex/charset/CodePointSet;Z)Lcom/oracle/truffle/regex/tregex/parser/Token;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
0 12 1 invert Z
3 12 2 wasSingleChar Z
7 8 3 caseFolding Lcom/oracle/truffle/regex/tregex/parser/CaseFoldTable$CaseFoldingAlgorithm;
9 12 3 cps Lcom/oracle/truffle/regex/charset/CodePointSet;
MethodParameters:
Name Flags
invert
private com.oracle.truffle.regex.charset.CodePointSet pruneCharClass(com.oracle.truffle.regex.charset.CodePointSet);
descriptor: (Lcom/oracle/truffle/regex/charset/CodePointSet;)Lcom/oracle/truffle/regex/charset/CodePointSet;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.encoding:Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;
invokevirtual com.oracle.truffle.regex.tregex.string.Encodings$Encoding.getFullSet:()Lcom/oracle/truffle/regex/charset/CodePointSet;
aload 1
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.curCharClass:Lcom/oracle/truffle/regex/charset/CodePointSetAccumulator;
invokevirtual com.oracle.truffle.regex.charset.CodePointSetAccumulator.getTmp:()Lcom/oracle/truffle/regex/tregex/buffer/IntRangesBuffer;
invokevirtual com.oracle.truffle.regex.charset.CodePointSet.createIntersection:(Lcom/oracle/truffle/regex/charset/ImmutableSortedListOfRanges;Lcom/oracle/truffle/regex/charset/RangesBuffer;)Lcom/oracle/truffle/regex/charset/ImmutableSortedListOfRanges;
checkcast com.oracle.truffle.regex.charset.CodePointSet
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
0 1 1 cps Lcom/oracle/truffle/regex/charset/CodePointSet;
MethodParameters:
Name Flags
cps
private com.oracle.truffle.regex.tregex.parser.Token getNext();
descriptor: ()Lcom/oracle/truffle/regex/tregex/parser/Token;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.consumeChar:()C
istore 1
start local 1 1: iload 1
lookupswitch { // 14
36: 6
40: 12
41: 13
42: 7
43: 7
46: 2
63: 7
91: 14
92: 18
93: 15
94: 5
123: 7
124: 11
125: 8
default: 19
}
2: StackMap locals: int
StackMap stack:
aload 0
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.flags:Lcom/oracle/truffle/regex/RegexFlags;
invokevirtual com.oracle.truffle.regex.RegexFlags.isDotAll:()Z
ifeq 3
getstatic com.oracle.truffle.regex.charset.Constants.DOT_ALL:Lcom/oracle/truffle/regex/charset/CodePointSet;
goto 4
StackMap locals:
StackMap stack: com.oracle.truffle.regex.tregex.parser.RegexLexer
3: getstatic com.oracle.truffle.regex.charset.Constants.DOT:Lcom/oracle/truffle/regex/charset/CodePointSet;
StackMap locals: com.oracle.truffle.regex.tregex.parser.RegexLexer int
StackMap stack: com.oracle.truffle.regex.tregex.parser.RegexLexer com.oracle.truffle.regex.charset.CodePointSet
4: invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.pruneCharClass:(Lcom/oracle/truffle/regex/charset/CodePointSet;)Lcom/oracle/truffle/regex/charset/CodePointSet;
invokestatic com.oracle.truffle.regex.tregex.parser.Token.createCharClass:(Lcom/oracle/truffle/regex/charset/CodePointSet;)Lcom/oracle/truffle/regex/tregex/parser/Token;
areturn
5: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.regex.tregex.parser.Token.createCaret:()Lcom/oracle/truffle/regex/tregex/parser/Token;
areturn
6: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.regex.tregex.parser.Token.createDollar:()Lcom/oracle/truffle/regex/tregex/parser/Token;
areturn
7: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.parseQuantifier:(C)Lcom/oracle/truffle/regex/tregex/parser/Token;
areturn
8: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.flags:Lcom/oracle/truffle/regex/RegexFlags;
invokevirtual com.oracle.truffle.regex.RegexFlags.isUnicode:()Z
ifeq 10
9: aload 0
ldc "Unmatched '}'"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.syntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/regex/RegexSyntaxException;
athrow
10: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.charClass:(I)Lcom/oracle/truffle/regex/tregex/parser/Token;
areturn
11: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.regex.tregex.parser.Token.createAlternation:()Lcom/oracle/truffle/regex/tregex/parser/Token;
areturn
12: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.parseGroupBegin:()Lcom/oracle/truffle/regex/tregex/parser/Token;
areturn
13: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.regex.tregex.parser.Token.createGroupEnd:()Lcom/oracle/truffle/regex/tregex/parser/Token;
areturn
14: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.parseCharClass:()Lcom/oracle/truffle/regex/tregex/parser/Token;
areturn
15: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.flags:Lcom/oracle/truffle/regex/RegexFlags;
invokevirtual com.oracle.truffle.regex.RegexFlags.isUnicode:()Z
ifeq 17
16: aload 0
ldc "Unmatched ']'"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.syntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/regex/RegexSyntaxException;
athrow
17: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.charClass:(I)Lcom/oracle/truffle/regex/tregex/parser/Token;
areturn
18: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.parseEscape:()Lcom/oracle/truffle/regex/tregex/parser/Token;
areturn
19: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.flags:Lcom/oracle/truffle/regex/RegexFlags;
invokevirtual com.oracle.truffle.regex.RegexFlags.isUnicode:()Z
ifeq 21
iload 1
invokestatic java.lang.Character.isHighSurrogate:(C)Z
ifeq 21
20: aload 0
aload 0
iload 1
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.finishSurrogatePair:(C)I
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.charClass:(I)Lcom/oracle/truffle/regex/tregex/parser/Token;
areturn
21: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.charClass:(I)Lcom/oracle/truffle/regex/tregex/parser/Token;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
1 22 1 c C
Exceptions:
throws com.oracle.truffle.regex.RegexSyntaxException
private com.oracle.truffle.regex.tregex.parser.Token parseEscape();
descriptor: ()Lcom/oracle/truffle/regex/tregex/parser/Token;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.atEnd:()Z
ifeq 2
1: aload 0
ldc "Ends with an unfinished escape sequence"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.syntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/regex/RegexSyntaxException;
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.consumeChar:()C
istore 1
start local 1 3: bipush 49
iload 1
if_icmpgt 11
iload 1
bipush 57
if_icmpgt 11
4: aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.index:I
istore 2
start local 2 5: aload 0
iload 1
bipush 48
isub
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.parseInteger:(I)I
istore 3
start local 3 6: iload 3
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.numberOfCaptureGroups:()I
if_icmpge 8
7: iload 3
invokestatic com.oracle.truffle.regex.tregex.parser.Token.createBackReference:(I)Lcom/oracle/truffle/regex/tregex/parser/Token;
areturn
8: StackMap locals: int int int
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.flags:Lcom/oracle/truffle/regex/RegexFlags;
invokevirtual com.oracle.truffle.regex.RegexFlags.isUnicode:()Z
ifeq 10
9: aload 0
ldc "Missing capture group for backreference"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.syntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/regex/RegexSyntaxException;
athrow
10: StackMap locals:
StackMap stack:
aload 0
iload 2
putfield com.oracle.truffle.regex.tregex.parser.RegexLexer.index:I
end local 3 end local 2 11: StackMap locals:
StackMap stack:
iload 1
lookupswitch { // 3
66: 26
98: 25
107: 12
default: 27
}
12: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.flags:Lcom/oracle/truffle/regex/RegexFlags;
invokevirtual com.oracle.truffle.regex.RegexFlags.isUnicode:()Z
ifne 13
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.hasNamedCaptureGroups:()Z
ifeq 24
13: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.atEnd:()Z
ifeq 15
14: aload 0
ldc "Ends with an unfinished escape sequence"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.syntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/regex/RegexSyntaxException;
athrow
15: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.consumeChar:()C
bipush 60
if_icmpeq 17
16: aload 0
ldc "Missing group name in named capture group reference"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.syntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/regex/RegexSyntaxException;
athrow
17: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.parseGroupName:()Ljava/lang/String;
astore 2
start local 2 18: aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.namedCaptureGroups:Ljava/util/Map;
ifnull 20
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.namedCaptureGroups:Ljava/util/Map;
aload 2
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 20
19: aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.namedCaptureGroups:Ljava/util/Map;
aload 2
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
invokestatic com.oracle.truffle.regex.tregex.parser.Token.createBackReference:(I)Lcom/oracle/truffle/regex/tregex/parser/Token;
areturn
20: StackMap locals: java.lang.String
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.getNamedCaptureGroups:()Ljava/util/Map;
astore 3
start local 3 21: aload 3
ifnull 23
aload 3
aload 2
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 23
22: aload 3
aload 2
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
invokestatic com.oracle.truffle.regex.tregex.parser.Token.createBackReference:(I)Lcom/oracle/truffle/regex/tregex/parser/Token;
areturn
23: StackMap locals: java.util.Map
StackMap stack:
aload 0
ldc "Missing capture group for backreference"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.syntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/regex/RegexSyntaxException;
athrow
end local 3 end local 2 24: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.charClass:(I)Lcom/oracle/truffle/regex/tregex/parser/Token;
areturn
25: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.regex.tregex.parser.Token.createWordBoundary:()Lcom/oracle/truffle/regex/tregex/parser/Token;
areturn
26: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.regex.tregex.parser.Token.createNonWordBoundary:()Lcom/oracle/truffle/regex/tregex/parser/Token;
areturn
27: StackMap locals:
StackMap stack:
iload 1
invokestatic com.oracle.truffle.regex.tregex.parser.RegexLexer.isPredefCharClass:(C)Z
ifeq 29
28: aload 0
aload 0
iload 1
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.parsePredefCharClass:(C)Lcom/oracle/truffle/regex/charset/CodePointSet;
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.pruneCharClass:(Lcom/oracle/truffle/regex/charset/CodePointSet;)Lcom/oracle/truffle/regex/charset/CodePointSet;
invokestatic com.oracle.truffle.regex.tregex.parser.Token.createCharClass:(Lcom/oracle/truffle/regex/charset/CodePointSet;)Lcom/oracle/truffle/regex/tregex/parser/Token;
areturn
29: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.flags:Lcom/oracle/truffle/regex/RegexFlags;
invokevirtual com.oracle.truffle.regex.RegexFlags.isUnicode:()Z
ifeq 33
iload 1
bipush 112
if_icmpeq 30
iload 1
bipush 80
if_icmpne 33
30: StackMap locals:
StackMap stack:
aload 0
aload 0
iload 1
bipush 80
if_icmpne 31
iconst_1
goto 32
StackMap locals: com.oracle.truffle.regex.tregex.parser.RegexLexer int
StackMap stack: com.oracle.truffle.regex.tregex.parser.RegexLexer com.oracle.truffle.regex.tregex.parser.RegexLexer
31: iconst_0
StackMap locals: com.oracle.truffle.regex.tregex.parser.RegexLexer int
StackMap stack: com.oracle.truffle.regex.tregex.parser.RegexLexer com.oracle.truffle.regex.tregex.parser.RegexLexer int
32: invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.parseUnicodeCharacterProperty:(Z)Lcom/oracle/truffle/regex/charset/CodePointSet;
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.charClass:(Lcom/oracle/truffle/regex/charset/CodePointSet;)Lcom/oracle/truffle/regex/tregex/parser/Token;
areturn
33: StackMap locals:
StackMap stack:
aload 0
aload 0
iload 1
iconst_0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.parseEscapeChar:(CZ)I
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.charClass:(I)Lcom/oracle/truffle/regex/tregex/parser/Token;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
3 34 1 c C
5 11 2 restoreIndex I
6 11 3 backRefNumber I
18 24 2 groupName Ljava/lang/String;
21 24 3 allNamedCaptureGroups Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;
Exceptions:
throws com.oracle.truffle.regex.RegexSyntaxException
private com.oracle.truffle.regex.tregex.parser.Token parseGroupBegin();
descriptor: ()Lcom/oracle/truffle/regex/tregex/parser/Token;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
ldc "?="
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.consumingLookahead:(Ljava/lang/String;)Z
ifeq 2
1: iconst_0
invokestatic com.oracle.truffle.regex.tregex.parser.Token.createLookAheadAssertionBegin:(Z)Lcom/oracle/truffle/regex/tregex/parser/Token;
areturn
2: StackMap locals:
StackMap stack:
aload 0
ldc "?!"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.consumingLookahead:(Ljava/lang/String;)Z
ifeq 4
3: iconst_1
invokestatic com.oracle.truffle.regex.tregex.parser.Token.createLookAheadAssertionBegin:(Z)Lcom/oracle/truffle/regex/tregex/parser/Token;
areturn
4: StackMap locals:
StackMap stack:
aload 0
ldc "?<="
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.consumingLookahead:(Ljava/lang/String;)Z
ifeq 6
5: iconst_0
invokestatic com.oracle.truffle.regex.tregex.parser.Token.createLookBehindAssertionBegin:(Z)Lcom/oracle/truffle/regex/tregex/parser/Token;
areturn
6: StackMap locals:
StackMap stack:
aload 0
ldc "?<!"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.consumingLookahead:(Ljava/lang/String;)Z
ifeq 8
7: iconst_1
invokestatic com.oracle.truffle.regex.tregex.parser.Token.createLookBehindAssertionBegin:(Z)Lcom/oracle/truffle/regex/tregex/parser/Token;
areturn
8: StackMap locals:
StackMap stack:
aload 0
ldc "?:"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.consumingLookahead:(Ljava/lang/String;)Z
ifeq 10
9: invokestatic com.oracle.truffle.regex.tregex.parser.Token.createNonCaptureGroupBegin:()Lcom/oracle/truffle/regex/tregex/parser/Token;
areturn
10: StackMap locals:
StackMap stack:
aload 0
ldc "?<"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.consumingLookahead:(Ljava/lang/String;)Z
ifeq 14
11: aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.parseGroupName:()Ljava/lang/String;
astore 1
start local 1 12: aload 0
aload 1
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.registerNamedCaptureGroup:(Ljava/lang/String;)V
13: invokestatic com.oracle.truffle.regex.tregex.parser.Token.createCaptureGroupBegin:()Lcom/oracle/truffle/regex/tregex/parser/Token;
areturn
end local 1 14: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.registerCaptureGroup:()V
15: invokestatic com.oracle.truffle.regex.tregex.parser.Token.createCaptureGroupBegin:()Lcom/oracle/truffle/regex/tregex/parser/Token;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
12 14 1 groupName Ljava/lang/String;
Exceptions:
throws com.oracle.truffle.regex.RegexSyntaxException
private int parseCodePointInGroupName();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
ldc "\\u"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.consumingLookahead:(Ljava/lang/String;)Z
ifeq 5
1: aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.parseUnicodeEscapeChar:()I
istore 1
start local 1 2: iload 1
ifge 4
3: aload 0
ldc "Invalid Unicode escape"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.syntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/regex/RegexSyntaxException;
athrow
4: StackMap locals: int
StackMap stack:
iload 1
ireturn
end local 1 5: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.atEnd:()Z
ifeq 7
6: aload 0
ldc "Unterminated group name"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.syntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/regex/RegexSyntaxException;
athrow
7: StackMap locals:
StackMap stack:
aload 0
ldc ">"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.consumingLookahead:(Ljava/lang/String;)Z
ifeq 9
8: iconst_m1
ireturn
9: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.consumeChar:()C
istore 1
start local 1 10: aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.flags:Lcom/oracle/truffle/regex/RegexFlags;
invokevirtual com.oracle.truffle.regex.RegexFlags.isUnicode:()Z
ifeq 11
iload 1
invokestatic java.lang.Character.isHighSurrogate:(C)Z
ifeq 11
aload 0
iload 1
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.finishSurrogatePair:(C)I
goto 12
StackMap locals: int
StackMap stack:
11: iload 1
StackMap locals:
StackMap stack: int
12: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
2 5 1 unicodeEscape I
10 13 1 c C
Exceptions:
throws com.oracle.truffle.regex.RegexSyntaxException
private java.lang.String parseGroupName();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.parseCodePointInGroupName:()I
istore 2
start local 2 2: iload 2
iconst_m1
if_icmpne 4
3: aload 0
ldc "Empty named capture group name"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.syntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/regex/RegexSyntaxException;
athrow
4: StackMap locals: java.lang.StringBuilder int
StackMap stack:
getstatic com.oracle.truffle.regex.tregex.parser.RegexLexer.ID_START:Lcom/oracle/truffle/regex/charset/CodePointSet;
iload 2
invokevirtual com.oracle.truffle.regex.charset.CodePointSet.contains:(I)Z
ifne 6
iload 2
bipush 36
if_icmpeq 6
iload 2
bipush 95
if_icmpeq 6
5: aload 0
ldc "Invalid character at start of group name"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.syntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/regex/RegexSyntaxException;
athrow
6: StackMap locals:
StackMap stack:
aload 1
iload 2
invokevirtual java.lang.StringBuilder.appendCodePoint:(I)Ljava/lang/StringBuilder;
pop
7: goto 11
8: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.regex.tregex.parser.RegexLexer.ID_CONTINUE:Lcom/oracle/truffle/regex/charset/CodePointSet;
iload 2
invokevirtual com.oracle.truffle.regex.charset.CodePointSet.contains:(I)Z
ifne 10
iload 2
bipush 36
if_icmpeq 10
iload 2
sipush 8204
if_icmpeq 10
iload 2
sipush 8205
if_icmpeq 10
9: aload 0
ldc "Invalid character in group name"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.syntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/regex/RegexSyntaxException;
athrow
10: StackMap locals:
StackMap stack:
aload 1
iload 2
invokevirtual java.lang.StringBuilder.appendCodePoint:(I)Ljava/lang/StringBuilder;
pop
11: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.parseCodePointInGroupName:()I
dup
istore 2
iconst_m1
if_icmpne 8
12: aload 1
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 13 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
1 13 1 groupName Ljava/lang/StringBuilder;
2 13 2 codePoint I
Exceptions:
throws com.oracle.truffle.regex.RegexSyntaxException
private com.oracle.truffle.regex.tregex.parser.Token parseQuantifier(char);
descriptor: (C)Lcom/oracle/truffle/regex/tregex/parser/Token;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: iconst_m1
istore 3
start local 3 1: iload 1
bipush 123
if_icmpne 31
2: aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.index:I
istore 5
start local 5 3: aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.parseDecimal:()Ljava/math/BigInteger;
astore 6
start local 6 4: aload 6
getstatic java.math.BigInteger.ZERO:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
ifge 6
5: aload 0
iload 5
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.countedRepetitionSyntaxError:(I)Lcom/oracle/truffle/regex/tregex/parser/Token;
areturn
6: StackMap locals: com.oracle.truffle.regex.tregex.parser.RegexLexer int top int top int java.math.BigInteger
StackMap stack:
aload 6
ldc 2147483647
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
ifgt 7
aload 6
invokevirtual java.math.BigInteger.intValue:()I
goto 8
StackMap locals:
StackMap stack:
7: iconst_m1
StackMap locals:
StackMap stack: int
8: istore 2
start local 2 9: aload 0
ldc ",}"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.consumingLookahead:(Ljava/lang/String;)Z
ifeq 14
10: aload 0
ldc "?"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.consumingLookahead:(Ljava/lang/String;)Z
ifeq 11
iconst_0
goto 12
StackMap locals: com.oracle.truffle.regex.tregex.parser.RegexLexer int int int top int java.math.BigInteger
StackMap stack:
11: iconst_1
StackMap locals:
StackMap stack: int
12: istore 4
start local 4 13: goto 39
end local 4 StackMap locals:
StackMap stack:
14: aload 0
ldc "}"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.consumingLookahead:(Ljava/lang/String;)Z
ifeq 20
15: iload 2
istore 3
16: aload 0
ldc "?"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.consumingLookahead:(Ljava/lang/String;)Z
ifeq 17
iconst_0
goto 18
StackMap locals:
StackMap stack:
17: iconst_1
StackMap locals:
StackMap stack: int
18: istore 4
start local 4 19: goto 39
end local 4 20: StackMap locals:
StackMap stack:
aload 0
ldc ","
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.consumingLookahead:(Ljava/lang/String;)Z
ifeq 22
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.parseDecimal:()Ljava/math/BigInteger;
dup
astore 7
start local 7 21: getstatic java.math.BigInteger.ZERO:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
iflt 22
aload 0
ldc "}"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.consumingLookahead:(Ljava/lang/String;)Z
ifne 23
end local 7 22: StackMap locals:
StackMap stack:
aload 0
iload 5
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.countedRepetitionSyntaxError:(I)Lcom/oracle/truffle/regex/tregex/parser/Token;
areturn
start local 7 23: StackMap locals: java.math.BigInteger
StackMap stack:
aload 7
ldc 2147483647
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
ifgt 24
aload 7
invokevirtual java.math.BigInteger.intValue:()I
goto 25
StackMap locals:
StackMap stack:
24: iconst_m1
StackMap locals:
StackMap stack: int
25: istore 3
26: aload 0
ldc "?"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.consumingLookahead:(Ljava/lang/String;)Z
ifeq 27
iconst_0
goto 28
StackMap locals:
StackMap stack:
27: iconst_1
StackMap locals:
StackMap stack: int
28: istore 4
start local 4 29: aload 6
aload 7
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
ifle 39
30: aload 0
ldc "Numbers out of order in {} quantifier"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.syntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/regex/RegexSyntaxException;
athrow
end local 7 end local 6 end local 5 end local 4 end local 2 31: StackMap locals: com.oracle.truffle.regex.tregex.parser.RegexLexer int top int
StackMap stack:
aload 0
ldc "?"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.consumingLookahead:(Ljava/lang/String;)Z
ifeq 32
iconst_0
goto 33
StackMap locals:
StackMap stack:
32: iconst_1
StackMap locals:
StackMap stack: int
33: istore 4
start local 4 34: iload 1
bipush 43
if_icmpne 35
iconst_1
goto 36
StackMap locals: int
StackMap stack:
35: iconst_0
StackMap locals:
StackMap stack: int
36: istore 2
start local 2 37: iload 1
bipush 63
if_icmpne 39
38: iconst_1
istore 3
39: StackMap locals: com.oracle.truffle.regex.tregex.parser.RegexLexer int int int int
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.lastToken:Lcom/oracle/truffle/regex/tregex/parser/Token;
ifnonnull 41
40: aload 0
ldc "Quantifier without target"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.syntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/regex/RegexSyntaxException;
athrow
41: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.lastToken:Lcom/oracle/truffle/regex/tregex/parser/Token;
getfield com.oracle.truffle.regex.tregex.parser.Token.kind:Lcom/oracle/truffle/regex/tregex/parser/Token$Kind;
getstatic com.oracle.truffle.regex.tregex.parser.Token$Kind.quantifier:Lcom/oracle/truffle/regex/tregex/parser/Token$Kind;
if_acmpne 43
42: aload 0
ldc "Quantifier on quantifier"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.syntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/regex/RegexSyntaxException;
athrow
43: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.regex.tregex.parser.RegexLexer.QUANTIFIER_PREV:Ljava/util/EnumSet;
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.lastToken:Lcom/oracle/truffle/regex/tregex/parser/Token;
getfield com.oracle.truffle.regex.tregex.parser.Token.kind:Lcom/oracle/truffle/regex/tregex/parser/Token$Kind;
invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
ifne 45
44: aload 0
ldc "Quantifier without target"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.syntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/regex/RegexSyntaxException;
athrow
45: StackMap locals:
StackMap stack:
iload 2
iload 3
iload 4
invokestatic com.oracle.truffle.regex.tregex.parser.Token.createQuantifier:(IIZ)Lcom/oracle/truffle/regex/tregex/parser/Token$Quantifier;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 46 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
0 46 1 c C
9 31 2 min I
37 46 2 min I
1 46 3 max I
13 14 4 greedy Z
19 20 4 greedy Z
29 31 4 greedy Z
34 46 4 greedy Z
3 31 5 resetIndex I
4 31 6 literalMin Ljava/math/BigInteger;
21 22 7 literalMax Ljava/math/BigInteger;
23 31 7 literalMax Ljava/math/BigInteger;
Exceptions:
throws com.oracle.truffle.regex.RegexSyntaxException
MethodParameters:
Name Flags
c
private com.oracle.truffle.regex.tregex.parser.Token countedRepetitionSyntaxError(int);
descriptor: (I)Lcom/oracle/truffle/regex/tregex/parser/Token;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.flags:Lcom/oracle/truffle/regex/RegexFlags;
invokevirtual com.oracle.truffle.regex.RegexFlags.isUnicode:()Z
ifeq 2
1: aload 0
ldc "Incomplete quantifier"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.syntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/regex/RegexSyntaxException;
athrow
2: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield com.oracle.truffle.regex.tregex.parser.RegexLexer.index:I
3: aload 0
bipush 123
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.charClass:(I)Lcom/oracle/truffle/regex/tregex/parser/Token;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
0 4 1 resetIndex I
Exceptions:
throws com.oracle.truffle.regex.RegexSyntaxException
MethodParameters:
Name Flags
resetIndex
private com.oracle.truffle.regex.tregex.parser.Token parseCharClass();
descriptor: ()Lcom/oracle/truffle/regex/tregex/parser/Token;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
ldc "^"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.consumingLookahead:(Ljava/lang/String;)Z
istore 1
start local 1 1: aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.curCharClass:Lcom/oracle/truffle/regex/charset/CodePointSetAccumulator;
invokevirtual com.oracle.truffle.regex.charset.CodePointSetAccumulator.clear:()V
2: goto 7
3: StackMap locals: int
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.consumeChar:()C
istore 2
start local 2 4: iload 2
bipush 93
if_icmpne 6
5: aload 0
iload 1
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.charClass:(Z)Lcom/oracle/truffle/regex/tregex/parser/Token;
areturn
6: StackMap locals: int
StackMap stack:
aload 0
iload 2
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.parseCharClassRange:(C)V
end local 2 7: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.atEnd:()Z
ifeq 3
8: aload 0
ldc "Unterminated character class"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.syntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/regex/RegexSyntaxException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
1 9 1 invert Z
4 7 2 c C
Exceptions:
throws com.oracle.truffle.regex.RegexSyntaxException
private com.oracle.truffle.regex.charset.CodePointSet parseCharClassAtomPredefCharClass(char);
descriptor: (C)Lcom/oracle/truffle/regex/charset/CodePointSet;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
bipush 92
if_icmpne 5
1: aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.atEnd:()Z
ifeq 3
2: aload 0
ldc "Ends with an unfinished escape sequence"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.syntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/regex/RegexSyntaxException;
athrow
3: StackMap locals:
StackMap stack:
aload 0
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.curChar:()C
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.isEscapeCharClass:(C)Z
ifeq 5
4: aload 0
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.consumeChar:()C
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.parseEscapeCharClass:(C)Lcom/oracle/truffle/regex/charset/CodePointSet;
areturn
5: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
0 6 1 c C
Exceptions:
throws com.oracle.truffle.regex.RegexSyntaxException
MethodParameters:
Name Flags
c
private int parseCharClassAtomCodePoint(char);
descriptor: (C)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
bipush 92
if_icmpne 4
1: getstatic com.oracle.truffle.regex.tregex.parser.RegexLexer.$assertionsDisabled:Z
ifne 2
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.atEnd:()Z
ifeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.regex.tregex.parser.RegexLexer.$assertionsDisabled:Z
ifne 3
aload 0
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.curChar:()C
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.isEscapeCharClass:(C)Z
ifeq 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 0
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.consumeChar:()C
iconst_1
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.parseEscapeChar:(CZ)I
ireturn
4: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.flags:Lcom/oracle/truffle/regex/RegexFlags;
invokevirtual com.oracle.truffle.regex.RegexFlags.isUnicode:()Z
ifeq 6
iload 1
invokestatic java.lang.Character.isHighSurrogate:(C)Z
ifeq 6
5: aload 0
iload 1
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.finishSurrogatePair:(C)I
ireturn
6: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
0 7 1 c C
Exceptions:
throws com.oracle.truffle.regex.RegexSyntaxException
MethodParameters:
Name Flags
c
private void parseCharClassRange(char);
descriptor: (C)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.parseCharClassAtomPredefCharClass:(C)Lcom/oracle/truffle/regex/charset/CodePointSet;
astore 2
start local 2 1: aload 2
ifnonnull 2
aload 0
iload 1
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.parseCharClassAtomCodePoint:(C)I
goto 3
StackMap locals: com.oracle.truffle.regex.charset.CodePointSet
StackMap stack:
2: iconst_m1
StackMap locals:
StackMap stack: int
3: istore 3
start local 3 4: aload 0
ldc "-"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.consumingLookahead:(Ljava/lang/String;)Z
ifeq 25
5: aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.atEnd:()Z
ifne 6
aload 0
ldc "]"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.lookahead:(Ljava/lang/String;)Z
ifeq 9
6: StackMap locals: int
StackMap stack:
aload 0
aload 2
iload 3
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.addCharClassAtom:(Lcom/oracle/truffle/regex/charset/CodePointSet;I)V
7: aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.curCharClass:Lcom/oracle/truffle/regex/charset/CodePointSetAccumulator;
bipush 45
bipush 45
invokevirtual com.oracle.truffle.regex.charset.CodePointSetAccumulator.addRange:(II)V
8: goto 26
9: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.consumeChar:()C
istore 4
start local 4 10: aload 0
iload 4
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.parseCharClassAtomPredefCharClass:(C)Lcom/oracle/truffle/regex/charset/CodePointSet;
astore 5
start local 5 11: aload 5
ifnonnull 12
aload 0
iload 4
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.parseCharClassAtomCodePoint:(C)I
goto 13
StackMap locals: int com.oracle.truffle.regex.charset.CodePointSet
StackMap stack:
12: iconst_m1
StackMap locals:
StackMap stack: int
13: istore 6
start local 6 14: aload 2
ifnonnull 15
aload 5
ifnull 21
15: StackMap locals: int
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.flags:Lcom/oracle/truffle/regex/RegexFlags;
invokevirtual com.oracle.truffle.regex.RegexFlags.isUnicode:()Z
ifeq 17
16: aload 0
ldc "Invalid character class"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.syntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/regex/RegexSyntaxException;
athrow
17: StackMap locals:
StackMap stack:
aload 0
aload 2
iload 3
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.addCharClassAtom:(Lcom/oracle/truffle/regex/charset/CodePointSet;I)V
18: aload 0
aload 5
iload 6
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.addCharClassAtom:(Lcom/oracle/truffle/regex/charset/CodePointSet;I)V
19: aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.curCharClass:Lcom/oracle/truffle/regex/charset/CodePointSetAccumulator;
bipush 45
bipush 45
invokevirtual com.oracle.truffle.regex.charset.CodePointSetAccumulator.addRange:(II)V
20: goto 26
21: StackMap locals:
StackMap stack:
iload 6
iload 3
if_icmpge 23
22: aload 0
ldc "Range out of order in character class"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.syntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/regex/RegexSyntaxException;
athrow
23: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.curCharClass:Lcom/oracle/truffle/regex/charset/CodePointSetAccumulator;
iload 3
iload 6
invokevirtual com.oracle.truffle.regex.charset.CodePointSetAccumulator.addRange:(II)V
end local 6 end local 5 end local 4 24: goto 26
25: StackMap locals:
StackMap stack:
aload 0
aload 2
iload 3
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.addCharClassAtom:(Lcom/oracle/truffle/regex/charset/CodePointSet;I)V
26: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
0 27 1 c C
1 27 2 firstAtomCC Lcom/oracle/truffle/regex/charset/CodePointSet;
4 27 3 firstAtomCP I
10 24 4 nextC C
11 24 5 secondAtomCC Lcom/oracle/truffle/regex/charset/CodePointSet;
14 24 6 secondAtomCP I
Exceptions:
throws com.oracle.truffle.regex.RegexSyntaxException
MethodParameters:
Name Flags
c
private void addCharClassAtom(com.oracle.truffle.regex.charset.CodePointSet, int);
descriptor: (Lcom/oracle/truffle/regex/charset/CodePointSet;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnull 3
1: aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.curCharClass:Lcom/oracle/truffle/regex/charset/CodePointSetAccumulator;
aload 1
invokevirtual com.oracle.truffle.regex.charset.CodePointSetAccumulator.addSet:(Lcom/oracle/truffle/regex/charset/SortedListOfRanges;)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.curCharClass:Lcom/oracle/truffle/regex/charset/CodePointSetAccumulator;
iload 2
iload 2
invokevirtual com.oracle.truffle.regex.charset.CodePointSetAccumulator.addRange:(II)V
4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
0 5 1 preDefCharClass Lcom/oracle/truffle/regex/charset/CodePointSet;
0 5 2 codePoint I
MethodParameters:
Name Flags
preDefCharClass
codePoint
private com.oracle.truffle.regex.charset.CodePointSet parseEscapeCharClass(char);
descriptor: (C)Lcom/oracle/truffle/regex/charset/CodePointSet;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
invokestatic com.oracle.truffle.regex.tregex.parser.RegexLexer.isPredefCharClass:(C)Z
ifeq 2
1: aload 0
iload 1
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.parsePredefCharClass:(C)Lcom/oracle/truffle/regex/charset/CodePointSet;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.flags:Lcom/oracle/truffle/regex/RegexFlags;
invokevirtual com.oracle.truffle.regex.RegexFlags.isUnicode:()Z
ifeq 6
iload 1
bipush 112
if_icmpeq 3
iload 1
bipush 80
if_icmpne 6
3: StackMap locals:
StackMap stack:
aload 0
iload 1
bipush 80
if_icmpne 4
iconst_1
goto 5
StackMap locals:
StackMap stack: com.oracle.truffle.regex.tregex.parser.RegexLexer
4: iconst_0
StackMap locals: com.oracle.truffle.regex.tregex.parser.RegexLexer int
StackMap stack: com.oracle.truffle.regex.tregex.parser.RegexLexer int
5: invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.parseUnicodeCharacterProperty:(Z)Lcom/oracle/truffle/regex/charset/CodePointSet;
areturn
6: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.regex.tregex.util.Exceptions.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
0 7 1 c C
Exceptions:
throws com.oracle.truffle.regex.RegexSyntaxException
MethodParameters:
Name Flags
c
private com.oracle.truffle.regex.charset.CodePointSet parsePredefCharClass(char);
descriptor: (C)Lcom/oracle/truffle/regex/charset/CodePointSet;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iload 1
lookupswitch { // 6
68: 8
83: 4
87: 12
100: 7
115: 1
119: 9
default: 15
}
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.options:Lcom/oracle/truffle/regex/RegexOptions;
invokevirtual com.oracle.truffle.regex.RegexOptions.isU180EWhitespace:()Z
ifeq 3
2: getstatic com.oracle.truffle.regex.charset.Constants.LEGACY_WHITE_SPACE:Lcom/oracle/truffle/regex/charset/CodePointSet;
areturn
3: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.regex.charset.Constants.WHITE_SPACE:Lcom/oracle/truffle/regex/charset/CodePointSet;
areturn
4: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.options:Lcom/oracle/truffle/regex/RegexOptions;
invokevirtual com.oracle.truffle.regex.RegexOptions.isU180EWhitespace:()Z
ifeq 6
5: getstatic com.oracle.truffle.regex.charset.Constants.LEGACY_NON_WHITE_SPACE:Lcom/oracle/truffle/regex/charset/CodePointSet;
areturn
6: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.regex.charset.Constants.NON_WHITE_SPACE:Lcom/oracle/truffle/regex/charset/CodePointSet;
areturn
7: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.regex.charset.Constants.DIGITS:Lcom/oracle/truffle/regex/charset/CodePointSet;
areturn
8: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.regex.charset.Constants.NON_DIGITS:Lcom/oracle/truffle/regex/charset/CodePointSet;
areturn
9: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.flags:Lcom/oracle/truffle/regex/RegexFlags;
invokevirtual com.oracle.truffle.regex.RegexFlags.isUnicode:()Z
ifeq 11
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.flags:Lcom/oracle/truffle/regex/RegexFlags;
invokevirtual com.oracle.truffle.regex.RegexFlags.isIgnoreCase:()Z
ifeq 11
10: getstatic com.oracle.truffle.regex.charset.Constants.WORD_CHARS_UNICODE_IGNORE_CASE:Lcom/oracle/truffle/regex/charset/CodePointSet;
areturn
11: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.regex.charset.Constants.WORD_CHARS:Lcom/oracle/truffle/regex/charset/CodePointSet;
areturn
12: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.flags:Lcom/oracle/truffle/regex/RegexFlags;
invokevirtual com.oracle.truffle.regex.RegexFlags.isUnicode:()Z
ifeq 14
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.flags:Lcom/oracle/truffle/regex/RegexFlags;
invokevirtual com.oracle.truffle.regex.RegexFlags.isIgnoreCase:()Z
ifeq 14
13: getstatic com.oracle.truffle.regex.charset.Constants.NON_WORD_CHARS_UNICODE_IGNORE_CASE:Lcom/oracle/truffle/regex/charset/CodePointSet;
areturn
14: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.regex.charset.Constants.NON_WORD_CHARS:Lcom/oracle/truffle/regex/charset/CodePointSet;
areturn
15: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.regex.tregex.util.Exceptions.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
0 16 1 c C
MethodParameters:
Name Flags
c
private com.oracle.truffle.regex.charset.CodePointSet parseUnicodeCharacterProperty(boolean);
descriptor: (Z)Lcom/oracle/truffle/regex/charset/CodePointSet;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
ldc "{"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.consumingLookahead:(Ljava/lang/String;)Z
ifne 2
1: aload 0
ldc "Invalid Unicode property escape"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.syntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/regex/RegexSyntaxException;
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.index:I
istore 2
start local 2 3: goto 5
4: StackMap locals: int
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.advance:()V
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.atEnd:()Z
ifne 6
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.curChar:()C
bipush 125
if_icmpne 4
6: StackMap locals:
StackMap stack:
aload 0
ldc "}"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.consumingLookahead:(Ljava/lang/String;)Z
ifne 8
7: aload 0
ldc "Ends with an unfinished Unicode property escape"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.syntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/regex/RegexSyntaxException;
athrow
8: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.encoding:Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;
invokevirtual com.oracle.truffle.regex.tregex.string.Encodings$Encoding.getFullSet:()Lcom/oracle/truffle/regex/charset/CodePointSet;
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.pattern:Ljava/lang/String;
iload 2
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.index:I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic com.oracle.truffle.regex.charset.UnicodeProperties.getProperty:(Ljava/lang/String;)Lcom/oracle/truffle/regex/charset/CodePointSet;
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.curCharClass:Lcom/oracle/truffle/regex/charset/CodePointSetAccumulator;
invokevirtual com.oracle.truffle.regex.charset.CodePointSetAccumulator.getTmp:()Lcom/oracle/truffle/regex/tregex/buffer/IntRangesBuffer;
invokevirtual com.oracle.truffle.regex.charset.CodePointSet.createIntersection:(Lcom/oracle/truffle/regex/charset/ImmutableSortedListOfRanges;Lcom/oracle/truffle/regex/charset/RangesBuffer;)Lcom/oracle/truffle/regex/charset/ImmutableSortedListOfRanges;
checkcast com.oracle.truffle.regex.charset.CodePointSet
astore 3
start local 3 9: iload 1
ifeq 10
aload 3
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.encoding: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;
goto 11
StackMap locals: com.oracle.truffle.regex.charset.CodePointSet
StackMap stack:
10: aload 3
StackMap locals:
StackMap stack: com.oracle.truffle.regex.charset.CodePointSet
11: areturn
end local 3 12: StackMap locals: com.oracle.truffle.regex.tregex.parser.RegexLexer int int
StackMap stack: java.lang.IllegalArgumentException
astore 3
start local 3 13: aload 0
aload 3
invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.syntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/regex/RegexSyntaxException;
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
0 14 1 invert Z
3 14 2 namePos I
9 12 3 propertySet Lcom/oracle/truffle/regex/charset/CodePointSet;
13 14 3 e Ljava/lang/IllegalArgumentException;
Exception table:
from to target type
8 11 12 Class java.lang.IllegalArgumentException
Exceptions:
throws com.oracle.truffle.regex.RegexSyntaxException
MethodParameters:
Name Flags
invert
private int parseUnicodeEscapeChar();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.flags:Lcom/oracle/truffle/regex/RegexFlags;
invokevirtual com.oracle.truffle.regex.RegexFlags.isUnicode:()Z
ifeq 5
aload 0
ldc "{"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.consumingLookahead:(Ljava/lang/String;)Z
ifeq 5
1: aload 0
iconst_1
ldc 2147483647
ldc 1114111
ldc "Invalid Unicode escape"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.parseHex:(IIILjava/lang/String;)I
istore 1
start local 1 2: aload 0
ldc "}"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.consumingLookahead:(Ljava/lang/String;)Z
ifne 4
3: aload 0
ldc "Invalid Unicode escape"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.syntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/regex/RegexSyntaxException;
athrow
4: StackMap locals: int
StackMap stack:
iload 1
ireturn
end local 1 5: StackMap locals:
StackMap stack:
aload 0
iconst_4
iconst_4
ldc 65535
ldc "Invalid Unicode escape"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.parseHex:(IIILjava/lang/String;)I
istore 1
start local 1 6: aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.flags:Lcom/oracle/truffle/regex/RegexFlags;
invokevirtual com.oracle.truffle.regex.RegexFlags.isUnicode:()Z
ifeq 16
iload 1
i2c
invokestatic java.lang.Character.isHighSurrogate:(C)Z
ifeq 16
7: aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.index:I
istore 2
start local 2 8: aload 0
ldc "\\u"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.consumingLookahead:(Ljava/lang/String;)Z
ifeq 15
aload 0
ldc "{"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.lookahead:(Ljava/lang/String;)Z
ifne 15
9: iload 1
i2c
istore 3
start local 3 10: aload 0
iconst_4
iconst_4
ldc 65535
ldc "Invalid Unicode escape"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.parseHex:(IIILjava/lang/String;)I
i2c
istore 4
start local 4 11: iload 4
invokestatic java.lang.Character.isLowSurrogate:(C)Z
ifeq 13
12: iload 3
iload 4
invokestatic java.lang.Character.toCodePoint:(CC)I
ireturn
13: StackMap locals: com.oracle.truffle.regex.tregex.parser.RegexLexer int int int int
StackMap stack:
aload 0
iload 2
putfield com.oracle.truffle.regex.tregex.parser.RegexLexer.index:I
end local 4 end local 3 14: goto 16
15: StackMap locals:
StackMap stack:
aload 0
iload 2
putfield com.oracle.truffle.regex.tregex.parser.RegexLexer.index:I
end local 2 16: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
2 5 1 value I
6 17 1 value I
8 16 2 resetIndex I
10 14 3 lead C
11 14 4 trail C
Exceptions:
throws com.oracle.truffle.regex.RegexSyntaxException
private int parseEscapeChar(char, boolean);
descriptor: (CZ)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: iload 2
ifeq 2
iload 1
bipush 98
if_icmpne 2
1: bipush 8
ireturn
2: StackMap locals:
StackMap stack:
iload 1
lookupswitch { // 10
45: 35
48: 3
99: 13
102: 11
110: 9
114: 12
116: 8
117: 27
118: 10
120: 31
default: 38
}
3: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.flags:Lcom/oracle/truffle/regex/RegexFlags;
invokevirtual com.oracle.truffle.regex.RegexFlags.isUnicode:()Z
ifeq 5
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.atEnd:()Z
ifne 5
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.curChar:()C
invokestatic com.oracle.truffle.regex.tregex.parser.RegexLexer.isDecimal:(C)Z
ifeq 5
4: aload 0
ldc "Invalid escape"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.syntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/regex/RegexSyntaxException;
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.flags:Lcom/oracle/truffle/regex/RegexFlags;
invokevirtual com.oracle.truffle.regex.RegexFlags.isUnicode:()Z
ifne 7
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.atEnd:()Z
ifne 7
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.curChar:()C
invokestatic com.oracle.truffle.regex.tregex.parser.RegexLexer.isOctal:(C)Z
ifeq 7
6: aload 0
iconst_0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.parseOctal:(I)I
ireturn
7: StackMap locals:
StackMap stack:
iconst_0
ireturn
8: StackMap locals:
StackMap stack:
bipush 9
ireturn
9: StackMap locals:
StackMap stack:
bipush 10
ireturn
10: StackMap locals:
StackMap stack:
bipush 11
ireturn
11: StackMap locals:
StackMap stack:
bipush 12
ireturn
12: StackMap locals:
StackMap stack:
bipush 13
ireturn
13: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.atEnd:()Z
ifeq 16
14: aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.retreat:()V
15: aload 0
bipush 92
ldc "Invalid control char escape"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.escapeCharSyntaxError:(CLjava/lang/String;)C
ireturn
16: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.curChar:()C
istore 3
start local 3 17: aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.flags:Lcom/oracle/truffle/regex/RegexFlags;
invokevirtual com.oracle.truffle.regex.RegexFlags.isUnicode:()Z
ifne 21
iload 3
invokestatic com.oracle.truffle.regex.tregex.parser.RegexLexer.isDecimal:(C)Z
ifne 18
iload 3
bipush 95
if_icmpne 21
StackMap locals: int
StackMap stack:
18: iload 2
ifeq 21
19: aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.advance:()V
20: iload 3
bipush 32
irem
ireturn
21: StackMap locals:
StackMap stack:
bipush 97
iload 3
if_icmpgt 22
iload 3
bipush 122
if_icmple 25
StackMap locals:
StackMap stack:
22: bipush 65
iload 3
if_icmpgt 23
iload 3
bipush 90
if_icmple 25
23: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.retreat:()V
24: aload 0
bipush 92
ldc "Invalid control char escape"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.escapeCharSyntaxError:(CLjava/lang/String;)C
ireturn
25: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.advance:()V
26: iload 3
invokestatic java.lang.Character.toUpperCase:(C)C
bipush 64
isub
ireturn
end local 3 27: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.parseUnicodeEscapeChar:()I
istore 4
start local 4 28: iload 4
ifge 29
iload 1
goto 30
StackMap locals: com.oracle.truffle.regex.tregex.parser.RegexLexer int int top int
StackMap stack:
29: iload 4
StackMap locals:
StackMap stack: int
30: ireturn
end local 4 31: StackMap locals: com.oracle.truffle.regex.tregex.parser.RegexLexer int int
StackMap stack:
aload 0
iconst_2
iconst_2
sipush 255
ldc "Invalid escape"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.parseHex:(IIILjava/lang/String;)I
istore 5
start local 5 32: iload 5
ifge 33
iload 1
goto 34
StackMap locals: com.oracle.truffle.regex.tregex.parser.RegexLexer int int top top int
StackMap stack:
33: iload 5
StackMap locals:
StackMap stack: int
34: ireturn
end local 5 35: StackMap locals: com.oracle.truffle.regex.tregex.parser.RegexLexer int int
StackMap stack:
iload 2
ifne 37
36: aload 0
iload 1
ldc "Invalid escape"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.escapeCharSyntaxError:(CLjava/lang/String;)C
ireturn
37: StackMap locals:
StackMap stack:
iload 1
ireturn
38: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.flags:Lcom/oracle/truffle/regex/RegexFlags;
invokevirtual com.oracle.truffle.regex.RegexFlags.isUnicode:()Z
ifne 40
iload 1
invokestatic com.oracle.truffle.regex.tregex.parser.RegexLexer.isOctal:(C)Z
ifeq 40
39: aload 0
iload 1
bipush 48
isub
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.parseOctal:(I)I
ireturn
40: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.regex.tregex.parser.RegexLexer.SYNTAX_CHARS:Lcom/oracle/truffle/regex/util/CompilationFinalBitSet;
iload 1
invokevirtual com.oracle.truffle.regex.util.CompilationFinalBitSet.get:(I)Z
ifne 42
41: aload 0
iload 1
ldc "Invalid escape"
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.escapeCharSyntaxError:(CLjava/lang/String;)C
ireturn
42: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 43 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
0 43 1 c C
0 43 2 inCharClass Z
17 27 3 controlLetter C
28 31 4 unicodeEscape I
32 35 5 value I
Exceptions:
throws com.oracle.truffle.regex.RegexSyntaxException
MethodParameters:
Name Flags
c
inCharClass
private int finishSurrogatePair(char);
descriptor: (C)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.regex.tregex.parser.RegexLexer.$assertionsDisabled:Z
ifne 2
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.flags:Lcom/oracle/truffle/regex/RegexFlags;
invokevirtual com.oracle.truffle.regex.RegexFlags.isUnicode:()Z
ifeq 1
iload 1
invokestatic java.lang.Character.isHighSurrogate:(C)Z
ifne 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.atEnd:()Z
ifne 6
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.curChar:()C
invokestatic java.lang.Character.isLowSurrogate:(C)Z
ifeq 6
3: iload 1
istore 2
start local 2 4: aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.consumeChar:()C
istore 3
start local 3 5: iload 2
iload 3
invokestatic java.lang.Character.toCodePoint:(CC)I
ireturn
end local 3 end local 2 6: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
0 7 1 c C
4 6 2 lead C
5 6 3 trail C
MethodParameters:
Name Flags
c
private char escapeCharSyntaxError(char, java.lang.String);
descriptor: (CLjava/lang/String;)C
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.flags:Lcom/oracle/truffle/regex/RegexFlags;
invokevirtual com.oracle.truffle.regex.RegexFlags.isUnicode:()Z
ifeq 2
1: aload 0
aload 2
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.syntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/regex/RegexSyntaxException;
athrow
2: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
0 3 1 c C
0 3 2 msg Ljava/lang/String;
Exceptions:
throws com.oracle.truffle.regex.RegexSyntaxException
MethodParameters:
Name Flags
c
msg
private java.math.BigInteger parseDecimal();
descriptor: ()Ljava/math/BigInteger;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.atEnd:()Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.curChar:()C
invokestatic com.oracle.truffle.regex.tregex.parser.RegexLexer.isDecimal:(C)Z
ifne 2
1: StackMap locals:
StackMap stack:
ldc -1
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getstatic java.math.BigInteger.ZERO:Ljava/math/BigInteger;
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.parseDecimal:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
private java.math.BigInteger parseDecimal(java.math.BigInteger);
descriptor: (Ljava/math/BigInteger;)Ljava/math/BigInteger;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
astore 2
start local 2 1: goto 4
2: StackMap locals: java.math.BigInteger
StackMap stack:
aload 2
getstatic java.math.BigInteger.TEN:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.multiply:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
astore 2
3: aload 2
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.consumeChar:()C
bipush 48
isub
i2l
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.add:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
astore 2
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.atEnd:()Z
ifne 5
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.curChar:()C
invokestatic com.oracle.truffle.regex.tregex.parser.RegexLexer.isDecimal:(C)Z
ifne 2
5: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
0 6 1 firstDigit Ljava/math/BigInteger;
1 6 2 ret Ljava/math/BigInteger;
MethodParameters:
Name Flags
firstDigit
private int parseInteger(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: iload 1
istore 2
start local 2 1: aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.index:I
istore 3
start local 3 2: goto 4
3: StackMap locals: int int
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.advance:()V
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.atEnd:()Z
ifne 5
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.curChar:()C
invokestatic com.oracle.truffle.regex.tregex.parser.RegexLexer.isDecimal:(C)Z
ifne 3
5: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.index:I
istore 4
start local 4 6: iload 3
istore 5
start local 5 7: goto 16
8: StackMap locals: int int
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.pattern:Ljava/lang/String;
iload 5
invokevirtual java.lang.String.charAt:(I)C
bipush 48
isub
istore 6
start local 6 9: iload 2
ldc 214748364
if_icmple 11
10: ldc 2147483647
ireturn
11: StackMap locals: int
StackMap stack:
iload 2
bipush 10
imul
istore 2
12: iload 2
ldc 2147483647
iload 6
isub
if_icmple 14
13: ldc 2147483647
ireturn
14: StackMap locals:
StackMap stack:
iload 2
iload 6
iadd
istore 2
end local 6 15: iinc 5 1
StackMap locals:
StackMap stack:
16: iload 5
iload 4
if_icmplt 8
end local 5 17: iload 2
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
0 18 1 firstDigit I
1 18 2 ret I
2 18 3 initialIndex I
6 18 4 terminalIndex I
7 17 5 i I
9 15 6 nextDigit I
MethodParameters:
Name Flags
firstDigit
private int parseOctal(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: iload 1
istore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 8
3: StackMap locals: int int
StackMap stack:
iload 2
bipush 8
imul
sipush 255
if_icmple 5
4: iload 2
ireturn
5: StackMap locals:
StackMap stack:
iload 2
bipush 8
imul
istore 2
6: iload 2
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.consumeChar:()C
bipush 48
isub
iadd
istore 2
7: iinc 3 1
StackMap locals:
StackMap stack:
8: aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.atEnd:()Z
ifne 9
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.curChar:()C
invokestatic com.oracle.truffle.regex.tregex.parser.RegexLexer.isOctal:(C)Z
ifeq 9
iload 3
iconst_2
if_icmplt 3
end local 3 9: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
0 10 1 firstDigit I
1 10 2 ret I
2 9 3 i I
MethodParameters:
Name Flags
firstDigit
private int parseHex(int, int, int, java.lang.String);
descriptor: (IIILjava/lang/String;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_0
istore 5
start local 5 1: aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.index:I
istore 6
start local 6 2: iconst_0
istore 7
start local 7 3: goto 22
4: StackMap locals: int int int
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.atEnd:()Z
ifne 5
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.curChar:()C
invokestatic com.oracle.truffle.regex.tregex.parser.RegexLexer.isHex:(C)Z
ifne 10
5: StackMap locals:
StackMap stack:
iload 7
iload 1
if_icmpge 23
6: aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.flags:Lcom/oracle/truffle/regex/RegexFlags;
invokevirtual com.oracle.truffle.regex.RegexFlags.isUnicode:()Z
ifeq 8
7: aload 0
aload 4
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.syntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/regex/RegexSyntaxException;
athrow
8: StackMap locals:
StackMap stack:
aload 0
iload 6
putfield com.oracle.truffle.regex.tregex.parser.RegexLexer.index:I
9: iconst_m1
ireturn
10: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.consumeChar:()C
istore 8
start local 8 11: iload 5
bipush 16
imul
istore 5
12: iload 8
bipush 97
if_icmplt 15
13: iload 5
iload 8
bipush 87
isub
iadd
istore 5
14: goto 19
StackMap locals: int
StackMap stack:
15: iload 8
bipush 65
if_icmplt 18
16: iload 5
iload 8
bipush 55
isub
iadd
istore 5
17: goto 19
18: StackMap locals:
StackMap stack:
iload 5
iload 8
bipush 48
isub
iadd
istore 5
19: StackMap locals:
StackMap stack:
iload 5
iload 3
if_icmple 21
20: aload 0
aload 4
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexLexer.syntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/regex/RegexSyntaxException;
athrow
end local 8 21: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
22: iload 7
iload 2
if_icmplt 4
end local 7 23: StackMap locals:
StackMap stack:
iload 5
ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
0 24 1 minDigits I
0 24 2 maxDigits I
0 24 3 maxValue I
0 24 4 errorMsg Ljava/lang/String;
1 24 5 ret I
2 24 6 initialIndex I
3 23 7 i I
11 21 8 c C
Exceptions:
throws com.oracle.truffle.regex.RegexSyntaxException
MethodParameters:
Name Flags
minDigits
maxDigits
maxValue
errorMsg
private static boolean isDecimal(char);
descriptor: (C)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: bipush 48
iload 0
if_icmpgt 1
iload 0
bipush 57
if_icmpgt 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 c C
MethodParameters:
Name Flags
c
private static boolean isOctal(char);
descriptor: (C)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: bipush 48
iload 0
if_icmpgt 1
iload 0
bipush 55
if_icmpgt 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 c C
MethodParameters:
Name Flags
c
private static boolean isHex(char);
descriptor: (C)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: bipush 48
iload 0
if_icmpgt 1
iload 0
bipush 57
if_icmple 4
StackMap locals:
StackMap stack:
1: bipush 97
iload 0
if_icmpgt 2
iload 0
bipush 102
if_icmple 4
StackMap locals:
StackMap stack:
2: bipush 65
iload 0
if_icmpgt 3
iload 0
bipush 70
if_icmple 4
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
StackMap locals:
StackMap stack:
4: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 c C
MethodParameters:
Name Flags
c
private static boolean isPredefCharClass(char);
descriptor: (C)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic com.oracle.truffle.regex.tregex.parser.RegexLexer.PREDEFINED_CHAR_CLASSES:Lcom/oracle/truffle/regex/util/CompilationFinalBitSet;
iload 0
invokevirtual com.oracle.truffle.regex.util.CompilationFinalBitSet.get:(I)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 c C
MethodParameters:
Name Flags
c
private boolean isEscapeCharClass(char);
descriptor: (C)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
invokestatic com.oracle.truffle.regex.tregex.parser.RegexLexer.isPredefCharClass:(C)Z
ifne 2
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.flags:Lcom/oracle/truffle/regex/RegexFlags;
invokevirtual com.oracle.truffle.regex.RegexFlags.isUnicode:()Z
ifeq 1
iload 1
bipush 112
if_icmpeq 2
iload 1
bipush 80
if_icmpeq 2
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
StackMap locals:
StackMap stack:
2: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
0 3 1 c C
MethodParameters:
Name Flags
c
private com.oracle.truffle.regex.RegexSyntaxException syntaxError(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/oracle/truffle/regex/RegexSyntaxException;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.regex.RegexSyntaxException
dup
aload 0
getfield com.oracle.truffle.regex.tregex.parser.RegexLexer.source:Lcom/oracle/truffle/regex/RegexSource;
aload 1
invokespecial com.oracle.truffle.regex.RegexSyntaxException.<init>:(Lcom/oracle/truffle/regex/RegexSource;Ljava/lang/String;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/tregex/parser/RegexLexer;
0 1 1 msg Ljava/lang/String;
MethodParameters:
Name Flags
msg
}
SourceFile: "RegexLexer.java"
InnerClasses:
public final CaseFoldingAlgorithm = com.oracle.truffle.regex.tregex.parser.CaseFoldTable$CaseFoldingAlgorithm of com.oracle.truffle.regex.tregex.parser.CaseFoldTable
public final Kind = com.oracle.truffle.regex.tregex.parser.Token$Kind of com.oracle.truffle.regex.tregex.parser.Token
public final Quantifier = com.oracle.truffle.regex.tregex.parser.Token$Quantifier of com.oracle.truffle.regex.tregex.parser.Token
public abstract Encoding = com.oracle.truffle.regex.tregex.string.Encodings$Encoding of com.oracle.truffle.regex.tregex.string.Encodings