public final class com.oracle.truffle.regex.tregex.parser.ast.RegexAST implements com.oracle.truffle.regex.tregex.automaton.StateIndex<com.oracle.truffle.regex.tregex.parser.ast.RegexASTNode>, com.oracle.truffle.regex.tregex.util.json.JsonConvertible
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.regex.tregex.parser.ast.RegexAST
super_class: java.lang.Object
{
private final com.oracle.truffle.regex.RegexLanguage language;
descriptor: Lcom/oracle/truffle/regex/RegexLanguage;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.regex.RegexSource source;
descriptor: Lcom/oracle/truffle/regex/RegexSource;
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.RegexOptions options;
descriptor: Lcom/oracle/truffle/regex/RegexOptions;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.regex.tregex.parser.Counter$ThresholdCounter nodeCount;
descriptor: Lcom/oracle/truffle/regex/tregex/parser/Counter$ThresholdCounter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.regex.tregex.parser.Counter$ThresholdCounter groupCount;
descriptor: Lcom/oracle/truffle/regex/tregex/parser/Counter$ThresholdCounter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.regex.tregex.parser.Counter quantifierCount;
descriptor: Lcom/oracle/truffle/regex/tregex/parser/Counter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.regex.tregex.parser.Counter zeroWidthQuantifierCount;
descriptor: Lcom/oracle/truffle/regex/tregex/parser/Counter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.regex.tregex.parser.RegexProperties properties;
descriptor: Lcom/oracle/truffle/regex/tregex/parser/RegexProperties;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private com.oracle.truffle.regex.tregex.parser.ast.RegexASTNode[] nodes;
descriptor: [Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;
flags: (0x0002) ACC_PRIVATE
private com.oracle.truffle.regex.tregex.parser.ast.Group root;
descriptor: Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
flags: (0x0002) ACC_PRIVATE
private com.oracle.truffle.regex.tregex.parser.ast.Group wrappedRoot;
descriptor: Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
flags: (0x0002) ACC_PRIVATE
private com.oracle.truffle.regex.tregex.parser.ast.Group[] captureGroups;
descriptor: [Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
flags: (0x0002) ACC_PRIVATE
private final com.oracle.truffle.regex.tregex.parser.ast.LookAroundIndex lookArounds;
descriptor: Lcom/oracle/truffle/regex/tregex/parser/ast/LookAroundIndex;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.List<com.oracle.truffle.regex.tregex.parser.ast.PositionAssertion> reachableCarets;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lcom/oracle/truffle/regex/tregex/parser/ast/PositionAssertion;>;
private final java.util.List<com.oracle.truffle.regex.tregex.parser.ast.PositionAssertion> reachableDollars;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lcom/oracle/truffle/regex/tregex/parser/ast/PositionAssertion;>;
private com.oracle.truffle.regex.tregex.automaton.StateSet<com.oracle.truffle.regex.tregex.parser.ast.RegexAST, com.oracle.truffle.regex.tregex.parser.ast.PositionAssertion> nfaAnchoredInitialStates;
descriptor: Lcom/oracle/truffle/regex/tregex/automaton/StateSet;
flags: (0x0002) ACC_PRIVATE
Signature: Lcom/oracle/truffle/regex/tregex/automaton/StateSet<Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;Lcom/oracle/truffle/regex/tregex/parser/ast/PositionAssertion;>;
private com.oracle.truffle.regex.tregex.automaton.StateSet<com.oracle.truffle.regex.tregex.parser.ast.RegexAST, com.oracle.truffle.regex.tregex.parser.ast.RegexASTNode> hardPrefixNodes;
descriptor: Lcom/oracle/truffle/regex/tregex/automaton/StateSet;
flags: (0x0002) ACC_PRIVATE
Signature: Lcom/oracle/truffle/regex/tregex/automaton/StateSet<Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;>;
private final org.graalvm.collections.EconomicMap<com.oracle.truffle.regex.tregex.parser.ast.GroupBoundaries, com.oracle.truffle.regex.tregex.parser.ast.GroupBoundaries> groupBoundariesDeduplicationMap;
descriptor: Lorg/graalvm/collections/EconomicMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/graalvm/collections/EconomicMap<Lcom/oracle/truffle/regex/tregex/parser/ast/GroupBoundaries;Lcom/oracle/truffle/regex/tregex/parser/ast/GroupBoundaries;>;
private int negativeLookaheads;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int negativeLookbehinds;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final org.graalvm.collections.EconomicMap<com.oracle.truffle.regex.tregex.parser.ast.RegexASTNode, java.util.List<com.oracle.truffle.api.source.SourceSection>> sourceSections;
descriptor: Lorg/graalvm/collections/EconomicMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/graalvm/collections/EconomicMap<Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;Ljava/util/List<Lcom/oracle/truffle/api/source/SourceSection;>;>;
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
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.ast.RegexAST.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(com.oracle.truffle.regex.RegexLanguage, com.oracle.truffle.regex.RegexSource, com.oracle.truffle.regex.RegexFlags, com.oracle.truffle.regex.RegexOptions);
descriptor: (Lcom/oracle/truffle/regex/RegexLanguage;Lcom/oracle/truffle/regex/RegexSource;Lcom/oracle/truffle/regex/RegexFlags;Lcom/oracle/truffle/regex/RegexOptions;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new com.oracle.truffle.regex.tregex.parser.Counter$ThresholdCounter
dup
ldc 2147483647
ldc "parse tree explosion"
invokespecial com.oracle.truffle.regex.tregex.parser.Counter$ThresholdCounter.<init>:(ILjava/lang/String;)V
putfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.nodeCount:Lcom/oracle/truffle/regex/tregex/parser/Counter$ThresholdCounter;
2: aload 0
new com.oracle.truffle.regex.tregex.parser.Counter$ThresholdCounter
dup
sipush 32767
ldc "too many capture groups"
invokespecial com.oracle.truffle.regex.tregex.parser.Counter$ThresholdCounter.<init>:(ILjava/lang/String;)V
putfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.groupCount:Lcom/oracle/truffle/regex/tregex/parser/Counter$ThresholdCounter;
3: aload 0
new com.oracle.truffle.regex.tregex.parser.Counter
dup
invokespecial com.oracle.truffle.regex.tregex.parser.Counter.<init>:()V
putfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.quantifierCount:Lcom/oracle/truffle/regex/tregex/parser/Counter;
4: aload 0
new com.oracle.truffle.regex.tregex.parser.Counter
dup
invokespecial com.oracle.truffle.regex.tregex.parser.Counter.<init>:()V
putfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.zeroWidthQuantifierCount:Lcom/oracle/truffle/regex/tregex/parser/Counter;
5: aload 0
new com.oracle.truffle.regex.tregex.parser.RegexProperties
dup
invokespecial com.oracle.truffle.regex.tregex.parser.RegexProperties.<init>:()V
putfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.properties:Lcom/oracle/truffle/regex/tregex/parser/RegexProperties;
6: aload 0
new com.oracle.truffle.regex.tregex.parser.ast.LookAroundIndex
dup
invokespecial com.oracle.truffle.regex.tregex.parser.ast.LookAroundIndex.<init>:()V
putfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.lookArounds:Lcom/oracle/truffle/regex/tregex/parser/ast/LookAroundIndex;
7: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.reachableCarets:Ljava/util/List;
8: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.reachableDollars:Ljava/util/List;
9: aload 0
invokestatic org.graalvm.collections.EconomicMap.create:()Lorg/graalvm/collections/EconomicMap;
putfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.groupBoundariesDeduplicationMap:Lorg/graalvm/collections/EconomicMap;
10: aload 0
iconst_0
putfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.negativeLookaheads:I
11: aload 0
iconst_0
putfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.negativeLookbehinds:I
12: aload 0
aload 1
putfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.language:Lcom/oracle/truffle/regex/RegexLanguage;
13: aload 0
aload 2
putfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.source:Lcom/oracle/truffle/regex/RegexSource;
14: aload 0
aload 3
putfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.flags:Lcom/oracle/truffle/regex/RegexFlags;
15: aload 0
aload 4
putfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.options:Lcom/oracle/truffle/regex/RegexOptions;
16: aload 0
aload 4
invokevirtual com.oracle.truffle.regex.RegexOptions.isDumpAutomata:()Z
ifeq 17
getstatic org.graalvm.collections.Equivalence.IDENTITY_WITH_SYSTEM_HASHCODE:Lorg/graalvm/collections/Equivalence;
invokestatic org.graalvm.collections.EconomicMap.create:(Lorg/graalvm/collections/Equivalence;)Lorg/graalvm/collections/EconomicMap;
goto 18
StackMap locals: com.oracle.truffle.regex.tregex.parser.ast.RegexAST com.oracle.truffle.regex.RegexLanguage com.oracle.truffle.regex.RegexSource com.oracle.truffle.regex.RegexFlags com.oracle.truffle.regex.RegexOptions
StackMap stack: com.oracle.truffle.regex.tregex.parser.ast.RegexAST
17: aconst_null
StackMap locals: com.oracle.truffle.regex.tregex.parser.ast.RegexAST com.oracle.truffle.regex.RegexLanguage com.oracle.truffle.regex.RegexSource com.oracle.truffle.regex.RegexFlags com.oracle.truffle.regex.RegexOptions
StackMap stack: com.oracle.truffle.regex.tregex.parser.ast.RegexAST org.graalvm.collections.EconomicMap
18: putfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.sourceSections:Lorg/graalvm/collections/EconomicMap;
19: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
0 20 1 language Lcom/oracle/truffle/regex/RegexLanguage;
0 20 2 source Lcom/oracle/truffle/regex/RegexSource;
0 20 3 flags Lcom/oracle/truffle/regex/RegexFlags;
0 20 4 options Lcom/oracle/truffle/regex/RegexOptions;
MethodParameters:
Name Flags
language
source
flags
options
public com.oracle.truffle.regex.RegexLanguage getLanguage();
descriptor: ()Lcom/oracle/truffle/regex/RegexLanguage;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.language:Lcom/oracle/truffle/regex/RegexLanguage;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
public com.oracle.truffle.regex.RegexSource getSource();
descriptor: ()Lcom/oracle/truffle/regex/RegexSource;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.source:Lcom/oracle/truffle/regex/RegexSource;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
public com.oracle.truffle.regex.RegexFlags getFlags();
descriptor: ()Lcom/oracle/truffle/regex/RegexFlags;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.flags:Lcom/oracle/truffle/regex/RegexFlags;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
public com.oracle.truffle.regex.RegexOptions getOptions();
descriptor: ()Lcom/oracle/truffle/regex/RegexOptions;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.options:Lcom/oracle/truffle/regex/RegexOptions;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
public com.oracle.truffle.regex.tregex.string.Encodings$Encoding getEncoding();
descriptor: ()Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.source:Lcom/oracle/truffle/regex/RegexSource;
invokevirtual com.oracle.truffle.regex.RegexSource.getEncoding:()Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
public com.oracle.truffle.regex.tregex.parser.ast.Group getRoot();
descriptor: ()Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.root:Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
public void setRoot(com.oracle.truffle.regex.tregex.parser.ast.Group);
descriptor: (Lcom/oracle/truffle/regex/tregex/parser/ast/Group;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.root:Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
0 2 1 root Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
MethodParameters:
Name Flags
root
public com.oracle.truffle.regex.tregex.parser.ast.Group getWrappedRoot();
descriptor: ()Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.wrappedRoot:Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
public boolean rootIsWrapped();
descriptor: ()Z
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.ast.RegexAST.wrappedRoot:Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
ifnull 1
aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.root:Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.wrappedRoot:Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
if_acmpeq 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/ast/RegexAST;
public com.oracle.truffle.regex.tregex.parser.Counter$ThresholdCounter getNodeCount();
descriptor: ()Lcom/oracle/truffle/regex/tregex/parser/Counter$ThresholdCounter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.nodeCount:Lcom/oracle/truffle/regex/tregex/parser/Counter$ThresholdCounter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
public int getNumberOfNodes();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.nodeCount:Lcom/oracle/truffle/regex/tregex/parser/Counter$ThresholdCounter;
invokevirtual com.oracle.truffle.regex.tregex.parser.Counter$ThresholdCounter.getCount:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
public com.oracle.truffle.regex.tregex.parser.Counter$ThresholdCounter getGroupCount();
descriptor: ()Lcom/oracle/truffle/regex/tregex/parser/Counter$ThresholdCounter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.groupCount:Lcom/oracle/truffle/regex/tregex/parser/Counter$ThresholdCounter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
public int getNumberOfCaptureGroups();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.groupCount:Lcom/oracle/truffle/regex/tregex/parser/Counter$ThresholdCounter;
invokevirtual com.oracle.truffle.regex.tregex.parser.Counter$ThresholdCounter.getCount:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
public com.oracle.truffle.regex.tregex.parser.Counter getQuantifierCount();
descriptor: ()Lcom/oracle/truffle/regex/tregex/parser/Counter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.quantifierCount:Lcom/oracle/truffle/regex/tregex/parser/Counter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
public com.oracle.truffle.regex.tregex.parser.Counter getZeroWidthQuantifierCount();
descriptor: ()Lcom/oracle/truffle/regex/tregex/parser/Counter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.zeroWidthQuantifierCount:Lcom/oracle/truffle/regex/tregex/parser/Counter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
public com.oracle.truffle.regex.tregex.parser.ast.Group getGroupByBoundaryIndex(int);
descriptor: (I)Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.captureGroups:[Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
ifnonnull 8
1: aload 0
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.getNumberOfCaptureGroups:()I
anewarray com.oracle.truffle.regex.tregex.parser.ast.Group
putfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.captureGroups:[Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
2: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.nodes:[Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 7
StackMap locals: com.oracle.truffle.regex.tregex.parser.ast.RegexAST int top int int com.oracle.truffle.regex.tregex.parser.ast.RegexASTNode[]
StackMap stack:
3: aload 5
iload 3
aaload
astore 2
start local 2 4: aload 2
instanceof com.oracle.truffle.regex.tregex.parser.ast.Group
ifeq 6
aload 2
checkcast com.oracle.truffle.regex.tregex.parser.ast.Group
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.Group.isCapturing:()Z
ifeq 6
5: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.captureGroups:[Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
aload 2
checkcast com.oracle.truffle.regex.tregex.parser.ast.Group
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.Group.getGroupNumber:()I
aload 2
checkcast com.oracle.truffle.regex.tregex.parser.ast.Group
aastore
end local 2 6: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
iload 4
if_icmplt 3
8: StackMap locals: com.oracle.truffle.regex.tregex.parser.ast.RegexAST int
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.captureGroups:[Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
iload 1
iconst_2
idiv
aaload
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
0 9 1 index I
4 6 2 n Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;
MethodParameters:
Name Flags
index
public com.oracle.truffle.regex.tregex.parser.RegexProperties getProperties();
descriptor: ()Lcom/oracle/truffle/regex/tregex/parser/RegexProperties;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.properties:Lcom/oracle/truffle/regex/tregex/parser/RegexProperties;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
public boolean isLiteralString();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.getRoot:()Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
astore 1
start local 1 1: aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.getProperties:()Lcom/oracle/truffle/regex/tregex/parser/RegexProperties;
astore 2
start local 2 2: aload 2
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexProperties.hasBackReferences:()Z
ifne 6
aload 2
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexProperties.hasAlternations:()Z
ifne 6
aload 2
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexProperties.hasLookAroundAssertions:()Z
ifne 6
aload 1
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.Group.hasLoops:()Z
ifne 6
aload 1
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.Group.startsWithCaret:()Z
ifne 3
aload 1
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.Group.endsWithDollar:()Z
ifeq 4
StackMap locals: com.oracle.truffle.regex.tregex.parser.ast.Group com.oracle.truffle.regex.tregex.parser.RegexProperties
StackMap stack:
3: aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.getFlags:()Lcom/oracle/truffle/regex/RegexFlags;
invokevirtual com.oracle.truffle.regex.RegexFlags.isMultiline:()Z
ifne 6
4: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexProperties.hasCharClasses:()Z
ifeq 5
aload 2
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexProperties.charClassesCanBeMatchedWithMask:()Z
ifeq 6
5: StackMap locals:
StackMap stack:
iconst_1
ireturn
StackMap locals:
StackMap stack:
6: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
1 7 1 r Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
2 7 2 p Lcom/oracle/truffle/regex/tregex/parser/RegexProperties;
public int getNumberOfStates();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.nodes:[Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;
arraylength
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
public int getId(com.oracle.truffle.regex.tregex.parser.ast.RegexASTNode);
descriptor: (Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexASTNode.getId:()I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
0 1 1 state Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;
MethodParameters:
Name Flags
state
public com.oracle.truffle.regex.tregex.parser.ast.RegexASTNode getState(int);
descriptor: (I)Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.nodes:[Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;
iload 1
aaload
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
0 1 1 id I
MethodParameters:
Name Flags
id
public void setIndex(com.oracle.truffle.regex.tregex.parser.ast.RegexASTNode[]);
descriptor: ([Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.nodes:[Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
0 2 1 index [Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;
MethodParameters:
Name Flags
index
public int getWrappedPrefixLength();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.rootIsWrapped:()Z
ifeq 2
1: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.wrappedRoot:Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.Group.getFirstAlternative:()Lcom/oracle/truffle/regex/tregex/parser/ast/Sequence;
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.Sequence.size:()I
iconst_2
isub
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
public com.oracle.truffle.regex.tregex.parser.ast.RegexASTNode getEntryAfterPrefix();
descriptor: ()Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.rootIsWrapped:()Z
ifeq 2
1: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.wrappedRoot:Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.Group.getFirstAlternative:()Lcom/oracle/truffle/regex/tregex/parser/ast/Sequence;
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.Sequence.getTerms:()Ljava/util/ArrayList;
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.getWrappedPrefixLength:()I
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.regex.tregex.parser.ast.RegexASTNode
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.wrappedRoot:Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
public com.oracle.truffle.regex.tregex.parser.ast.LookAroundIndex getLookArounds();
descriptor: ()Lcom/oracle/truffle/regex/tregex/parser/ast/LookAroundIndex;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.lookArounds:Lcom/oracle/truffle/regex/tregex/parser/ast/LookAroundIndex;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
public java.util.List<com.oracle.truffle.regex.tregex.parser.ast.PositionAssertion> getReachableCarets();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.reachableCarets:Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
Signature: ()Ljava/util/List<Lcom/oracle/truffle/regex/tregex/parser/ast/PositionAssertion;>;
public java.util.List<com.oracle.truffle.regex.tregex.parser.ast.PositionAssertion> getReachableDollars();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.reachableDollars:Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
Signature: ()Ljava/util/List<Lcom/oracle/truffle/regex/tregex/parser/ast/PositionAssertion;>;
public com.oracle.truffle.regex.tregex.automaton.StateSet<com.oracle.truffle.regex.tregex.parser.ast.RegexAST, com.oracle.truffle.regex.tregex.parser.ast.PositionAssertion> getNfaAnchoredInitialStates();
descriptor: ()Lcom/oracle/truffle/regex/tregex/automaton/StateSet;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.nfaAnchoredInitialStates:Lcom/oracle/truffle/regex/tregex/automaton/StateSet;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
Signature: ()Lcom/oracle/truffle/regex/tregex/automaton/StateSet<Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;Lcom/oracle/truffle/regex/tregex/parser/ast/PositionAssertion;>;
public com.oracle.truffle.regex.tregex.automaton.StateSet<com.oracle.truffle.regex.tregex.parser.ast.RegexAST, com.oracle.truffle.regex.tregex.parser.ast.RegexASTNode> getHardPrefixNodes();
descriptor: ()Lcom/oracle/truffle/regex/tregex/automaton/StateSet;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.hardPrefixNodes:Lcom/oracle/truffle/regex/tregex/automaton/StateSet;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
Signature: ()Lcom/oracle/truffle/regex/tregex/automaton/StateSet<Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;>;
public com.oracle.truffle.regex.tregex.parser.ast.RegexASTRootNode createRootNode();
descriptor: ()Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTRootNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: new com.oracle.truffle.regex.tregex.parser.ast.RegexASTRootNode
dup
invokespecial com.oracle.truffle.regex.tregex.parser.ast.RegexASTRootNode.<init>:()V
astore 1
start local 1 1: aload 0
aload 1
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.createNFAHelperNodes:(Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTSubtreeRootNode;)V
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
1 3 1 node Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTRootNode;
public com.oracle.truffle.regex.tregex.parser.ast.BackReference createBackReference(int);
descriptor: (I)Lcom/oracle/truffle/regex/tregex/parser/ast/BackReference;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new com.oracle.truffle.regex.tregex.parser.ast.BackReference
dup
iload 1
invokespecial com.oracle.truffle.regex.tregex.parser.ast.BackReference.<init>:(I)V
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.register:(Lcom/oracle/truffle/regex/tregex/parser/ast/BackReference;)Lcom/oracle/truffle/regex/tregex/parser/ast/BackReference;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
0 1 1 groupNumber I
MethodParameters:
Name Flags
groupNumber
public com.oracle.truffle.regex.tregex.parser.ast.CharacterClass createCharacterClass(com.oracle.truffle.regex.charset.CodePointSet);
descriptor: (Lcom/oracle/truffle/regex/charset/CodePointSet;)Lcom/oracle/truffle/regex/tregex/parser/ast/CharacterClass;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.regex.tregex.parser.ast.RegexAST.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.getEncoding:()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
invokevirtual com.oracle.truffle.regex.charset.CodePointSet.contains:(Lcom/oracle/truffle/regex/charset/SortedListOfRanges;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
new com.oracle.truffle.regex.tregex.parser.ast.CharacterClass
dup
aload 1
invokespecial com.oracle.truffle.regex.tregex.parser.ast.CharacterClass.<init>:(Lcom/oracle/truffle/regex/charset/CodePointSet;)V
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.register:(Lcom/oracle/truffle/regex/tregex/parser/ast/CharacterClass;)Lcom/oracle/truffle/regex/tregex/parser/ast/CharacterClass;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
0 2 1 matcherBuilder Lcom/oracle/truffle/regex/charset/CodePointSet;
MethodParameters:
Name Flags
matcherBuilder
public com.oracle.truffle.regex.tregex.parser.ast.Group createGroup();
descriptor: ()Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
new com.oracle.truffle.regex.tregex.parser.ast.Group
dup
invokespecial com.oracle.truffle.regex.tregex.parser.ast.Group.<init>:()V
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.register:(Lcom/oracle/truffle/regex/tregex/parser/ast/Group;)Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
public com.oracle.truffle.regex.tregex.parser.ast.Group createCaptureGroup(int);
descriptor: (I)Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new com.oracle.truffle.regex.tregex.parser.ast.Group
dup
iload 1
invokespecial com.oracle.truffle.regex.tregex.parser.ast.Group.<init>:(I)V
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.register:(Lcom/oracle/truffle/regex/tregex/parser/ast/Group;)Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
0 1 1 groupNumber I
MethodParameters:
Name Flags
groupNumber
public com.oracle.truffle.regex.tregex.parser.ast.LookAheadAssertion createLookAheadAssertion(boolean);
descriptor: (Z)Lcom/oracle/truffle/regex/tregex/parser/ast/LookAheadAssertion;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.regex.tregex.parser.ast.LookAheadAssertion
dup
iload 1
invokespecial com.oracle.truffle.regex.tregex.parser.ast.LookAheadAssertion.<init>:(Z)V
astore 2
start local 2 1: aload 0
aload 2
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.createNFAHelperNodes:(Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTSubtreeRootNode;)V
2: aload 0
aload 2
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.register:(Lcom/oracle/truffle/regex/tregex/parser/ast/LookAheadAssertion;)Lcom/oracle/truffle/regex/tregex/parser/ast/LookAheadAssertion;
areturn
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/ast/RegexAST;
0 3 1 negated Z
1 3 2 assertion Lcom/oracle/truffle/regex/tregex/parser/ast/LookAheadAssertion;
MethodParameters:
Name Flags
negated
public com.oracle.truffle.regex.tregex.parser.ast.LookBehindAssertion createLookBehindAssertion(boolean);
descriptor: (Z)Lcom/oracle/truffle/regex/tregex/parser/ast/LookBehindAssertion;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.regex.tregex.parser.ast.LookBehindAssertion
dup
iload 1
invokespecial com.oracle.truffle.regex.tregex.parser.ast.LookBehindAssertion.<init>:(Z)V
astore 2
start local 2 1: aload 0
aload 2
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.createNFAHelperNodes:(Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTSubtreeRootNode;)V
2: aload 0
aload 2
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.register:(Lcom/oracle/truffle/regex/tregex/parser/ast/LookBehindAssertion;)Lcom/oracle/truffle/regex/tregex/parser/ast/LookBehindAssertion;
areturn
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/ast/RegexAST;
0 3 1 negated Z
1 3 2 assertion Lcom/oracle/truffle/regex/tregex/parser/ast/LookBehindAssertion;
MethodParameters:
Name Flags
negated
public void createNFAHelperNodes(com.oracle.truffle.regex.tregex.parser.ast.RegexASTSubtreeRootNode);
descriptor: (Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTSubtreeRootNode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.nodeCount:Lcom/oracle/truffle/regex/tregex/parser/Counter$ThresholdCounter;
iconst_4
invokevirtual com.oracle.truffle.regex.tregex.parser.Counter$ThresholdCounter.inc:(I)I
pop
1: new com.oracle.truffle.regex.tregex.parser.ast.PositionAssertion
dup
getstatic com.oracle.truffle.regex.tregex.parser.ast.PositionAssertion$Type.CARET:Lcom/oracle/truffle/regex/tregex/parser/ast/PositionAssertion$Type;
invokespecial com.oracle.truffle.regex.tregex.parser.ast.PositionAssertion.<init>:(Lcom/oracle/truffle/regex/tregex/parser/ast/PositionAssertion$Type;)V
astore 2
start local 2 2: aload 1
aload 2
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexASTSubtreeRootNode.setAnchoredInitialState:(Lcom/oracle/truffle/regex/tregex/parser/ast/PositionAssertion;)V
3: new com.oracle.truffle.regex.tregex.parser.ast.MatchFound
dup
invokespecial com.oracle.truffle.regex.tregex.parser.ast.MatchFound.<init>:()V
astore 3
start local 3 4: aload 1
aload 3
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexASTSubtreeRootNode.setUnAnchoredInitialState:(Lcom/oracle/truffle/regex/tregex/parser/ast/MatchFound;)V
5: new com.oracle.truffle.regex.tregex.parser.ast.MatchFound
dup
invokespecial com.oracle.truffle.regex.tregex.parser.ast.MatchFound.<init>:()V
astore 4
start local 4 6: aload 1
aload 4
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexASTSubtreeRootNode.setMatchFound:(Lcom/oracle/truffle/regex/tregex/parser/ast/MatchFound;)V
7: new com.oracle.truffle.regex.tregex.parser.ast.PositionAssertion
dup
getstatic com.oracle.truffle.regex.tregex.parser.ast.PositionAssertion$Type.DOLLAR:Lcom/oracle/truffle/regex/tregex/parser/ast/PositionAssertion$Type;
invokespecial com.oracle.truffle.regex.tregex.parser.ast.PositionAssertion.<init>:(Lcom/oracle/truffle/regex/tregex/parser/ast/PositionAssertion$Type;)V
astore 5
start local 5 8: aload 1
aload 5
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexASTSubtreeRootNode.setAnchoredFinalState:(Lcom/oracle/truffle/regex/tregex/parser/ast/PositionAssertion;)V
9: return
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 10 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
0 10 1 rootNode Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTSubtreeRootNode;
2 10 2 anchored Lcom/oracle/truffle/regex/tregex/parser/ast/PositionAssertion;
4 10 3 unAnchored Lcom/oracle/truffle/regex/tregex/parser/ast/MatchFound;
6 10 4 end Lcom/oracle/truffle/regex/tregex/parser/ast/MatchFound;
8 10 5 anchoredEnd Lcom/oracle/truffle/regex/tregex/parser/ast/PositionAssertion;
MethodParameters:
Name Flags
rootNode
public com.oracle.truffle.regex.tregex.parser.ast.PositionAssertion createPositionAssertion(com.oracle.truffle.regex.tregex.parser.ast.PositionAssertion$Type);
descriptor: (Lcom/oracle/truffle/regex/tregex/parser/ast/PositionAssertion$Type;)Lcom/oracle/truffle/regex/tregex/parser/ast/PositionAssertion;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new com.oracle.truffle.regex.tregex.parser.ast.PositionAssertion
dup
aload 1
invokespecial com.oracle.truffle.regex.tregex.parser.ast.PositionAssertion.<init>:(Lcom/oracle/truffle/regex/tregex/parser/ast/PositionAssertion$Type;)V
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.register:(Lcom/oracle/truffle/regex/tregex/parser/ast/PositionAssertion;)Lcom/oracle/truffle/regex/tregex/parser/ast/PositionAssertion;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
0 1 1 type Lcom/oracle/truffle/regex/tregex/parser/ast/PositionAssertion$Type;
MethodParameters:
Name Flags
type
public com.oracle.truffle.regex.tregex.parser.ast.Sequence createSequence();
descriptor: ()Lcom/oracle/truffle/regex/tregex/parser/ast/Sequence;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
new com.oracle.truffle.regex.tregex.parser.ast.Sequence
dup
invokespecial com.oracle.truffle.regex.tregex.parser.ast.Sequence.<init>:()V
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.register:(Lcom/oracle/truffle/regex/tregex/parser/ast/Sequence;)Lcom/oracle/truffle/regex/tregex/parser/ast/Sequence;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
public com.oracle.truffle.regex.tregex.parser.ast.BackReference register(com.oracle.truffle.regex.tregex.parser.ast.BackReference);
descriptor: (Lcom/oracle/truffle/regex/tregex/parser/ast/BackReference;)Lcom/oracle/truffle/regex/tregex/parser/ast/BackReference;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.nodeCount:Lcom/oracle/truffle/regex/tregex/parser/Counter$ThresholdCounter;
invokevirtual com.oracle.truffle.regex.tregex.parser.Counter$ThresholdCounter.inc:()I
pop
1: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.properties:Lcom/oracle/truffle/regex/tregex/parser/RegexProperties;
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexProperties.setBackReferences:()V
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
0 3 1 backReference Lcom/oracle/truffle/regex/tregex/parser/ast/BackReference;
MethodParameters:
Name Flags
backReference
public com.oracle.truffle.regex.tregex.parser.ast.CharacterClass register(com.oracle.truffle.regex.tregex.parser.ast.CharacterClass);
descriptor: (Lcom/oracle/truffle/regex/tregex/parser/ast/CharacterClass;)Lcom/oracle/truffle/regex/tregex/parser/ast/CharacterClass;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.nodeCount:Lcom/oracle/truffle/regex/tregex/parser/Counter$ThresholdCounter;
invokevirtual com.oracle.truffle.regex.tregex.parser.Counter$ThresholdCounter.inc:()I
pop
1: aload 0
aload 1
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.updatePropsCC:(Lcom/oracle/truffle/regex/tregex/parser/ast/CharacterClass;)V
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
0 3 1 characterClass Lcom/oracle/truffle/regex/tregex/parser/ast/CharacterClass;
MethodParameters:
Name Flags
characterClass
public void updatePropsCC(com.oracle.truffle.regex.tregex.parser.ast.CharacterClass);
descriptor: (Lcom/oracle/truffle/regex/tregex/parser/ast/CharacterClass;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.CharacterClass.getCharSet:()Lcom/oracle/truffle/regex/charset/CodePointSet;
invokevirtual com.oracle.truffle.regex.charset.CodePointSet.matchesSingleChar:()Z
ifne 6
1: aload 1
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.CharacterClass.getCharSet:()Lcom/oracle/truffle/regex/charset/CodePointSet;
invokevirtual com.oracle.truffle.regex.charset.CodePointSet.matches2CharsWith1BitDifference:()Z
ifne 3
2: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.properties:Lcom/oracle/truffle/regex/tregex/parser/RegexProperties;
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexProperties.unsetCharClassesCanBeMatchedWithMask:()V
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.getEncoding:()Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;
aload 1
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.CharacterClass.getCharSet:()Lcom/oracle/truffle/regex/charset/CodePointSet;
invokevirtual com.oracle.truffle.regex.tregex.string.Encodings$Encoding.isFixedCodePointWidth:(Lcom/oracle/truffle/regex/charset/CodePointSet;)Z
ifne 5
4: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.properties:Lcom/oracle/truffle/regex/tregex/parser/RegexProperties;
iconst_0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexProperties.setFixedCodePointWidth:(Z)V
5: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.properties:Lcom/oracle/truffle/regex/tregex/parser/RegexProperties;
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexProperties.setCharClasses:()V
6: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.regex.charset.Constants.SURROGATES:Lcom/oracle/truffle/regex/charset/CodePointSet;
aload 1
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.CharacterClass.getCharSet:()Lcom/oracle/truffle/regex/charset/CodePointSet;
invokevirtual com.oracle.truffle.regex.charset.CodePointSet.intersects:(Lcom/oracle/truffle/regex/charset/SortedListOfRanges;)Z
ifeq 8
7: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.properties:Lcom/oracle/truffle/regex/tregex/parser/RegexProperties;
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexProperties.setLoneSurrogates:()V
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
0 9 1 characterClass Lcom/oracle/truffle/regex/tregex/parser/ast/CharacterClass;
MethodParameters:
Name Flags
characterClass
public com.oracle.truffle.regex.tregex.parser.ast.Group register(com.oracle.truffle.regex.tregex.parser.ast.Group);
descriptor: (Lcom/oracle/truffle/regex/tregex/parser/ast/Group;)Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.nodeCount:Lcom/oracle/truffle/regex/tregex/parser/Counter$ThresholdCounter;
invokevirtual com.oracle.truffle.regex.tregex.parser.Counter$ThresholdCounter.inc:()I
pop
1: aload 1
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.Group.isCapturing:()Z
ifeq 3
aload 1
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.Group.getGroupNumber:()I
ifeq 3
2: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.properties:Lcom/oracle/truffle/regex/tregex/parser/RegexProperties;
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexProperties.setCaptureGroups:()V
3: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
0 4 1 group Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
MethodParameters:
Name Flags
group
public com.oracle.truffle.regex.tregex.parser.ast.LookAheadAssertion register(com.oracle.truffle.regex.tregex.parser.ast.LookAheadAssertion);
descriptor: (Lcom/oracle/truffle/regex/tregex/parser/ast/LookAheadAssertion;)Lcom/oracle/truffle/regex/tregex/parser/ast/LookAheadAssertion;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.nodeCount:Lcom/oracle/truffle/regex/tregex/parser/Counter$ThresholdCounter;
invokevirtual com.oracle.truffle.regex.tregex.parser.Counter$ThresholdCounter.inc:()I
pop
1: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.properties:Lcom/oracle/truffle/regex/tregex/parser/RegexProperties;
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexProperties.setLookAheadAssertions:()V
2: aload 1
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.LookAheadAssertion.isNegated:()Z
ifeq 5
3: aload 0
dup
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.negativeLookaheads:I
iconst_1
iadd
putfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.negativeLookaheads:I
4: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.properties:Lcom/oracle/truffle/regex/tregex/parser/RegexProperties;
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexProperties.setNegativeLookAheadAssertions:()V
5: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
0 6 1 lookAheadAssertion Lcom/oracle/truffle/regex/tregex/parser/ast/LookAheadAssertion;
MethodParameters:
Name Flags
lookAheadAssertion
public com.oracle.truffle.regex.tregex.parser.ast.LookBehindAssertion register(com.oracle.truffle.regex.tregex.parser.ast.LookBehindAssertion);
descriptor: (Lcom/oracle/truffle/regex/tregex/parser/ast/LookBehindAssertion;)Lcom/oracle/truffle/regex/tregex/parser/ast/LookBehindAssertion;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.nodeCount:Lcom/oracle/truffle/regex/tregex/parser/Counter$ThresholdCounter;
invokevirtual com.oracle.truffle.regex.tregex.parser.Counter$ThresholdCounter.inc:()I
pop
1: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.properties:Lcom/oracle/truffle/regex/tregex/parser/RegexProperties;
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexProperties.setLookBehindAssertions:()V
2: aload 1
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.LookBehindAssertion.isNegated:()Z
ifeq 5
3: aload 0
dup
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.negativeLookbehinds:I
iconst_1
iadd
putfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.negativeLookbehinds:I
4: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.properties:Lcom/oracle/truffle/regex/tregex/parser/RegexProperties;
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexProperties.setNegativeLookBehindAssertions:()V
5: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
0 6 1 lookBehindAssertion Lcom/oracle/truffle/regex/tregex/parser/ast/LookBehindAssertion;
MethodParameters:
Name Flags
lookBehindAssertion
public void invertNegativeLookAround(com.oracle.truffle.regex.tregex.parser.ast.LookAroundAssertion);
descriptor: (Lcom/oracle/truffle/regex/tregex/parser/ast/LookAroundAssertion;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.regex.tregex.parser.ast.RegexAST.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.LookAroundAssertion.isNegated:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
iconst_0
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.LookAroundAssertion.setNegated:(Z)V
2: aload 1
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.LookAroundAssertion.isLookAheadAssertion:()Z
ifeq 7
3: getstatic com.oracle.truffle.regex.tregex.parser.ast.RegexAST.$assertionsDisabled:Z
ifne 4
aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.negativeLookaheads:I
ifgt 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.negativeLookaheads:I
iconst_1
isub
dup_x1
putfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.negativeLookaheads:I
ifne 10
5: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.properties:Lcom/oracle/truffle/regex/tregex/parser/RegexProperties;
iconst_0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexProperties.setNegativeLookAheadAssertions:(Z)V
6: goto 10
7: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.regex.tregex.parser.ast.RegexAST.$assertionsDisabled:Z
ifne 8
aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.negativeLookbehinds:I
ifgt 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.negativeLookbehinds:I
iconst_1
isub
dup_x1
putfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.negativeLookbehinds:I
ifne 10
9: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.properties:Lcom/oracle/truffle/regex/tregex/parser/RegexProperties;
iconst_0
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexProperties.setNegativeLookBehindAssertions:(Z)V
10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
0 11 1 assertion Lcom/oracle/truffle/regex/tregex/parser/ast/LookAroundAssertion;
MethodParameters:
Name Flags
assertion
public com.oracle.truffle.regex.tregex.parser.ast.PositionAssertion register(com.oracle.truffle.regex.tregex.parser.ast.PositionAssertion);
descriptor: (Lcom/oracle/truffle/regex/tregex/parser/ast/PositionAssertion;)Lcom/oracle/truffle/regex/tregex/parser/ast/PositionAssertion;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.nodeCount:Lcom/oracle/truffle/regex/tregex/parser/Counter$ThresholdCounter;
invokevirtual com.oracle.truffle.regex.tregex.parser.Counter$ThresholdCounter.inc:()I
pop
1: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
0 2 1 positionAssertion Lcom/oracle/truffle/regex/tregex/parser/ast/PositionAssertion;
MethodParameters:
Name Flags
positionAssertion
public com.oracle.truffle.regex.tregex.parser.ast.Sequence register(com.oracle.truffle.regex.tregex.parser.ast.Sequence);
descriptor: (Lcom/oracle/truffle/regex/tregex/parser/ast/Sequence;)Lcom/oracle/truffle/regex/tregex/parser/ast/Sequence;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.nodeCount:Lcom/oracle/truffle/regex/tregex/parser/Counter$ThresholdCounter;
invokevirtual com.oracle.truffle.regex.tregex.parser.Counter$ThresholdCounter.inc:()I
pop
1: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
0 2 1 sequence Lcom/oracle/truffle/regex/tregex/parser/ast/Sequence;
MethodParameters:
Name Flags
sequence
public boolean isNFAInitialState(com.oracle.truffle.regex.tregex.parser.ast.RegexASTNode);
descriptor: (Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexASTNode.getId:()I
iconst_1
if_icmplt 1
aload 1
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexASTNode.getId:()I
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.getWrappedPrefixLength:()I
iconst_2
imul
iconst_2
iadd
if_icmpgt 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
0 2 1 node Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;
MethodParameters:
Name Flags
node
private void createNFAInitialStates();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.nfaAnchoredInitialStates:Lcom/oracle/truffle/regex/tregex/automaton/StateSet;
ifnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
aload 0
invokestatic com.oracle.truffle.regex.tregex.automaton.StateSet.create:(Lcom/oracle/truffle/regex/tregex/automaton/StateIndex;)Lcom/oracle/truffle/regex/tregex/automaton/StateSet;
putfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.hardPrefixNodes:Lcom/oracle/truffle/regex/tregex/automaton/StateSet;
3: aload 0
aload 0
invokestatic com.oracle.truffle.regex.tregex.automaton.StateSet.create:(Lcom/oracle/truffle/regex/tregex/automaton/StateIndex;)Lcom/oracle/truffle/regex/tregex/automaton/StateSet;
putfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.nfaAnchoredInitialStates:Lcom/oracle/truffle/regex/tregex/automaton/StateSet;
4: iconst_1
istore 1
start local 1 5: new com.oracle.truffle.regex.tregex.parser.ast.MatchFound
dup
invokespecial com.oracle.truffle.regex.tregex.parser.ast.MatchFound.<init>:()V
astore 2
start local 2 6: aload 0
aload 2
iload 1
iinc 1 1
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.initNodeId:(Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;I)V
7: aload 2
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.getEntryAfterPrefix:()Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.MatchFound.setNext:(Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;)V
8: new com.oracle.truffle.regex.tregex.parser.ast.PositionAssertion
dup
getstatic com.oracle.truffle.regex.tregex.parser.ast.PositionAssertion$Type.CARET:Lcom/oracle/truffle/regex/tregex/parser/ast/PositionAssertion$Type;
invokespecial com.oracle.truffle.regex.tregex.parser.ast.PositionAssertion.<init>:(Lcom/oracle/truffle/regex/tregex/parser/ast/PositionAssertion$Type;)V
astore 3
start local 3 9: aload 0
aload 3
iload 1
iinc 1 1
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.initNodeId:(Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;I)V
10: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.nfaAnchoredInitialStates:Lcom/oracle/truffle/regex/tregex/automaton/StateSet;
aload 3
invokeinterface com.oracle.truffle.regex.tregex.automaton.StateSet.add:(Ljava/lang/Object;)Z
pop
11: aload 3
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.getEntryAfterPrefix:()Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.PositionAssertion.setNext:(Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;)V
12: aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.getWrappedPrefixLength:()I
iconst_1
isub
istore 4
start local 4 13: goto 24
14: StackMap locals: com.oracle.truffle.regex.tregex.parser.ast.RegexAST int com.oracle.truffle.regex.tregex.parser.ast.MatchFound com.oracle.truffle.regex.tregex.parser.ast.PositionAssertion int
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.getWrappedRoot:()Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.Group.getFirstAlternative:()Lcom/oracle/truffle/regex/tregex/parser/ast/Sequence;
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.Sequence.getTerms:()Ljava/util/ArrayList;
iload 4
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.regex.tregex.parser.ast.RegexASTNode
astore 5
start local 5 15: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.hardPrefixNodes:Lcom/oracle/truffle/regex/tregex/automaton/StateSet;
aload 5
invokeinterface com.oracle.truffle.regex.tregex.automaton.StateSet.add:(Ljava/lang/Object;)Z
pop
16: new com.oracle.truffle.regex.tregex.parser.ast.MatchFound
dup
invokespecial com.oracle.truffle.regex.tregex.parser.ast.MatchFound.<init>:()V
astore 2
17: aload 0
aload 2
iload 1
iinc 1 1
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.initNodeId:(Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;I)V
18: aload 2
aload 5
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.MatchFound.setNext:(Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;)V
19: new com.oracle.truffle.regex.tregex.parser.ast.PositionAssertion
dup
getstatic com.oracle.truffle.regex.tregex.parser.ast.PositionAssertion$Type.CARET:Lcom/oracle/truffle/regex/tregex/parser/ast/PositionAssertion$Type;
invokespecial com.oracle.truffle.regex.tregex.parser.ast.PositionAssertion.<init>:(Lcom/oracle/truffle/regex/tregex/parser/ast/PositionAssertion$Type;)V
astore 3
20: aload 0
aload 3
iload 1
iinc 1 1
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.initNodeId:(Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;I)V
21: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.nfaAnchoredInitialStates:Lcom/oracle/truffle/regex/tregex/automaton/StateSet;
aload 3
invokeinterface com.oracle.truffle.regex.tregex.automaton.StateSet.add:(Ljava/lang/Object;)Z
pop
22: aload 3
aload 5
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.PositionAssertion.setNext:(Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;)V
end local 5 23: iinc 4 -1
StackMap locals:
StackMap stack:
24: iload 4
ifge 14
end local 4 25: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
5 26 1 nextID I
6 26 2 mf Lcom/oracle/truffle/regex/tregex/parser/ast/MatchFound;
9 26 3 pos Lcom/oracle/truffle/regex/tregex/parser/ast/PositionAssertion;
13 25 4 i I
15 23 5 prefixNode Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;
public com.oracle.truffle.regex.tregex.parser.ast.MatchFound getNFAUnAnchoredInitialState(int);
descriptor: (I)Lcom/oracle/truffle/regex/tregex/parser/ast/MatchFound;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.createNFAInitialStates:()V
1: getstatic com.oracle.truffle.regex.tregex.parser.ast.RegexAST.$assertionsDisabled:Z
ifne 2
aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.nodes:[Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;
iload 1
iconst_2
imul
iconst_1
iadd
aaload
ifnonnull 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.nodes:[Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;
iload 1
iconst_2
imul
iconst_1
iadd
aaload
checkcast com.oracle.truffle.regex.tregex.parser.ast.MatchFound
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
0 3 1 prefixOffset I
MethodParameters:
Name Flags
prefixOffset
public com.oracle.truffle.regex.tregex.parser.ast.PositionAssertion getNFAAnchoredInitialState(int);
descriptor: (I)Lcom/oracle/truffle/regex/tregex/parser/ast/PositionAssertion;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.createNFAInitialStates:()V
1: getstatic com.oracle.truffle.regex.tregex.parser.ast.RegexAST.$assertionsDisabled:Z
ifne 2
aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.nodes:[Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;
iload 1
iconst_2
imul
iconst_2
iadd
aaload
ifnonnull 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.nodes:[Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;
iload 1
iconst_2
imul
iconst_2
iadd
aaload
checkcast com.oracle.truffle.regex.tregex.parser.ast.PositionAssertion
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
0 3 1 prefixOffset I
MethodParameters:
Name Flags
prefixOffset
public void createPrefix();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.root:Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.Group.startsWithCaret:()Z
ifne 1
aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.properties:Lcom/oracle/truffle/regex/tregex/parser/RegexProperties;
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexProperties.hasNonLiteralLookBehindAssertions:()Z
ifeq 3
1: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.root:Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
putfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.wrappedRoot:Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
2: return
3: StackMap locals:
StackMap stack:
iconst_0
istore 1
start local 1 4: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.lookArounds:Lcom/oracle/truffle/regex/tregex/parser/ast/LookAroundIndex;
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.LookAroundIndex.iterator:()Ljava/util/Iterator;
astore 3
goto 17
StackMap locals: com.oracle.truffle.regex.tregex.parser.ast.RegexAST int top java.util.Iterator
StackMap stack:
5: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.regex.tregex.parser.ast.LookAroundAssertion
astore 2
start local 2 6: aload 2
instanceof com.oracle.truffle.regex.tregex.parser.ast.LookAheadAssertion
ifeq 8
7: goto 17
8: StackMap locals: com.oracle.truffle.regex.tregex.parser.ast.RegexAST int com.oracle.truffle.regex.tregex.parser.ast.LookAroundAssertion java.util.Iterator
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.LookAroundAssertion.getMinPath:()I
istore 4
start local 4 9: aload 2
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.LookAroundAssertion.getSubTreeParent:()Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTSubtreeRootNode;
astore 5
start local 5 10: goto 15
11: StackMap locals: int com.oracle.truffle.regex.tregex.parser.ast.RegexASTSubtreeRootNode
StackMap stack:
aload 5
instanceof com.oracle.truffle.regex.tregex.parser.ast.LookBehindAssertion
ifeq 13
12: new com.oracle.truffle.regex.UnsupportedRegexException
dup
ldc "nested look-behind assertions"
invokespecial com.oracle.truffle.regex.UnsupportedRegexException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
iload 4
aload 5
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexASTSubtreeRootNode.getMinPath:()I
iadd
istore 4
14: aload 5
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexASTSubtreeRootNode.getSubTreeParent:()Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTSubtreeRootNode;
astore 5
15: StackMap locals:
StackMap stack:
aload 5
instanceof com.oracle.truffle.regex.tregex.parser.ast.RegexASTRootNode
ifeq 11
16: iload 1
aload 2
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.LookAroundAssertion.getLiteralLength:()I
iload 4
isub
invokestatic java.lang.Math.max:(II)I
istore 1
end local 5 end local 4 end local 2 17: StackMap locals: com.oracle.truffle.regex.tregex.parser.ast.RegexAST int top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
18: iload 1
ifne 21
19: aload 0
aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.root:Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
putfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.wrappedRoot:Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
20: return
21: StackMap locals: com.oracle.truffle.regex.tregex.parser.ast.RegexAST int
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.createGroup:()Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
astore 2
start local 2 22: aload 2
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.Group.setPrefix:()V
23: aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.createSequence:()Lcom/oracle/truffle/regex/tregex/parser/ast/Sequence;
astore 3
start local 3 24: aload 2
aload 3
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.Group.add:(Lcom/oracle/truffle/regex/tregex/parser/ast/Sequence;)V
25: aload 3
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.Sequence.setPrefix:()V
26: iconst_0
istore 4
start local 4 27: goto 30
28: StackMap locals: com.oracle.truffle.regex.tregex.parser.ast.Group com.oracle.truffle.regex.tregex.parser.ast.Sequence int
StackMap stack:
aload 3
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.createPrefixAnyMatcher:()Lcom/oracle/truffle/regex/tregex/parser/ast/CharacterClass;
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.Sequence.add:(Lcom/oracle/truffle/regex/tregex/parser/ast/Term;)V
29: iinc 4 1
StackMap locals:
StackMap stack:
30: iload 4
iload 1
if_icmplt 28
end local 4 31: aconst_null
astore 4
start local 4 32: iconst_0
istore 5
start local 5 33: goto 45
34: StackMap locals: com.oracle.truffle.regex.tregex.parser.ast.RegexAST int com.oracle.truffle.regex.tregex.parser.ast.Group com.oracle.truffle.regex.tregex.parser.ast.Sequence com.oracle.truffle.regex.tregex.parser.ast.Group int
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.createGroup:()Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
astore 6
start local 6 35: aload 6
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.Group.setPrefix:()V
36: aload 6
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.createSequence:()Lcom/oracle/truffle/regex/tregex/parser/ast/Sequence;
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.Group.add:(Lcom/oracle/truffle/regex/tregex/parser/ast/Sequence;)V
37: aload 6
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.createSequence:()Lcom/oracle/truffle/regex/tregex/parser/ast/Sequence;
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.Group.add:(Lcom/oracle/truffle/regex/tregex/parser/ast/Sequence;)V
38: aload 6
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.Group.getFirstAlternative:()Lcom/oracle/truffle/regex/tregex/parser/ast/Sequence;
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.Sequence.setPrefix:()V
39: aload 6
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.Group.getAlternatives:()Ljava/util/ArrayList;
iconst_1
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.regex.tregex.parser.ast.Sequence
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.Sequence.setPrefix:()V
40: aload 6
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.Group.getAlternatives:()Ljava/util/ArrayList;
iconst_1
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.regex.tregex.parser.ast.Sequence
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.createPrefixAnyMatcher:()Lcom/oracle/truffle/regex/tregex/parser/ast/CharacterClass;
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.Sequence.add:(Lcom/oracle/truffle/regex/tregex/parser/ast/Term;)V
41: aload 4
ifnull 43
42: aload 6
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.Group.getAlternatives:()Ljava/util/ArrayList;
iconst_1
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.regex.tregex.parser.ast.Sequence
aload 4
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.Sequence.add:(Lcom/oracle/truffle/regex/tregex/parser/ast/Term;)V
43: StackMap locals: com.oracle.truffle.regex.tregex.parser.ast.Group
StackMap stack:
aload 6
astore 4
end local 6 44: iinc 5 1
StackMap locals:
StackMap stack:
45: iload 5
iload 1
if_icmplt 34
end local 5 46: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.root:Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.Group.getSubTreeParent:()Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTSubtreeRootNode;
aload 2
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexASTSubtreeRootNode.setGroup:(Lcom/oracle/truffle/regex/tregex/parser/ast/Group;)V
47: aload 3
aload 4
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.Sequence.add:(Lcom/oracle/truffle/regex/tregex/parser/ast/Term;)V
48: aload 3
aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.root:Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.Sequence.add:(Lcom/oracle/truffle/regex/tregex/parser/ast/Term;)V
49: aload 0
aload 2
putfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.wrappedRoot:Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
50: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 51 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
4 51 1 prefixLength I
6 17 2 lb Lcom/oracle/truffle/regex/tregex/parser/ast/LookAroundAssertion;
9 17 4 minPath I
10 17 5 laParent Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTSubtreeRootNode;
22 51 2 wrapRoot Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
24 51 3 wrapRootSeq Lcom/oracle/truffle/regex/tregex/parser/ast/Sequence;
27 31 4 i I
32 51 4 prevOpt Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
33 46 5 i I
35 44 6 opt Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
public void hidePrefix();
descriptor: ()V
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.ast.RegexAST.wrappedRoot:Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.root:Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
if_acmpeq 2
1: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.root:Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.Group.getSubTreeParent:()Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTSubtreeRootNode;
aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.root:Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexASTSubtreeRootNode.setGroup:(Lcom/oracle/truffle/regex/tregex/parser/ast/Group;)V
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/ast/RegexAST;
public void unhidePrefix();
descriptor: ()V
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.ast.RegexAST.wrappedRoot:Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.root:Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
if_acmpeq 2
1: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.root:Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.Group.getSubTreeParent:()Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTSubtreeRootNode;
aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.wrappedRoot:Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexASTSubtreeRootNode.setGroup:(Lcom/oracle/truffle/regex/tregex/parser/ast/Group;)V
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/ast/RegexAST;
public com.oracle.truffle.regex.tregex.parser.ast.GroupBoundaries createGroupBoundaries(com.oracle.truffle.regex.util.CompilationFinalBitSet, com.oracle.truffle.regex.util.CompilationFinalBitSet);
descriptor: (Lcom/oracle/truffle/regex/util/CompilationFinalBitSet;Lcom/oracle/truffle/regex/util/CompilationFinalBitSet;)Lcom/oracle/truffle/regex/tregex/parser/ast/GroupBoundaries;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.language:Lcom/oracle/truffle/regex/RegexLanguage;
aload 1
aload 2
invokestatic com.oracle.truffle.regex.tregex.parser.ast.GroupBoundaries.getStaticInstance:(Lcom/oracle/truffle/regex/RegexLanguage;Lcom/oracle/truffle/regex/util/CompilationFinalBitSet;Lcom/oracle/truffle/regex/util/CompilationFinalBitSet;)Lcom/oracle/truffle/regex/tregex/parser/ast/GroupBoundaries;
astore 3
start local 3 1: aload 3
ifnull 3
2: aload 3
areturn
3: StackMap locals: com.oracle.truffle.regex.tregex.parser.ast.GroupBoundaries
StackMap stack:
new com.oracle.truffle.regex.tregex.parser.ast.GroupBoundaries
dup
aload 1
aload 2
invokespecial com.oracle.truffle.regex.tregex.parser.ast.GroupBoundaries.<init>:(Lcom/oracle/truffle/regex/util/CompilationFinalBitSet;Lcom/oracle/truffle/regex/util/CompilationFinalBitSet;)V
astore 4
start local 4 4: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.groupBoundariesDeduplicationMap:Lorg/graalvm/collections/EconomicMap;
aload 4
invokeinterface org.graalvm.collections.EconomicMap.containsKey:(Ljava/lang/Object;)Z
ifeq 6
5: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.groupBoundariesDeduplicationMap:Lorg/graalvm/collections/EconomicMap;
aload 4
invokeinterface org.graalvm.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.regex.tregex.parser.ast.GroupBoundaries
areturn
6: StackMap locals: com.oracle.truffle.regex.tregex.parser.ast.GroupBoundaries
StackMap stack:
new com.oracle.truffle.regex.tregex.parser.ast.GroupBoundaries
dup
aload 1
invokevirtual com.oracle.truffle.regex.util.CompilationFinalBitSet.copy:()Lcom/oracle/truffle/regex/util/CompilationFinalBitSet;
aload 2
invokevirtual com.oracle.truffle.regex.util.CompilationFinalBitSet.copy:()Lcom/oracle/truffle/regex/util/CompilationFinalBitSet;
invokespecial com.oracle.truffle.regex.tregex.parser.ast.GroupBoundaries.<init>:(Lcom/oracle/truffle/regex/util/CompilationFinalBitSet;Lcom/oracle/truffle/regex/util/CompilationFinalBitSet;)V
astore 5
start local 5 7: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.groupBoundariesDeduplicationMap:Lorg/graalvm/collections/EconomicMap;
aload 5
aload 5
invokeinterface org.graalvm.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: aload 5
areturn
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 9 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
0 9 1 updateIndices Lcom/oracle/truffle/regex/util/CompilationFinalBitSet;
0 9 2 clearIndices Lcom/oracle/truffle/regex/util/CompilationFinalBitSet;
1 9 3 staticInstance Lcom/oracle/truffle/regex/tregex/parser/ast/GroupBoundaries;
4 9 4 lookup Lcom/oracle/truffle/regex/tregex/parser/ast/GroupBoundaries;
7 9 5 gb Lcom/oracle/truffle/regex/tregex/parser/ast/GroupBoundaries;
MethodParameters:
Name Flags
updateIndices
clearIndices
private com.oracle.truffle.regex.tregex.parser.ast.CharacterClass createPrefixAnyMatcher();
descriptor: ()Lcom/oracle/truffle/regex/tregex/parser/ast/CharacterClass;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.getEncoding:()Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;
invokevirtual com.oracle.truffle.regex.tregex.string.Encodings$Encoding.getFullSet:()Lcom/oracle/truffle/regex/charset/CodePointSet;
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.createCharacterClass:(Lcom/oracle/truffle/regex/charset/CodePointSet;)Lcom/oracle/truffle/regex/tregex/parser/ast/CharacterClass;
astore 1
start local 1 1: aload 1
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.CharacterClass.setPrefix:()V
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
1 3 1 anyMatcher Lcom/oracle/truffle/regex/tregex/parser/ast/CharacterClass;
private void addToIndex(com.oracle.truffle.regex.tregex.parser.ast.RegexASTNode);
descriptor: (Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.regex.tregex.parser.ast.RegexAST.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexASTNode.getId:()I
ifge 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.regex.tregex.parser.ast.RegexAST.$assertionsDisabled:Z
ifne 2
aload 1
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexASTNode.getId:()I
aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.nodes:[Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;
arraylength
if_icmplt 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.ast.RegexAST.$assertionsDisabled:Z
ifne 3
aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.nodes:[Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;
aload 1
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexASTNode.getId:()I
aaload
ifnull 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.nodes:[Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;
aload 1
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexASTNode.getId:()I
aload 1
aastore
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
0 5 1 node Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;
MethodParameters:
Name Flags
node
private void initNodeId(com.oracle.truffle.regex.tregex.parser.ast.RegexASTNode, int);
descriptor: (Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iload 2
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexASTNode.setId:(I)V
1: aload 0
aload 1
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.addToIndex:(Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;)V
2: return
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/ast/RegexAST;
0 3 1 node Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;
0 3 2 id I
MethodParameters:
Name Flags
node
id
public java.util.List<com.oracle.truffle.api.source.SourceSection> getSourceSections(com.oracle.truffle.regex.tregex.parser.ast.RegexASTNode);
descriptor: (Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.options:Lcom/oracle/truffle/regex/RegexOptions;
invokevirtual com.oracle.truffle.regex.RegexOptions.isDumpAutomata:()Z
ifeq 1
aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.sourceSections:Lorg/graalvm/collections/EconomicMap;
aload 1
invokeinterface org.graalvm.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: java.util.List
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
0 3 1 node Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;
Signature: (Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;)Ljava/util/List<Lcom/oracle/truffle/api/source/SourceSection;>;
MethodParameters:
Name Flags
node
public void addSourceSection(com.oracle.truffle.regex.tregex.parser.ast.RegexASTNode, com.oracle.truffle.regex.tregex.parser.Token);
descriptor: (Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;Lcom/oracle/truffle/regex/tregex/parser/Token;)V
flags: (0x0001) ACC_PUBLIC
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.ast.RegexAST.options:Lcom/oracle/truffle/regex/RegexOptions;
invokevirtual com.oracle.truffle.regex.RegexOptions.isDumpAutomata:()Z
ifeq 2
aload 2
ifnull 2
aload 2
invokevirtual com.oracle.truffle.regex.tregex.parser.Token.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
ifnull 2
1: aload 0
aload 1
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.getOrCreateSourceSections:(Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;)Ljava/util/List;
aload 2
invokevirtual com.oracle.truffle.regex.tregex.parser.Token.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
2: StackMap locals:
StackMap stack:
return
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/ast/RegexAST;
0 3 1 node Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;
0 3 2 token Lcom/oracle/truffle/regex/tregex/parser/Token;
MethodParameters:
Name Flags
node
token
public void addSourceSections(com.oracle.truffle.regex.tregex.parser.ast.RegexASTNode, java.util.Collection<com.oracle.truffle.api.source.SourceSection>);
descriptor: (Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;Ljava/util/Collection;)V
flags: (0x0001) ACC_PUBLIC
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.ast.RegexAST.options:Lcom/oracle/truffle/regex/RegexOptions;
invokevirtual com.oracle.truffle.regex.RegexOptions.isDumpAutomata:()Z
ifeq 2
aload 2
ifnull 2
1: aload 0
aload 1
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.getOrCreateSourceSections:(Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;)Ljava/util/List;
aload 2
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
2: StackMap locals:
StackMap stack:
return
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/ast/RegexAST;
0 3 1 node Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;
0 3 2 src Ljava/util/Collection<Lcom/oracle/truffle/api/source/SourceSection;>;
Signature: (Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;Ljava/util/Collection<Lcom/oracle/truffle/api/source/SourceSection;>;)V
MethodParameters:
Name Flags
node
src
private java.util.List<com.oracle.truffle.api.source.SourceSection> getOrCreateSourceSections(com.oracle.truffle.regex.tregex.parser.ast.RegexASTNode);
descriptor: (Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.sourceSections:Lorg/graalvm/collections/EconomicMap;
aload 1
invokeinterface org.graalvm.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 2
start local 2 1: aload 2
ifnonnull 4
2: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
3: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.sourceSections:Lorg/graalvm/collections/EconomicMap;
aload 1
aload 2
invokeinterface org.graalvm.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: StackMap locals: java.util.List
StackMap stack:
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/ast/RegexAST;
0 5 1 node Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;
1 5 2 sections Ljava/util/List<Lcom/oracle/truffle/api/source/SourceSection;>;
Signature: (Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;)Ljava/util/List<Lcom/oracle/truffle/api/source/SourceSection;>;
MethodParameters:
Name Flags
node
public com.oracle.truffle.regex.tregex.parser.ast.InnerLiteral ();
descriptor: ()Lcom/oracle/truffle/regex/tregex/parser/ast/InnerLiteral;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=1
start local 0 0: getstatic com.oracle.truffle.regex.tregex.parser.ast.RegexAST.$assertionsDisabled:Z
ifne 1
aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.properties:Lcom/oracle/truffle/regex/tregex/parser/RegexProperties;
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexProperties.hasInnerLiteral:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.properties:Lcom/oracle/truffle/regex/tregex/parser/RegexProperties;
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexProperties.getInnerLiteralEnd:()I
istore 1
start local 1 2: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.properties:Lcom/oracle/truffle/regex/tregex/parser/RegexProperties;
invokevirtual com.oracle.truffle.regex.tregex.parser.RegexProperties.getInnerLiteralStart:()I
istore 2
start local 2 3: aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.getEncoding:()Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;
iload 1
iload 2
isub
invokevirtual com.oracle.truffle.regex.tregex.string.Encodings$Encoding.createStringBuffer:(I)Lcom/oracle/truffle/regex/tregex/string/AbstractStringBuffer;
astore 3
start local 3 4: aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.getEncoding:()Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;
iload 1
iload 2
isub
invokevirtual com.oracle.truffle.regex.tregex.string.Encodings$Encoding.createStringBuffer:(I)Lcom/oracle/truffle/regex/tregex/string/AbstractStringBuffer;
astore 4
start local 4 5: iconst_0
istore 5
start local 5 6: iload 2
istore 6
start local 6 7: goto 14
8: StackMap locals: com.oracle.truffle.regex.tregex.parser.ast.RegexAST int int com.oracle.truffle.regex.tregex.string.AbstractStringBuffer com.oracle.truffle.regex.tregex.string.AbstractStringBuffer int int
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.root:Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.Group.getFirstAlternative:()Lcom/oracle/truffle/regex/tregex/parser/ast/Sequence;
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.Sequence.getTerms:()Ljava/util/ArrayList;
iload 6
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.regex.tregex.parser.ast.Term
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.Term.asCharacterClass:()Lcom/oracle/truffle/regex/tregex/parser/ast/CharacterClass;
astore 7
start local 7 9: getstatic com.oracle.truffle.regex.tregex.parser.ast.RegexAST.$assertionsDisabled:Z
ifne 10
aload 7
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.CharacterClass.getCharSet:()Lcom/oracle/truffle/regex/charset/CodePointSet;
invokevirtual com.oracle.truffle.regex.charset.CodePointSet.matchesSingleChar:()Z
ifne 10
aload 7
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.CharacterClass.getCharSet:()Lcom/oracle/truffle/regex/charset/CodePointSet;
invokevirtual com.oracle.truffle.regex.charset.CodePointSet.matches2CharsWith1BitDifference:()Z
ifne 10
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals: com.oracle.truffle.regex.tregex.parser.ast.CharacterClass
StackMap stack:
getstatic com.oracle.truffle.regex.tregex.parser.ast.RegexAST.$assertionsDisabled:Z
ifne 11
aload 0
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.getEncoding:()Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;
aload 7
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.CharacterClass.getCharSet:()Lcom/oracle/truffle/regex/charset/CodePointSet;
invokevirtual com.oracle.truffle.regex.tregex.string.Encodings$Encoding.isFixedCodePointWidth:(Lcom/oracle/truffle/regex/charset/CodePointSet;)Z
ifne 11
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
11: StackMap locals:
StackMap stack:
aload 7
aload 3
aload 4
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.CharacterClass.extractSingleChar:(Lcom/oracle/truffle/regex/tregex/string/AbstractStringBuffer;Lcom/oracle/truffle/regex/tregex/string/AbstractStringBuffer;)V
12: iload 5
aload 7
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.CharacterClass.getCharSet:()Lcom/oracle/truffle/regex/charset/CodePointSet;
invokevirtual com.oracle.truffle.regex.charset.CodePointSet.matches2CharsWith1BitDifference:()Z
ior
istore 5
end local 7 13: iinc 6 1
StackMap locals:
StackMap stack:
14: iload 6
iload 1
if_icmplt 8
end local 6 15: new com.oracle.truffle.regex.tregex.parser.ast.InnerLiteral
dup
aload 3
invokeinterface com.oracle.truffle.regex.tregex.string.AbstractStringBuffer.materialize:()Lcom/oracle/truffle/regex/tregex/string/AbstractString;
iload 5
ifeq 16
aload 4
invokeinterface com.oracle.truffle.regex.tregex.string.AbstractStringBuffer.materialize:()Lcom/oracle/truffle/regex/tregex/string/AbstractString;
goto 17
StackMap locals: com.oracle.truffle.regex.tregex.parser.ast.RegexAST int int com.oracle.truffle.regex.tregex.string.AbstractStringBuffer com.oracle.truffle.regex.tregex.string.AbstractStringBuffer int
StackMap stack: new 15 new 15 com.oracle.truffle.regex.tregex.string.AbstractString
16: aconst_null
StackMap locals: com.oracle.truffle.regex.tregex.parser.ast.RegexAST int int com.oracle.truffle.regex.tregex.string.AbstractStringBuffer com.oracle.truffle.regex.tregex.string.AbstractStringBuffer int
StackMap stack: new 15 new 15 com.oracle.truffle.regex.tregex.string.AbstractString com.oracle.truffle.regex.tregex.string.AbstractString
17: aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.root:Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.Group.getFirstAlternative:()Lcom/oracle/truffle/regex/tregex/parser/ast/Sequence;
iload 2
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.Sequence.get:(I)Lcom/oracle/truffle/regex/tregex/parser/ast/Term;
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.Term.getMaxPath:()I
iconst_1
isub
invokespecial com.oracle.truffle.regex.tregex.parser.ast.InnerLiteral.<init>:(Lcom/oracle/truffle/regex/tregex/string/AbstractString;Lcom/oracle/truffle/regex/tregex/string/AbstractString;I)V
areturn
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 18 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
2 18 1 literalEnd I
3 18 2 literalStart I
4 18 3 literal Lcom/oracle/truffle/regex/tregex/string/AbstractStringBuffer;
5 18 4 mask Lcom/oracle/truffle/regex/tregex/string/AbstractStringBuffer;
6 18 5 hasMask Z
7 15 6 i I
9 13 7 cc Lcom/oracle/truffle/regex/tregex/parser/ast/CharacterClass;
public com.oracle.truffle.regex.tregex.util.json.JsonValue toJson();
descriptor: ()Lcom/oracle/truffle/regex/tregex/util/json/JsonValue;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: bipush 9
anewarray com.oracle.truffle.regex.tregex.util.json.JsonObject$JsonObjectProperty
dup
iconst_0
ldc "source"
aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.source:Lcom/oracle/truffle/regex/RegexSource;
invokestatic com.oracle.truffle.regex.tregex.util.json.Json.prop:(Ljava/lang/String;Lcom/oracle/truffle/regex/tregex/util/json/JsonConvertible;)Lcom/oracle/truffle/regex/tregex/util/json/JsonObject$JsonObjectProperty;
aastore
dup
iconst_1
1: ldc "root"
aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.root:Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
invokestatic com.oracle.truffle.regex.tregex.util.json.Json.prop:(Ljava/lang/String;Lcom/oracle/truffle/regex/tregex/util/json/JsonConvertible;)Lcom/oracle/truffle/regex/tregex/util/json/JsonObject$JsonObjectProperty;
aastore
dup
iconst_2
2: ldc "debugAST"
aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.wrappedRoot:Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
invokestatic com.oracle.truffle.regex.tregex.parser.ast.visitors.ASTDebugDumpVisitor.getDump:(Lcom/oracle/truffle/regex/tregex/parser/ast/Group;)Ljava/lang/String;
invokestatic com.oracle.truffle.regex.tregex.util.json.Json.prop:(Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/regex/tregex/util/json/JsonObject$JsonObjectProperty;
aastore
dup
iconst_3
3: ldc "wrappedRoot"
aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.wrappedRoot:Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
invokestatic com.oracle.truffle.regex.tregex.util.json.Json.prop:(Ljava/lang/String;Lcom/oracle/truffle/regex/tregex/util/json/JsonConvertible;)Lcom/oracle/truffle/regex/tregex/util/json/JsonObject$JsonObjectProperty;
aastore
dup
iconst_4
4: ldc "reachableCarets"
aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.reachableCarets:Ljava/util/List;
invokestatic com.oracle.truffle.regex.tregex.util.json.Json.prop:(Ljava/lang/String;Ljava/lang/Iterable;)Lcom/oracle/truffle/regex/tregex/util/json/JsonObject$JsonObjectProperty;
aastore
dup
iconst_5
5: ldc "startsWithCaret"
aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.root:Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.Group.startsWithCaret:()Z
invokestatic com.oracle.truffle.regex.tregex.util.json.Json.prop:(Ljava/lang/String;Z)Lcom/oracle/truffle/regex/tregex/util/json/JsonObject$JsonObjectProperty;
aastore
dup
bipush 6
6: ldc "endsWithDollar"
aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.root:Lcom/oracle/truffle/regex/tregex/parser/ast/Group;
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.Group.endsWithDollar:()Z
invokestatic com.oracle.truffle.regex.tregex.util.json.Json.prop:(Ljava/lang/String;Z)Lcom/oracle/truffle/regex/tregex/util/json/JsonObject$JsonObjectProperty;
aastore
dup
bipush 7
7: ldc "reachableDollars"
aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.reachableDollars:Ljava/util/List;
invokestatic com.oracle.truffle.regex.tregex.util.json.Json.prop:(Ljava/lang/String;Ljava/lang/Iterable;)Lcom/oracle/truffle/regex/tregex/util/json/JsonObject$JsonObjectProperty;
aastore
dup
bipush 8
8: ldc "properties"
aload 0
getfield com.oracle.truffle.regex.tregex.parser.ast.RegexAST.properties:Lcom/oracle/truffle/regex/tregex/parser/RegexProperties;
invokestatic com.oracle.truffle.regex.tregex.util.json.Json.prop:(Ljava/lang/String;Lcom/oracle/truffle/regex/tregex/util/json/JsonConvertible;)Lcom/oracle/truffle/regex/tregex/util/json/JsonObject$JsonObjectProperty;
aastore
9: invokestatic com.oracle.truffle.regex.tregex.util.json.Json.obj:([Lcom/oracle/truffle/regex/tregex/util/json/JsonObject$JsonObjectProperty;)Lcom/oracle/truffle/regex/tregex/util/json/JsonObject;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/regex/tregex/parser/ast/RegexAST;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public static com.oracle.truffle.regex.tregex.util.json.JsonArray sourceSectionsToJson(java.util.List<com.oracle.truffle.api.source.SourceSection>);
descriptor: (Ljava/util/List;)Lcom/oracle/truffle/regex/tregex/util/json/JsonArray;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: iconst_0
anewarray com.oracle.truffle.regex.tregex.util.json.JsonConvertible
invokestatic com.oracle.truffle.regex.tregex.util.json.Json.array:([Lcom/oracle/truffle/regex/tregex/util/json/JsonConvertible;)Lcom/oracle/truffle/regex/tregex/util/json/JsonArray;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
invokestatic com.oracle.truffle.regex.tregex.parser.ast.RegexAST.sourceSectionsToJson:(Ljava/util/stream/Stream;)Lcom/oracle/truffle/regex/tregex/util/json/JsonArray;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 sourceSections Ljava/util/List<Lcom/oracle/truffle/api/source/SourceSection;>;
Signature: (Ljava/util/List<Lcom/oracle/truffle/api/source/SourceSection;>;)Lcom/oracle/truffle/regex/tregex/util/json/JsonArray;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
sourceSections
public static com.oracle.truffle.regex.tregex.util.json.JsonArray sourceSectionsToJson(java.util.stream.Stream<com.oracle.truffle.api.source.SourceSection>);
descriptor: (Ljava/util/stream/Stream;)Lcom/oracle/truffle/regex/tregex/util/json/JsonArray;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: iconst_0
anewarray com.oracle.truffle.regex.tregex.util.json.JsonConvertible
invokestatic com.oracle.truffle.regex.tregex.util.json.Json.array:([Lcom/oracle/truffle/regex/tregex/util/json/JsonConvertible;)Lcom/oracle/truffle/regex/tregex/util/json/JsonArray;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/truffle/regex/tregex/parser/ast/RegexAST.lambda$0(Lcom/oracle/truffle/api/source/SourceSection;)Lcom/oracle/truffle/regex/tregex/util/json/JsonObject; (6)
(Lcom/oracle/truffle/api/source/SourceSection;)Lcom/oracle/truffle/regex/tregex/util/json/JsonObject;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
invokestatic com.oracle.truffle.regex.tregex.util.json.Json.array:(Ljava/util/stream/Stream;)Lcom/oracle/truffle/regex/tregex/util/json/JsonArray;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 sourceSections Ljava/util/stream/Stream<Lcom/oracle/truffle/api/source/SourceSection;>;
Signature: (Ljava/util/stream/Stream<Lcom/oracle/truffle/api/source/SourceSection;>;)Lcom/oracle/truffle/regex/tregex/util/json/JsonArray;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
sourceSections
public java.lang.Object getState(int);
descriptor: (I)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
iload 1
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.getState:(I)Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
public int getId(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast com.oracle.truffle.regex.tregex.parser.ast.RegexASTNode
invokevirtual com.oracle.truffle.regex.tregex.parser.ast.RegexAST.getId:(Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;)I
ireturn
LocalVariableTable:
Start End Slot Name Signature
private static com.oracle.truffle.regex.tregex.util.json.JsonObject lambda$0(com.oracle.truffle.api.source.SourceSection);
descriptor: (Lcom/oracle/truffle/api/source/SourceSection;)Lcom/oracle/truffle/regex/tregex/util/json/JsonObject;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: iconst_2
anewarray com.oracle.truffle.regex.tregex.util.json.JsonObject$JsonObjectProperty
dup
iconst_0
1: ldc "start"
aload 0
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharIndex:()I
invokestatic com.oracle.truffle.regex.tregex.util.json.Json.prop:(Ljava/lang/String;I)Lcom/oracle/truffle/regex/tregex/util/json/JsonObject$JsonObjectProperty;
aastore
dup
iconst_1
2: ldc "end"
aload 0
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharEndIndex:()I
invokestatic com.oracle.truffle.regex.tregex.util.json.Json.prop:(Ljava/lang/String;I)Lcom/oracle/truffle/regex/tregex/util/json/JsonObject$JsonObjectProperty;
aastore
3: invokestatic com.oracle.truffle.regex.tregex.util.json.Json.obj:([Lcom/oracle/truffle/regex/tregex/util/json/JsonObject$JsonObjectProperty;)Lcom/oracle/truffle/regex/tregex/util/json/JsonObject;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 x Lcom/oracle/truffle/api/source/SourceSection;
}
Signature: Ljava/lang/Object;Lcom/oracle/truffle/regex/tregex/automaton/StateIndex<Lcom/oracle/truffle/regex/tregex/parser/ast/RegexASTNode;>;Lcom/oracle/truffle/regex/tregex/util/json/JsonConvertible;
SourceFile: "RegexAST.java"
InnerClasses:
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
public ThresholdCounter = com.oracle.truffle.regex.tregex.parser.Counter$ThresholdCounter of com.oracle.truffle.regex.tregex.parser.Counter
public final Type = com.oracle.truffle.regex.tregex.parser.ast.PositionAssertion$Type of com.oracle.truffle.regex.tregex.parser.ast.PositionAssertion
public abstract Encoding = com.oracle.truffle.regex.tregex.string.Encodings$Encoding of com.oracle.truffle.regex.tregex.string.Encodings
public JsonObjectProperty = com.oracle.truffle.regex.tregex.util.json.JsonObject$JsonObjectProperty of com.oracle.truffle.regex.tregex.util.json.JsonObject
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles