class jdk.nashorn.internal.parser.Lexer$EditStringLexer extends jdk.nashorn.internal.parser.Lexer
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: jdk.nashorn.internal.parser.Lexer$EditStringLexer
  super_class: jdk.nashorn.internal.parser.Lexer
{
  final jdk.nashorn.internal.parser.TokenType stringType;
    descriptor: Ljdk/nashorn/internal/parser/TokenType;
    flags: (0x0010) ACC_FINAL

  void <init>(jdk.nashorn.internal.parser.Lexer, jdk.nashorn.internal.parser.TokenType, jdk.nashorn.internal.parser.Lexer$State);
    descriptor: (Ljdk/nashorn/internal/parser/Lexer;Ljdk/nashorn/internal/parser/TokenType;Ljdk/nashorn/internal/parser/Lexer$State;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // jdk.nashorn.internal.parser.Lexer$EditStringLexer this
        start local 1 // jdk.nashorn.internal.parser.Lexer lexer
        start local 2 // jdk.nashorn.internal.parser.TokenType stringType
        start local 3 // jdk.nashorn.internal.parser.Lexer$State stringState
         0: .line 1393
            aload 0 /* this */
            aload 1 /* lexer */
            aload 3 /* stringState */
            invokespecial jdk.nashorn.internal.parser.Lexer.<init>:(Ljdk/nashorn/internal/parser/Lexer;Ljdk/nashorn/internal/parser/Lexer$State;)V
         1: .line 1395
            aload 0 /* this */
            aload 2 /* stringType */
            putfield jdk.nashorn.internal.parser.Lexer$EditStringLexer.stringType:Ljdk/nashorn/internal/parser/TokenType;
         2: .line 1396
            return
        end local 3 // jdk.nashorn.internal.parser.Lexer$State stringState
        end local 2 // jdk.nashorn.internal.parser.TokenType stringType
        end local 1 // jdk.nashorn.internal.parser.Lexer lexer
        end local 0 // jdk.nashorn.internal.parser.Lexer$EditStringLexer this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Ljdk/nashorn/internal/parser/Lexer$EditStringLexer;
            0    3     1        lexer  Ljdk/nashorn/internal/parser/Lexer;
            0    3     2   stringType  Ljdk/nashorn/internal/parser/TokenType;
            0    3     3  stringState  Ljdk/nashorn/internal/parser/Lexer$State;
    MethodParameters:
             Name  Flags
      lexer        final
      stringType   final
      stringState  final

  public void lexify();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // jdk.nashorn.internal.parser.Lexer$EditStringLexer this
         0: .line 1404
            aload 0 /* this */
            getfield jdk.nashorn.internal.parser.Lexer$EditStringLexer.position:I
            istore 1 /* stringStart */
        start local 1 // int stringStart
         1: .line 1406
            iconst_0
            istore 2 /* primed */
        start local 2 // boolean primed
         2: .line 1410
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.parser.Lexer$EditStringLexer.atEOF:()Z
            ifeq 4
         3: .line 1411
            goto 37
         4: .line 1415
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.parser.Lexer$EditStringLexer.ch0:C
            bipush 92
            if_icmpne 7
            aload 0 /* this */
            getfield jdk.nashorn.internal.parser.Lexer$EditStringLexer.stringType:Ljdk/nashorn/internal/parser/TokenType;
            getstatic jdk.nashorn.internal.parser.TokenType.ESCSTRING:Ljdk/nashorn/internal/parser/TokenType;
            if_acmpne 7
         5: .line 1416
            aload 0 /* this */
            iconst_2
            invokevirtual jdk.nashorn.internal.parser.Lexer$EditStringLexer.skip:(I)V
         6: .line 1418
            goto 2
         7: .line 1422
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.parser.Lexer$EditStringLexer.ch0:C
            bipush 36
            if_icmpne 35
            aload 0 /* this */
            getfield jdk.nashorn.internal.parser.Lexer$EditStringLexer.ch1:C
            bipush 123
            if_icmpne 35
         8: .line 1423
            iload 2 /* primed */
            ifeq 9
            iload 1 /* stringStart */
            aload 0 /* this */
            getfield jdk.nashorn.internal.parser.Lexer$EditStringLexer.position:I
            if_icmpeq 13
         9: .line 1424
      StackMap locals:
      StackMap stack:
            iload 2 /* primed */
            ifeq 11
        10: .line 1425
            aload 0 /* this */
            getstatic jdk.nashorn.internal.parser.TokenType.ADD:Ljdk/nashorn/internal/parser/TokenType;
            iload 1 /* stringStart */
            iload 1 /* stringStart */
            iconst_1
            iadd
            invokevirtual jdk.nashorn.internal.parser.Lexer$EditStringLexer.add:(Ljdk/nashorn/internal/parser/TokenType;II)V
        11: .line 1428
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.parser.Lexer$EditStringLexer.stringType:Ljdk/nashorn/internal/parser/TokenType;
            iload 1 /* stringStart */
            aload 0 /* this */
            getfield jdk.nashorn.internal.parser.Lexer$EditStringLexer.position:I
            invokevirtual jdk.nashorn.internal.parser.Lexer$EditStringLexer.add:(Ljdk/nashorn/internal/parser/TokenType;II)V
        12: .line 1429
            iconst_1
            istore 2 /* primed */
        13: .line 1433
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_2
            invokevirtual jdk.nashorn.internal.parser.Lexer$EditStringLexer.skip:(I)V
        14: .line 1436
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.parser.Lexer$EditStringLexer.saveState:()Ljdk/nashorn/internal/parser/Lexer$State;
            astore 3 /* expressionState */
        start local 3 // jdk.nashorn.internal.parser.Lexer$State expressionState
        15: .line 1439
            iconst_1
            istore 4 /* braceCount */
        start local 4 // int braceCount
        16: .line 1442
            goto 23
        17: .line 1444
      StackMap locals: jdk.nashorn.internal.parser.Lexer$State int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.parser.Lexer$EditStringLexer.ch0:C
            bipush 125
            if_icmpne 20
        18: .line 1446
            iinc 4 /* braceCount */ -1
            iload 4 /* braceCount */
            ifne 22
        19: .line 1447
            goto 24
        20: .line 1449
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.parser.Lexer$EditStringLexer.ch0:C
            bipush 123
            if_icmpne 22
        21: .line 1451
            iinc 4 /* braceCount */ 1
        22: .line 1455
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual jdk.nashorn.internal.parser.Lexer$EditStringLexer.skip:(I)V
        23: .line 1442
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.parser.Lexer$EditStringLexer.atEOF:()Z
            ifeq 17
        24: .line 1459
      StackMap locals:
      StackMap stack:
            iload 4 /* braceCount */
            ifeq 26
        25: .line 1460
            aload 0 /* this */
            ldc "edit.string.missing.brace"
            iconst_0
            anewarray java.lang.String
            invokestatic jdk.nashorn.internal.parser.Lexer.message:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            getstatic jdk.nashorn.internal.parser.TokenType.LBRACE:Ljdk/nashorn/internal/parser/TokenType;
            aload 3 /* expressionState */
            getfield jdk.nashorn.internal.parser.Lexer$State.position:I
            iconst_1
            isub
            iconst_1
            invokevirtual jdk.nashorn.internal.parser.Lexer$EditStringLexer.error:(Ljava/lang/String;Ljdk/nashorn/internal/parser/TokenType;II)V
        26: .line 1464
      StackMap locals:
      StackMap stack:
            aload 3 /* expressionState */
            aload 0 /* this */
            getfield jdk.nashorn.internal.parser.Lexer$EditStringLexer.position:I
            invokevirtual jdk.nashorn.internal.parser.Lexer$State.setLimit:(I)V
        27: .line 1466
            aload 0 /* this */
            iconst_1
            invokevirtual jdk.nashorn.internal.parser.Lexer$EditStringLexer.skip:(I)V
        28: .line 1469
            aload 0 /* this */
            getfield jdk.nashorn.internal.parser.Lexer$EditStringLexer.position:I
            istore 1 /* stringStart */
        29: .line 1472
            aload 0 /* this */
            getstatic jdk.nashorn.internal.parser.TokenType.ADD:Ljdk/nashorn/internal/parser/TokenType;
            aload 3 /* expressionState */
            getfield jdk.nashorn.internal.parser.Lexer$State.position:I
            aload 3 /* expressionState */
            getfield jdk.nashorn.internal.parser.Lexer$State.position:I
            iconst_1
            iadd
            invokevirtual jdk.nashorn.internal.parser.Lexer$EditStringLexer.add:(Ljdk/nashorn/internal/parser/TokenType;II)V
        30: .line 1473
            aload 0 /* this */
            getstatic jdk.nashorn.internal.parser.TokenType.LPAREN:Ljdk/nashorn/internal/parser/TokenType;
            aload 3 /* expressionState */
            getfield jdk.nashorn.internal.parser.Lexer$State.position:I
            aload 3 /* expressionState */
            getfield jdk.nashorn.internal.parser.Lexer$State.position:I
            iconst_1
            iadd
            invokevirtual jdk.nashorn.internal.parser.Lexer$EditStringLexer.add:(Ljdk/nashorn/internal/parser/TokenType;II)V
        31: .line 1476
            new jdk.nashorn.internal.parser.Lexer
            dup
            aload 0 /* this */
            aload 3 /* expressionState */
            invokespecial jdk.nashorn.internal.parser.Lexer.<init>:(Ljdk/nashorn/internal/parser/Lexer;Ljdk/nashorn/internal/parser/Lexer$State;)V
            astore 5 /* lexer */
        start local 5 // jdk.nashorn.internal.parser.Lexer lexer
        32: .line 1477
            aload 5 /* lexer */
            invokevirtual jdk.nashorn.internal.parser.Lexer.lexify:()V
        33: .line 1480
            aload 0 /* this */
            getstatic jdk.nashorn.internal.parser.TokenType.RPAREN:Ljdk/nashorn/internal/parser/TokenType;
            aload 0 /* this */
            getfield jdk.nashorn.internal.parser.Lexer$EditStringLexer.position:I
            iconst_1
            isub
            aload 0 /* this */
            getfield jdk.nashorn.internal.parser.Lexer$EditStringLexer.position:I
            invokevirtual jdk.nashorn.internal.parser.Lexer$EditStringLexer.add:(Ljdk/nashorn/internal/parser/TokenType;II)V
        34: .line 1482
            goto 2
        end local 5 // jdk.nashorn.internal.parser.Lexer lexer
        end local 4 // int braceCount
        end local 3 // jdk.nashorn.internal.parser.Lexer$State expressionState
        35: .line 1486
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual jdk.nashorn.internal.parser.Lexer$EditStringLexer.skip:(I)V
        36: .line 1408
            goto 2
        37: .line 1490
      StackMap locals:
      StackMap stack:
            iload 1 /* stringStart */
            aload 0 /* this */
            getfield jdk.nashorn.internal.parser.Lexer$EditStringLexer.limit:I
            if_icmpeq 41
        38: .line 1492
            iload 2 /* primed */
            ifeq 40
        39: .line 1493
            aload 0 /* this */
            getstatic jdk.nashorn.internal.parser.TokenType.ADD:Ljdk/nashorn/internal/parser/TokenType;
            iload 1 /* stringStart */
            iconst_1
            invokevirtual jdk.nashorn.internal.parser.Lexer$EditStringLexer.add:(Ljdk/nashorn/internal/parser/TokenType;II)V
        40: .line 1496
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.parser.Lexer$EditStringLexer.stringType:Ljdk/nashorn/internal/parser/TokenType;
            iload 1 /* stringStart */
            aload 0 /* this */
            getfield jdk.nashorn.internal.parser.Lexer$EditStringLexer.limit:I
            invokevirtual jdk.nashorn.internal.parser.Lexer$EditStringLexer.add:(Ljdk/nashorn/internal/parser/TokenType;II)V
        41: .line 1498
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean primed
        end local 1 // int stringStart
        end local 0 // jdk.nashorn.internal.parser.Lexer$EditStringLexer this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   42     0             this  Ljdk/nashorn/internal/parser/Lexer$EditStringLexer;
            1   42     1      stringStart  I
            2   42     2           primed  Z
           15   35     3  expressionState  Ljdk/nashorn/internal/parser/Lexer$State;
           16   35     4       braceCount  I
           32   35     5            lexer  Ljdk/nashorn/internal/parser/Lexer;
}
SourceFile: "Lexer.java"
NestHost: jdk.nashorn.internal.parser.Lexer
InnerClasses:
  private EditStringLexer = jdk.nashorn.internal.parser.Lexer$EditStringLexer of jdk.nashorn.internal.parser.Lexer
  State = jdk.nashorn.internal.parser.Lexer$State of jdk.nashorn.internal.parser.Lexer