public final class jflex.core.SemCheck
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: jflex.core.SemCheck
super_class: java.lang.Object
{
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljflex/core/SemCheck;
public static void check(jflex.core.RegExps, java.io.File);
descriptor: (Ljflex/core/RegExps;Ljava/io/File;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jflex.core.RegExps.getNum:()I
istore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 18
3: StackMap locals: int int
StackMap stack:
aload 0
iload 3
invokevirtual jflex.core.RegExps.getRegExp:(I)Ljflex/core/RegExp;
astore 4
start local 4 4: aload 0
iload 3
invokevirtual jflex.core.RegExps.getLookAhead:(I)Ljflex/core/RegExp;
astore 5
start local 5 5: aload 0
iload 3
invokevirtual jflex.core.RegExps.getAction:(I)Ljflex/core/Action;
astore 6
start local 6 6: aload 4
ifnull 17
aload 4
invokestatic jflex.core.SemCheck.maybeEmtpy:(Ljflex/core/RegExp;)Z
ifeq 17
7: aload 5
ifnull 13
8: aload 6
ifnonnull 11
9: getstatic jflex.l10n.ErrorMessages.EMPTY_MATCH_LOOK:Ljflex/l10n/ErrorMessages$ErrorMessage;
invokestatic jflex.logging.Out.error:(Ljflex/l10n/ErrorMessages$ErrorMessage;)V
10: goto 17
11: StackMap locals: jflex.core.RegExp jflex.core.RegExp jflex.core.Action
StackMap stack:
aload 1
getstatic jflex.l10n.ErrorMessages.EMPTY_MATCH_LOOK:Ljflex/l10n/ErrorMessages$ErrorMessage;
aload 6
getfield jflex.core.Action.priority:I
iconst_1
isub
iconst_m1
invokestatic jflex.logging.Out.error:(Ljava/io/File;Ljflex/l10n/ErrorMessages$ErrorMessage;II)V
12: goto 17
13: StackMap locals:
StackMap stack:
aload 6
ifnonnull 16
14: getstatic jflex.l10n.ErrorMessages.EMPTY_MATCH:Ljflex/l10n/ErrorMessages$ErrorMessage;
invokestatic jflex.logging.Out.warning:(Ljflex/l10n/ErrorMessages$ErrorMessage;)V
15: goto 17
16: StackMap locals:
StackMap stack:
aload 1
getstatic jflex.l10n.ErrorMessages.EMPTY_MATCH:Ljflex/l10n/ErrorMessages$ErrorMessage;
aload 6
getfield jflex.core.Action.priority:I
iconst_1
isub
iconst_m1
invokestatic jflex.logging.Out.warning:(Ljava/io/File;Ljflex/l10n/ErrorMessages$ErrorMessage;II)V
end local 6 end local 5 end local 4 17: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
18: iload 3
iload 2
if_icmplt 3
end local 3 19: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 rs Ljflex/core/RegExps;
0 20 1 f Ljava/io/File;
1 20 2 num I
2 19 3 i I
4 17 4 r Ljflex/core/RegExp;
5 17 5 l Ljflex/core/RegExp;
6 17 6 a Ljflex/core/Action;
MethodParameters:
Name Flags
rs
f
public static boolean maybeEmtpy(jflex.core.RegExp);
descriptor: (Ljflex/core/RegExp;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
getfield jflex.core.RegExp.type:I
tableswitch { // 39 - 58
39: 7
40: 8
41: 1
42: 7
43: 18
44: 18
45: 14
46: 10
47: 10
48: 11
49: 18
50: 18
51: 18
52: 18
53: 18
54: 18
55: 10
56: 4
57: 11
58: 10
default: 18
}
1: StackMap locals:
StackMap stack:
aload 0
checkcast jflex.core.RegExp2
astore 1
start local 1 2: aload 1
getfield jflex.core.RegExp2.r1:Ljflex/core/RegExp;
invokestatic jflex.core.SemCheck.maybeEmtpy:(Ljflex/core/RegExp;)Z
ifne 3
aload 1
getfield jflex.core.RegExp2.r2:Ljflex/core/RegExp;
invokestatic jflex.core.SemCheck.maybeEmtpy:(Ljflex/core/RegExp;)Z
ifne 3
iconst_0
ireturn
StackMap locals: jflex.core.RegExp2
StackMap stack:
3: iconst_1
ireturn
end local 1 4: StackMap locals:
StackMap stack:
aload 0
checkcast jflex.core.RegExp2
astore 1
start local 1 5: aload 1
getfield jflex.core.RegExp2.r1:Ljflex/core/RegExp;
invokestatic jflex.core.SemCheck.maybeEmtpy:(Ljflex/core/RegExp;)Z
ifeq 6
aload 1
getfield jflex.core.RegExp2.r2:Ljflex/core/RegExp;
invokestatic jflex.core.SemCheck.maybeEmtpy:(Ljflex/core/RegExp;)Z
ifeq 6
iconst_1
ireturn
StackMap locals: jflex.core.RegExp2
StackMap stack:
6: iconst_0
ireturn
end local 1 7: StackMap locals:
StackMap stack:
iconst_1
ireturn
8: StackMap locals:
StackMap stack:
aload 0
checkcast jflex.core.RegExp1
astore 2
start local 2 9: aload 2
getfield jflex.core.RegExp1.content:Ljava/lang/Object;
checkcast jflex.core.RegExp
invokestatic jflex.core.SemCheck.maybeEmtpy:(Ljflex/core/RegExp;)Z
ireturn
end local 2 10: StackMap locals:
StackMap stack:
iconst_0
ireturn
11: StackMap locals:
StackMap stack:
aload 0
checkcast jflex.core.RegExp1
getfield jflex.core.RegExp1.content:Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 12: aload 3
invokevirtual java.lang.String.length:()I
ifne 13
iconst_1
ireturn
StackMap locals: jflex.core.RegExp top top java.lang.String
StackMap stack:
13: iconst_0
ireturn
end local 3 14: StackMap locals: jflex.core.RegExp
StackMap stack:
aload 0
checkcast jflex.core.RegExp1
astore 4
start local 4 15: aload 4
getfield jflex.core.RegExp1.content:Ljava/lang/Object;
checkcast jflex.core.RegExp
invokestatic jflex.core.SemCheck.maybeEmtpy:(Ljflex/core/RegExp;)Z
ifeq 16
iconst_0
goto 17
StackMap locals: jflex.core.RegExp top top top jflex.core.RegExp1
StackMap stack:
16: iconst_1
StackMap locals:
StackMap stack: int
17: ireturn
end local 4 18: StackMap locals: jflex.core.RegExp
StackMap stack:
new jflex.core.RegExpException
dup
aload 0
invokespecial jflex.core.RegExpException.<init>:(Ljflex/core/RegExp;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 re Ljflex/core/RegExp;
2 4 1 r Ljflex/core/RegExp2;
5 7 1 r Ljflex/core/RegExp2;
9 10 2 r1 Ljflex/core/RegExp1;
12 14 3 content Ljava/lang/String;
15 18 4 r3 Ljflex/core/RegExp1;
MethodParameters:
Name Flags
re
public static int length(jflex.core.RegExp);
descriptor: (Ljflex/core/RegExp;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
getfield jflex.core.RegExp.type:I
tableswitch { // 39 - 58
39: 13
40: 13
41: 1
42: 13
43: 18
44: 18
45: 17
46: 17
47: 14
48: 15
49: 18
50: 18
51: 18
52: 18
53: 18
54: 18
55: 14
56: 7
57: 15
58: 14
default: 18
}
1: StackMap locals:
StackMap stack:
aload 0
checkcast jflex.core.RegExp2
astore 1
start local 1 2: aload 1
getfield jflex.core.RegExp2.r1:Ljflex/core/RegExp;
invokestatic jflex.core.SemCheck.length:(Ljflex/core/RegExp;)I
istore 2
start local 2 3: iload 2
ifge 4
iconst_m1
ireturn
4: StackMap locals: jflex.core.RegExp2 int
StackMap stack:
aload 1
getfield jflex.core.RegExp2.r2:Ljflex/core/RegExp;
invokestatic jflex.core.SemCheck.length:(Ljflex/core/RegExp;)I
istore 3
start local 3 5: iload 2
iload 3
if_icmpne 6
iload 2
ireturn
6: StackMap locals: int
StackMap stack:
iconst_m1
ireturn
end local 3 end local 2 end local 1 7: StackMap locals:
StackMap stack:
aload 0
checkcast jflex.core.RegExp2
astore 1
start local 1 8: aload 1
getfield jflex.core.RegExp2.r1:Ljflex/core/RegExp;
invokestatic jflex.core.SemCheck.length:(Ljflex/core/RegExp;)I
istore 2
start local 2 9: iload 2
ifge 10
iconst_m1
ireturn
10: StackMap locals: jflex.core.RegExp2 int
StackMap stack:
aload 1
getfield jflex.core.RegExp2.r2:Ljflex/core/RegExp;
invokestatic jflex.core.SemCheck.length:(Ljflex/core/RegExp;)I
istore 3
start local 3 11: iload 3
ifge 12
iconst_m1
ireturn
12: StackMap locals: int
StackMap stack:
iload 2
iload 3
iadd
ireturn
end local 3 end local 2 end local 1 13: StackMap locals:
StackMap stack:
iconst_m1
ireturn
14: StackMap locals:
StackMap stack:
iconst_1
ireturn
15: StackMap locals:
StackMap stack:
aload 0
checkcast jflex.core.RegExp1
getfield jflex.core.RegExp1.content:Ljava/lang/Object;
checkcast java.lang.String
astore 2
start local 2 16: aload 2
invokevirtual java.lang.String.length:()I
ireturn
end local 2 17: StackMap locals:
StackMap stack:
iconst_m1
ireturn
18: StackMap locals:
StackMap stack:
new jflex.core.RegExpException
dup
aload 0
invokespecial jflex.core.RegExpException.<init>:(Ljflex/core/RegExp;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 re Ljflex/core/RegExp;
2 7 1 r Ljflex/core/RegExp2;
8 13 1 r Ljflex/core/RegExp2;
3 7 2 l1 I
5 7 3 l2 I
9 13 2 l1 I
11 13 3 l2 I
16 17 2 content Ljava/lang/String;
MethodParameters:
Name Flags
re
public static boolean isFiniteChoice(jflex.core.RegExp);
descriptor: (Ljflex/core/RegExp;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
getfield jflex.core.RegExp.type:I
tableswitch { // 39 - 58
39: 10
40: 10
41: 1
42: 10
43: 12
44: 12
45: 10
46: 10
47: 11
48: 11
49: 12
50: 12
51: 12
52: 12
53: 12
54: 12
55: 11
56: 4
57: 11
58: 11
default: 12
}
1: StackMap locals:
StackMap stack:
aload 0
checkcast jflex.core.RegExp2
astore 1
start local 1 2: aload 1
getfield jflex.core.RegExp2.r1:Ljflex/core/RegExp;
invokestatic jflex.core.SemCheck.isFiniteChoice:(Ljflex/core/RegExp;)Z
ifeq 3
aload 1
getfield jflex.core.RegExp2.r2:Ljflex/core/RegExp;
invokestatic jflex.core.SemCheck.isFiniteChoice:(Ljflex/core/RegExp;)Z
ifeq 3
iconst_1
ireturn
StackMap locals: jflex.core.RegExp2
StackMap stack:
3: iconst_0
ireturn
end local 1 4: StackMap locals:
StackMap stack:
aload 0
checkcast jflex.core.RegExp2
astore 1
start local 1 5: aload 1
getfield jflex.core.RegExp2.r1:Ljflex/core/RegExp;
invokestatic jflex.core.SemCheck.length:(Ljflex/core/RegExp;)I
istore 2
start local 2 6: iload 2
ifge 7
iconst_0
ireturn
7: StackMap locals: jflex.core.RegExp2 int
StackMap stack:
aload 1
getfield jflex.core.RegExp2.r2:Ljflex/core/RegExp;
invokestatic jflex.core.SemCheck.length:(Ljflex/core/RegExp;)I
istore 3
start local 3 8: iload 3
iflt 9
iconst_1
ireturn
StackMap locals: int
StackMap stack:
9: iconst_0
ireturn
end local 3 end local 2 end local 1 10: StackMap locals:
StackMap stack:
iconst_0
ireturn
11: StackMap locals:
StackMap stack:
iconst_1
ireturn
12: StackMap locals:
StackMap stack:
new jflex.core.RegExpException
dup
aload 0
invokespecial jflex.core.RegExpException.<init>:(Ljflex/core/RegExp;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 re Ljflex/core/RegExp;
2 4 1 r Ljflex/core/RegExp2;
5 10 1 r Ljflex/core/RegExp2;
6 10 2 l1 I
8 10 3 l2 I
MethodParameters:
Name Flags
re
}
SourceFile: "SemCheck.java"
InnerClasses:
public ErrorMessage = jflex.l10n.ErrorMessages$ErrorMessage of jflex.l10n.ErrorMessages