public final class org.joni.ScanEnvironment
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.joni.ScanEnvironment
super_class: java.lang.Object
{
public int option;
descriptor: I
flags: (0x0001) ACC_PUBLIC
final int caseFoldFlag;
descriptor: I
flags: (0x0010) ACC_FINAL
public final org.jcodings.Encoding enc;
descriptor: Lorg/jcodings/Encoding;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
public final org.joni.Syntax syntax;
descriptor: Lorg/joni/Syntax;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
int captureHistory;
descriptor: I
flags: (0x0000)
int btMemStart;
descriptor: I
flags: (0x0000)
int btMemEnd;
descriptor: I
flags: (0x0000)
int backrefedMem;
descriptor: I
flags: (0x0000)
public final org.joni.WarnCallback warnings;
descriptor: Lorg/joni/WarnCallback;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
int numCall;
descriptor: I
flags: (0x0000)
org.joni.UnsetAddrList unsetAddrList;
descriptor: Lorg/joni/UnsetAddrList;
flags: (0x0000)
public int numMem;
descriptor: I
flags: (0x0001) ACC_PUBLIC
int numNamed;
descriptor: I
flags: (0x0000)
public org.joni.ast.EncloseNode[] memNodes;
descriptor: [Lorg/joni/ast/EncloseNode;
flags: (0x0001) ACC_PUBLIC
int numCombExpCheck;
descriptor: I
flags: (0x0000)
int combExpMaxRegNum;
descriptor: I
flags: (0x0000)
int currMaxRegNum;
descriptor: I
flags: (0x0000)
boolean hasRecursion;
descriptor: Z
flags: (0x0000)
private int warningsFlag;
descriptor: I
flags: (0x0002) ACC_PRIVATE
int numPrecReadNotNodes;
descriptor: I
flags: (0x0000)
org.joni.ast.Node[] precReadNotNodes;
descriptor: [Lorg/joni/ast/Node;
flags: (0x0000)
void <init>(org.joni.Regex, org.joni.Syntax, org.joni.WarnCallback);
descriptor: (Lorg/joni/Regex;Lorg/joni/Syntax;Lorg/joni/WarnCallback;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
putfield org.joni.ScanEnvironment.syntax:Lorg/joni/Syntax;
2: aload 0
aload 3
putfield org.joni.ScanEnvironment.warnings:Lorg/joni/WarnCallback;
3: aload 0
aload 1
getfield org.joni.Regex.options:I
putfield org.joni.ScanEnvironment.option:I
4: aload 0
aload 1
getfield org.joni.Regex.caseFoldFlag:I
putfield org.joni.ScanEnvironment.caseFoldFlag:I
5: aload 0
aload 1
getfield org.joni.Regex.enc:Lorg/jcodings/Encoding;
putfield org.joni.ScanEnvironment.enc:Lorg/jcodings/Encoding;
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/joni/ScanEnvironment;
0 7 1 regex Lorg/joni/Regex;
0 7 2 syntax Lorg/joni/Syntax;
0 7 3 warnings Lorg/joni/WarnCallback;
MethodParameters:
Name Flags
regex
syntax
warnings
int addMemEntry();
descriptor: ()I
flags: (0x0000)
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield org.joni.ScanEnvironment.numMem:I
sipush 32767
if_icmplt 1
new org.joni.exception.InternalException
dup
ldc "too many capture groups are specified"
invokespecial org.joni.exception.InternalException.<init>:(Ljava/lang/String;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
dup
getfield org.joni.ScanEnvironment.numMem:I
dup_x1
iconst_1
iadd
putfield org.joni.ScanEnvironment.numMem:I
ifne 4
2: aload 0
bipush 8
anewarray org.joni.ast.EncloseNode
putfield org.joni.ScanEnvironment.memNodes:[Lorg/joni/ast/EncloseNode;
3: goto 8
StackMap locals:
StackMap stack:
4: aload 0
getfield org.joni.ScanEnvironment.numMem:I
aload 0
getfield org.joni.ScanEnvironment.memNodes:[Lorg/joni/ast/EncloseNode;
arraylength
if_icmplt 8
5: aload 0
getfield org.joni.ScanEnvironment.memNodes:[Lorg/joni/ast/EncloseNode;
arraylength
iconst_1
ishl
anewarray org.joni.ast.EncloseNode
astore 1
start local 1 6: aload 0
getfield org.joni.ScanEnvironment.memNodes:[Lorg/joni/ast/EncloseNode;
iconst_0
aload 1
iconst_0
aload 0
getfield org.joni.ScanEnvironment.memNodes:[Lorg/joni/ast/EncloseNode;
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
7: aload 0
aload 1
putfield org.joni.ScanEnvironment.memNodes:[Lorg/joni/ast/EncloseNode;
end local 1 8: StackMap locals:
StackMap stack:
aload 0
getfield org.joni.ScanEnvironment.numMem:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/joni/ScanEnvironment;
6 8 1 tmp [Lorg/joni/ast/EncloseNode;
void setMemNode(int, org.joni.ast.EncloseNode);
descriptor: (ILorg/joni/ast/EncloseNode;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.joni.ScanEnvironment.numMem:I
iload 1
if_icmplt 3
1: aload 0
getfield org.joni.ScanEnvironment.memNodes:[Lorg/joni/ast/EncloseNode;
iload 1
aload 2
aastore
2: goto 4
3: StackMap locals:
StackMap stack:
new org.joni.exception.InternalException
dup
ldc "internal parser error (bug)"
invokespecial org.joni.exception.InternalException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/joni/ScanEnvironment;
0 5 1 num I
0 5 2 node Lorg/joni/ast/EncloseNode;
MethodParameters:
Name Flags
num
node
void pushPrecReadNotNode(org.joni.ast.Node);
descriptor: (Lorg/joni/ast/Node;)V
flags: (0x0000)
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
dup
getfield org.joni.ScanEnvironment.numPrecReadNotNodes:I
iconst_1
iadd
putfield org.joni.ScanEnvironment.numPrecReadNotNodes:I
1: aload 0
getfield org.joni.ScanEnvironment.precReadNotNodes:[Lorg/joni/ast/Node;
ifnonnull 4
2: aload 0
bipush 8
anewarray org.joni.ast.Node
putfield org.joni.ScanEnvironment.precReadNotNodes:[Lorg/joni/ast/Node;
3: goto 8
StackMap locals:
StackMap stack:
4: aload 0
getfield org.joni.ScanEnvironment.numPrecReadNotNodes:I
aload 0
getfield org.joni.ScanEnvironment.precReadNotNodes:[Lorg/joni/ast/Node;
arraylength
if_icmplt 8
5: aload 0
getfield org.joni.ScanEnvironment.precReadNotNodes:[Lorg/joni/ast/Node;
arraylength
iconst_1
ishl
anewarray org.joni.ast.Node
astore 2
start local 2 6: aload 0
getfield org.joni.ScanEnvironment.precReadNotNodes:[Lorg/joni/ast/Node;
iconst_0
aload 2
iconst_0
aload 0
getfield org.joni.ScanEnvironment.precReadNotNodes:[Lorg/joni/ast/Node;
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
7: aload 0
aload 2
putfield org.joni.ScanEnvironment.precReadNotNodes:[Lorg/joni/ast/Node;
end local 2 8: StackMap locals:
StackMap stack:
aload 0
getfield org.joni.ScanEnvironment.precReadNotNodes:[Lorg/joni/ast/Node;
aload 0
getfield org.joni.ScanEnvironment.numPrecReadNotNodes:I
iconst_1
isub
aload 1
aastore
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/joni/ScanEnvironment;
0 10 1 node Lorg/joni/ast/Node;
6 8 2 tmp [Lorg/joni/ast/Node;
MethodParameters:
Name Flags
node
void popPrecReadNotNode(org.joni.ast.Node);
descriptor: (Lorg/joni/ast/Node;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.joni.ScanEnvironment.precReadNotNodes:[Lorg/joni/ast/Node;
ifnull 3
aload 0
getfield org.joni.ScanEnvironment.precReadNotNodes:[Lorg/joni/ast/Node;
aload 0
getfield org.joni.ScanEnvironment.numPrecReadNotNodes:I
iconst_1
isub
aaload
aload 1
if_acmpne 3
1: aload 0
getfield org.joni.ScanEnvironment.precReadNotNodes:[Lorg/joni/ast/Node;
aload 0
getfield org.joni.ScanEnvironment.numPrecReadNotNodes:I
iconst_1
isub
aconst_null
aastore
2: aload 0
dup
getfield org.joni.ScanEnvironment.numPrecReadNotNodes:I
iconst_1
isub
putfield org.joni.ScanEnvironment.numPrecReadNotNodes:I
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/joni/ScanEnvironment;
0 4 1 node Lorg/joni/ast/Node;
MethodParameters:
Name Flags
node
org.joni.ast.Node currentPrecReadNotNode();
descriptor: ()Lorg/joni/ast/Node;
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.joni.ScanEnvironment.numPrecReadNotNodes:I
ifle 2
1: aload 0
getfield org.joni.ScanEnvironment.precReadNotNodes:[Lorg/joni/ast/Node;
aload 0
getfield org.joni.ScanEnvironment.numPrecReadNotNodes:I
iconst_1
isub
aaload
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/joni/ScanEnvironment;
int convertBackslashValue(int);
descriptor: (I)I
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.joni.ScanEnvironment.syntax:Lorg/joni/Syntax;
invokevirtual org.joni.Syntax.opEscControlChars:()Z
ifeq 13
1: iload 1
lookupswitch { // 8
97: 6
98: 7
101: 8
102: 5
110: 2
114: 4
116: 3
118: 9
default: 10
}
2: StackMap locals:
StackMap stack:
bipush 10
ireturn
3: StackMap locals:
StackMap stack:
bipush 9
ireturn
4: StackMap locals:
StackMap stack:
bipush 13
ireturn
5: StackMap locals:
StackMap stack:
bipush 12
ireturn
6: StackMap locals:
StackMap stack:
bipush 7
ireturn
7: StackMap locals:
StackMap stack:
bipush 8
ireturn
8: StackMap locals:
StackMap stack:
bipush 27
ireturn
9: StackMap locals:
StackMap stack:
aload 0
getfield org.joni.ScanEnvironment.syntax:Lorg/joni/Syntax;
invokevirtual org.joni.Syntax.op2EscVVtab:()Z
ifeq 13
bipush 11
ireturn
10: StackMap locals:
StackMap stack:
bipush 97
iload 1
if_icmpgt 11
iload 1
bipush 122
if_icmple 12
StackMap locals:
StackMap stack:
11: bipush 65
iload 1
if_icmpgt 13
iload 1
bipush 90
if_icmpgt 13
StackMap locals:
StackMap stack:
12: aload 0
iload 1
i2c
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
invokevirtual org.joni.ScanEnvironment.unknownEscWarn:(Ljava/lang/String;)V
13: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/joni/ScanEnvironment;
0 14 1 c I
MethodParameters:
Name Flags
c
void ccEscWarn(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.joni.ScanEnvironment.warnings:Lorg/joni/WarnCallback;
getstatic org.joni.WarnCallback.NONE:Lorg/joni/WarnCallback;
if_acmpeq 3
1: aload 0
getfield org.joni.ScanEnvironment.syntax:Lorg/joni/Syntax;
invokevirtual org.joni.Syntax.warnCCOpNotEscaped:()Z
ifeq 3
aload 0
getfield org.joni.ScanEnvironment.syntax:Lorg/joni/Syntax;
invokevirtual org.joni.Syntax.backSlashEscapeInCC:()Z
ifeq 3
2: aload 0
getfield org.joni.ScanEnvironment.warnings:Lorg/joni/WarnCallback;
new java.lang.StringBuilder
dup
ldc "character class has '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "' without escape"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.joni.WarnCallback.warn:(Ljava/lang/String;)V
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/joni/ScanEnvironment;
0 4 1 s Ljava/lang/String;
MethodParameters:
Name Flags
s
void unknownEscWarn(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.joni.ScanEnvironment.warnings:Lorg/joni/WarnCallback;
getstatic org.joni.WarnCallback.NONE:Lorg/joni/WarnCallback;
if_acmpeq 2
1: aload 0
getfield org.joni.ScanEnvironment.warnings:Lorg/joni/WarnCallback;
new java.lang.StringBuilder
dup
ldc "Unknown escape \\"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " is ignored"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.joni.WarnCallback.warn:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/joni/ScanEnvironment;
0 3 1 s Ljava/lang/String;
MethodParameters:
Name Flags
s
void closeBracketWithoutEscapeWarn(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.joni.ScanEnvironment.warnings:Lorg/joni/WarnCallback;
getstatic org.joni.WarnCallback.NONE:Lorg/joni/WarnCallback;
if_acmpeq 3
1: aload 0
getfield org.joni.ScanEnvironment.syntax:Lorg/joni/Syntax;
invokevirtual org.joni.Syntax.warnCCOpNotEscaped:()Z
ifeq 3
2: aload 0
getfield org.joni.ScanEnvironment.warnings:Lorg/joni/WarnCallback;
new java.lang.StringBuilder
dup
ldc "regular expression has '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "' without escape"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.joni.WarnCallback.warn:(Ljava/lang/String;)V
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/joni/ScanEnvironment;
0 4 1 s Ljava/lang/String;
MethodParameters:
Name Flags
s
void ccDuplicateWarn();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.joni.ScanEnvironment.syntax:Lorg/joni/Syntax;
invokevirtual org.joni.Syntax.warnCCDup:()Z
ifeq 2
aload 0
getfield org.joni.ScanEnvironment.warningsFlag:I
ldc 67108864
iand
ifne 2
1: aload 0
dup
getfield org.joni.ScanEnvironment.warningsFlag:I
ldc 67108864
ior
putfield org.joni.ScanEnvironment.warningsFlag:I
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/joni/ScanEnvironment;
}
SourceFile: "ScanEnvironment.java"