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 // jflex.core.SemCheck this
         0: .line 24
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // jflex.core.SemCheck this
      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 // jflex.core.RegExps rs
        start local 1 // java.io.File f
         0: .line 35
            aload 0 /* rs */
            invokevirtual jflex.core.RegExps.getNum:()I
            istore 2 /* num */
        start local 2 // int num
         1: .line 36
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 18
         3: .line 37
      StackMap locals: int int
      StackMap stack:
            aload 0 /* rs */
            iload 3 /* i */
            invokevirtual jflex.core.RegExps.getRegExp:(I)Ljflex/core/RegExp;
            astore 4 /* r */
        start local 4 // jflex.core.RegExp r
         4: .line 38
            aload 0 /* rs */
            iload 3 /* i */
            invokevirtual jflex.core.RegExps.getLookAhead:(I)Ljflex/core/RegExp;
            astore 5 /* l */
        start local 5 // jflex.core.RegExp l
         5: .line 39
            aload 0 /* rs */
            iload 3 /* i */
            invokevirtual jflex.core.RegExps.getAction:(I)Ljflex/core/Action;
            astore 6 /* a */
        start local 6 // jflex.core.Action a
         6: .line 41
            aload 4 /* r */
            ifnull 17
            aload 4 /* r */
            invokestatic jflex.core.SemCheck.maybeEmtpy:(Ljflex/core/RegExp;)Z
            ifeq 17
         7: .line 42
            aload 5 /* l */
            ifnull 13
         8: .line 43
            aload 6 /* a */
            ifnonnull 11
         9: .line 44
            getstatic jflex.l10n.ErrorMessages.EMPTY_MATCH_LOOK:Ljflex/l10n/ErrorMessages$ErrorMessage;
            invokestatic jflex.logging.Out.error:(Ljflex/l10n/ErrorMessages$ErrorMessage;)V
        10: .line 45
            goto 17
        11: .line 46
      StackMap locals: jflex.core.RegExp jflex.core.RegExp jflex.core.Action
      StackMap stack:
            aload 1 /* f */
            getstatic jflex.l10n.ErrorMessages.EMPTY_MATCH_LOOK:Ljflex/l10n/ErrorMessages$ErrorMessage;
            aload 6 /* a */
            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: .line 48
            goto 17
        13: .line 49
      StackMap locals:
      StackMap stack:
            aload 6 /* a */
            ifnonnull 16
        14: .line 50
            getstatic jflex.l10n.ErrorMessages.EMPTY_MATCH:Ljflex/l10n/ErrorMessages$ErrorMessage;
            invokestatic jflex.logging.Out.warning:(Ljflex/l10n/ErrorMessages$ErrorMessage;)V
        15: .line 51
            goto 17
        16: .line 52
      StackMap locals:
      StackMap stack:
            aload 1 /* f */
            getstatic jflex.l10n.ErrorMessages.EMPTY_MATCH:Ljflex/l10n/ErrorMessages$ErrorMessage;
            aload 6 /* a */
            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 // jflex.core.Action a
        end local 5 // jflex.core.RegExp l
        end local 4 // jflex.core.RegExp r
        17: .line 36
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 3 /* i */
            iload 2 /* num */
            if_icmplt 3
        end local 3 // int i
        19: .line 57
            return
        end local 2 // int num
        end local 1 // java.io.File f
        end local 0 // jflex.core.RegExps rs
      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 // jflex.core.RegExp re
         0: .line 68
            aload 0 /* re */
            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: .line 70
      StackMap locals:
      StackMap stack:
            aload 0 /* re */
            checkcast jflex.core.RegExp2
            astore 1 /* r */
        start local 1 // jflex.core.RegExp2 r
         2: .line 71
            aload 1 /* r */
            getfield jflex.core.RegExp2.r1:Ljflex/core/RegExp;
            invokestatic jflex.core.SemCheck.maybeEmtpy:(Ljflex/core/RegExp;)Z
            ifne 3
            aload 1 /* r */
            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 // jflex.core.RegExp2 r
         4: .line 74
      StackMap locals:
      StackMap stack:
            aload 0 /* re */
            checkcast jflex.core.RegExp2
            astore 1 /* r */
        start local 1 // jflex.core.RegExp2 r
         5: .line 75
            aload 1 /* r */
            getfield jflex.core.RegExp2.r1:Ljflex/core/RegExp;
            invokestatic jflex.core.SemCheck.maybeEmtpy:(Ljflex/core/RegExp;)Z
            ifeq 6
            aload 1 /* r */
            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 // jflex.core.RegExp2 r
         7: .line 79
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         8: .line 82
      StackMap locals:
      StackMap stack:
            aload 0 /* re */
            checkcast jflex.core.RegExp1
            astore 2 /* r1 */
        start local 2 // jflex.core.RegExp1 r1
         9: .line 83
            aload 2 /* r1 */
            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 // jflex.core.RegExp1 r1
        10: .line 89
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        11: .line 93
      StackMap locals:
      StackMap stack:
            aload 0 /* re */
            checkcast jflex.core.RegExp1
            getfield jflex.core.RegExp1.content:Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* content */
        start local 3 // java.lang.String content
        12: .line 94
            aload 3 /* content */
            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 // java.lang.String content
        14: .line 97
      StackMap locals: jflex.core.RegExp
      StackMap stack:
            aload 0 /* re */
            checkcast jflex.core.RegExp1
            astore 4 /* r3 */
        start local 4 // jflex.core.RegExp1 r3
        15: .line 98
            aload 4 /* r3 */
            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 // jflex.core.RegExp1 r3
        18: .line 101
      StackMap locals: jflex.core.RegExp
      StackMap stack:
            new jflex.core.RegExpException
            dup
            aload 0 /* re */
            invokespecial jflex.core.RegExpException.<init>:(Ljflex/core/RegExp;)V
            athrow
        end local 0 // jflex.core.RegExp re
      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 // jflex.core.RegExp re
         0: .line 116
            aload 0 /* re */
            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: .line 119
      StackMap locals:
      StackMap stack:
            aload 0 /* re */
            checkcast jflex.core.RegExp2
            astore 1 /* r */
        start local 1 // jflex.core.RegExp2 r
         2: .line 120
            aload 1 /* r */
            getfield jflex.core.RegExp2.r1:Ljflex/core/RegExp;
            invokestatic jflex.core.SemCheck.length:(Ljflex/core/RegExp;)I
            istore 2 /* l1 */
        start local 2 // int l1
         3: .line 121
            iload 2 /* l1 */
            ifge 4
            iconst_m1
            ireturn
         4: .line 122
      StackMap locals: jflex.core.RegExp2 int
      StackMap stack:
            aload 1 /* r */
            getfield jflex.core.RegExp2.r2:Ljflex/core/RegExp;
            invokestatic jflex.core.SemCheck.length:(Ljflex/core/RegExp;)I
            istore 3 /* l2 */
        start local 3 // int l2
         5: .line 124
            iload 2 /* l1 */
            iload 3 /* l2 */
            if_icmpne 6
            iload 2 /* l1 */
            ireturn
         6: .line 125
      StackMap locals: int
      StackMap stack:
            iconst_m1
            ireturn
        end local 3 // int l2
        end local 2 // int l1
        end local 1 // jflex.core.RegExp2 r
         7: .line 130
      StackMap locals:
      StackMap stack:
            aload 0 /* re */
            checkcast jflex.core.RegExp2
            astore 1 /* r */
        start local 1 // jflex.core.RegExp2 r
         8: .line 131
            aload 1 /* r */
            getfield jflex.core.RegExp2.r1:Ljflex/core/RegExp;
            invokestatic jflex.core.SemCheck.length:(Ljflex/core/RegExp;)I
            istore 2 /* l1 */
        start local 2 // int l1
         9: .line 132
            iload 2 /* l1 */
            ifge 10
            iconst_m1
            ireturn
        10: .line 133
      StackMap locals: jflex.core.RegExp2 int
      StackMap stack:
            aload 1 /* r */
            getfield jflex.core.RegExp2.r2:Ljflex/core/RegExp;
            invokestatic jflex.core.SemCheck.length:(Ljflex/core/RegExp;)I
            istore 3 /* l2 */
        start local 3 // int l2
        11: .line 134
            iload 3 /* l2 */
            ifge 12
            iconst_m1
            ireturn
        12: .line 135
      StackMap locals: int
      StackMap stack:
            iload 2 /* l1 */
            iload 3 /* l2 */
            iadd
            ireturn
        end local 3 // int l2
        end local 2 // int l1
        end local 1 // jflex.core.RegExp2 r
        13: .line 141
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        14: .line 146
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        15: .line 151
      StackMap locals:
      StackMap stack:
            aload 0 /* re */
            checkcast jflex.core.RegExp1
            getfield jflex.core.RegExp1.content:Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* content */
        start local 2 // java.lang.String content
        16: .line 152
            aload 2 /* content */
            invokevirtual java.lang.String.length:()I
            ireturn
        end local 2 // java.lang.String content
        17: .line 158
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        18: .line 161
      StackMap locals:
      StackMap stack:
            new jflex.core.RegExpException
            dup
            aload 0 /* re */
            invokespecial jflex.core.RegExpException.<init>:(Ljflex/core/RegExp;)V
            athrow
        end local 0 // jflex.core.RegExp re
      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 // jflex.core.RegExp re
         0: .line 176
            aload 0 /* re */
            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: .line 178
      StackMap locals:
      StackMap stack:
            aload 0 /* re */
            checkcast jflex.core.RegExp2
            astore 1 /* r */
        start local 1 // jflex.core.RegExp2 r
         2: .line 179
            aload 1 /* r */
            getfield jflex.core.RegExp2.r1:Ljflex/core/RegExp;
            invokestatic jflex.core.SemCheck.isFiniteChoice:(Ljflex/core/RegExp;)Z
            ifeq 3
            aload 1 /* r */
            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 // jflex.core.RegExp2 r
         4: .line 182
      StackMap locals:
      StackMap stack:
            aload 0 /* re */
            checkcast jflex.core.RegExp2
            astore 1 /* r */
        start local 1 // jflex.core.RegExp2 r
         5: .line 183
            aload 1 /* r */
            getfield jflex.core.RegExp2.r1:Ljflex/core/RegExp;
            invokestatic jflex.core.SemCheck.length:(Ljflex/core/RegExp;)I
            istore 2 /* l1 */
        start local 2 // int l1
         6: .line 184
            iload 2 /* l1 */
            ifge 7
            iconst_0
            ireturn
         7: .line 185
      StackMap locals: jflex.core.RegExp2 int
      StackMap stack:
            aload 1 /* r */
            getfield jflex.core.RegExp2.r2:Ljflex/core/RegExp;
            invokestatic jflex.core.SemCheck.length:(Ljflex/core/RegExp;)I
            istore 3 /* l2 */
        start local 3 // int l2
         8: .line 186
            iload 3 /* l2 */
            iflt 9
            iconst_1
            ireturn
      StackMap locals: int
      StackMap stack:
         9: iconst_0
            ireturn
        end local 3 // int l2
        end local 2 // int l1
        end local 1 // jflex.core.RegExp2 r
        10: .line 193
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        11: .line 200
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        12: .line 203
      StackMap locals:
      StackMap stack:
            new jflex.core.RegExpException
            dup
            aload 0 /* re */
            invokespecial jflex.core.RegExpException.<init>:(Ljflex/core/RegExp;)V
            athrow
        end local 0 // jflex.core.RegExp re
      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