public final class jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode extends jdk.nashorn.internal.runtime.regexp.joni.ast.Node implements jdk.nashorn.internal.runtime.regexp.joni.constants.StringType
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
  super_class: jdk.nashorn.internal.runtime.regexp.joni.ast.Node
{
  private static final int NODE_STR_MARGIN;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  private static final int NODE_STR_BUF_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 24

  public static final jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode EMPTY;
    descriptor: Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public char[] chars;
    descriptor: [C
    flags: (0x0001) ACC_PUBLIC

  public int p;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public int end;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public int flag;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 30
            new jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
            dup
            aconst_null
            ldc 2147483647
            ldc 2147483647
            invokespecial jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.<init>:([CII)V
            putstatic jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.EMPTY:Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
         0: .line 38
            aload 0 /* this */
            invokespecial jdk.nashorn.internal.runtime.regexp.joni.ast.Node.<init>:()V
         1: .line 39
            aload 0 /* this */
            bipush 24
            newarray 5
            putfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
         2: .line 40
            return
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;

  public void <init>(char[], int, int);
    descriptor: ([CII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
        start local 1 // char[] chars
        start local 2 // int p
        start local 3 // int end
         0: .line 42
            aload 0 /* this */
            invokespecial jdk.nashorn.internal.runtime.regexp.joni.ast.Node.<init>:()V
         1: .line 43
            aload 0 /* this */
            aload 1 /* chars */
            putfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
         2: .line 44
            aload 0 /* this */
            iload 2 /* p */
            putfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
         3: .line 45
            aload 0 /* this */
            iload 3 /* end */
            putfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.end:I
         4: .line 46
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.setShared:()V
         5: .line 47
            return
        end local 3 // int end
        end local 2 // int p
        end local 1 // char[] chars
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
            0    6     1  chars  [C
            0    6     2      p  I
            0    6     3    end  I
    MethodParameters:
       Name  Flags
      chars  final
      p      final
      end    final

  public void <init>(char);
    descriptor: (C)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
        start local 1 // char c
         0: .line 50
            aload 0 /* this */
            invokespecial jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.<init>:()V
         1: .line 51
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
            aload 0 /* this */
            dup
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.end:I
            dup_x1
            iconst_1
            iadd
            putfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.end:I
            iload 1 /* c */
            castore
         2: .line 52
            return
        end local 1 // char c
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
            0    3     1     c  C
    MethodParameters:
      Name  Flags
      c     final

  public void ensure(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
        start local 1 // int ahead
         0: .line 58
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.end:I
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
            isub
            iload 1 /* ahead */
            iadd
            istore 2 /* len */
        start local 2 // int len
         1: .line 59
            iload 2 /* len */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
            arraylength
            if_icmplt 5
         2: .line 60
            iload 2 /* len */
            bipush 16
            iadd
            newarray 5
            astore 3 /* tmp */
        start local 3 // char[] tmp
         3: .line 61
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
            aload 3 /* tmp */
            iconst_0
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.end:I
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 62
            aload 0 /* this */
            aload 3 /* tmp */
            putfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
        end local 3 // char[] tmp
         5: .line 64
      StackMap locals: int
      StackMap stack:
            return
        end local 2 // int len
        end local 1 // int ahead
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
            0    6     1  ahead  I
            1    6     2    len  I
            3    5     3    tmp  [C
    MethodParameters:
       Name  Flags
      ahead  final

  private void modifyEnsure(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
        start local 1 // int ahead
         0: .line 69
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.isShared:()Z
            ifeq 9
         1: .line 70
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.end:I
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
            isub
            iload 1 /* ahead */
            iadd
            istore 2 /* len */
        start local 2 // int len
         2: .line 71
            iload 2 /* len */
            bipush 16
            iadd
            newarray 5
            astore 3 /* tmp */
        start local 3 // char[] tmp
         3: .line 72
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
            aload 3 /* tmp */
            iconst_0
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.end:I
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 73
            aload 0 /* this */
            aload 3 /* tmp */
            putfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
         5: .line 74
            aload 0 /* this */
            dup
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.end:I
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
            isub
            putfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.end:I
         6: .line 75
            aload 0 /* this */
            iconst_0
            putfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
         7: .line 76
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.clearShared:()V
        end local 3 // char[] tmp
        end local 2 // int len
         8: .line 77
            goto 10
         9: .line 78
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* ahead */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.ensure:(I)V
        10: .line 80
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int ahead
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
            0   11     1  ahead  I
            2    8     2    len  I
            3    8     3    tmp  [C
    MethodParameters:
       Name  Flags
      ahead  final

  public int getType();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
         0: .line 84
            iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
         0: .line 89
            ldc "String"
            areturn
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;

  public java.lang.String toString(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
        start local 1 // int level
         0: .line 94
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* value */
        start local 2 // java.lang.StringBuilder value
         1: .line 95
            aload 2 /* value */
            ldc "\n  bytes: '"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 96
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
            istore 3 /* i */
        start local 3 // int i
         3: goto 9
         4: .line 97
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
            iload 3 /* i */
            caload
            bipush 32
            if_icmplt 7
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
            iload 3 /* i */
            caload
            bipush 127
            if_icmpge 7
         5: .line 98
            aload 2 /* value */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
            iload 3 /* i */
            caload
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         6: .line 99
            goto 8
         7: .line 100
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            ldc "[0x%04x]"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
            iload 3 /* i */
            caload
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 96
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.end:I
            if_icmplt 4
        end local 3 // int i
        10: .line 103
            aload 2 /* value */
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 104
            aload 2 /* value */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder value
        end local 1 // int level
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
            0   12     1  level  I
            1   12     2  value  Ljava/lang/StringBuilder;
            3   10     3      i  I
    MethodParameters:
       Name  Flags
      level  final

  public int length();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
         0: .line 108
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.end:I
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
            isub
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;

  public jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode splitLastChar();
    descriptor: ()Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
         0: .line 112
            aconst_null
            astore 1 /* n */
        start local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode n
         1: .line 114
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.end:I
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
            if_icmple 7
         2: .line 115
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.end:I
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.prevCharHead:(II)I
            istore 2 /* prev */
        start local 2 // int prev
         3: .line 116
            iload 2 /* prev */
            iconst_m1
            if_icmpeq 7
            iload 2 /* prev */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
            if_icmple 7
         4: .line 117
            new jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
            dup
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
            iload 2 /* prev */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.end:I
            invokespecial jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.<init>:([CII)V
            astore 1 /* n */
         5: .line 118
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.isRaw:()Z
            ifeq 6
            aload 1 /* n */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.setRaw:()V
         6: .line 119
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* prev */
            putfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.end:I
        end local 2 // int prev
         7: .line 122
      StackMap locals:
      StackMap stack:
            aload 1 /* n */
            areturn
        end local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode n
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
            1    8     1     n  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
            3    7     2  prev  I

  public boolean canBeSplit();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
         0: .line 126
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.end:I
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
            if_icmple 1
            iconst_1
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.end:I
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
            isub
            if_icmpge 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;

  public void set(char[], int, int);
    descriptor: ([CII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
        start local 1 // char[] chars
        start local 2 // int p
        start local 3 // int end
         0: .line 130
            aload 0 /* this */
            aload 1 /* chars */
            putfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
         1: .line 131
            aload 0 /* this */
            iload 2 /* p */
            putfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
         2: .line 132
            aload 0 /* this */
            iload 3 /* end */
            putfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.end:I
         3: .line 133
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.setShared:()V
         4: .line 134
            return
        end local 3 // int end
        end local 2 // int p
        end local 1 // char[] chars
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
            0    5     1  chars  [C
            0    5     2      p  I
            0    5     3    end  I
    MethodParameters:
       Name  Flags
      chars  final
      p      final
      end    final

  public void cat(char[], int, int);
    descriptor: ([CII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
        start local 1 // char[] cat
        start local 2 // int catP
        start local 3 // int catEnd
         0: .line 137
            iload 3 /* catEnd */
            iload 2 /* catP */
            isub
            istore 4 /* len */
        start local 4 // int len
         1: .line 138
            aload 0 /* this */
            iload 4 /* len */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.modifyEnsure:(I)V
         2: .line 139
            aload 1 /* cat */
            iload 2 /* catP */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.end:I
            iload 4 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 140
            aload 0 /* this */
            dup
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.end:I
            iload 4 /* len */
            iadd
            putfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.end:I
         4: .line 141
            return
        end local 4 // int len
        end local 3 // int catEnd
        end local 2 // int catP
        end local 1 // char[] cat
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
            0    5     1     cat  [C
            0    5     2    catP  I
            0    5     3  catEnd  I
            1    5     4     len  I
    MethodParameters:
        Name  Flags
      cat     final
      catP    final
      catEnd  final

  public void cat(char);
    descriptor: (C)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
        start local 1 // char c
         0: .line 144
            aload 0 /* this */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.modifyEnsure:(I)V
         1: .line 145
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
            aload 0 /* this */
            dup
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.end:I
            dup_x1
            iconst_1
            iadd
            putfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.end:I
            iload 1 /* c */
            castore
         2: .line 146
            return
        end local 1 // char c
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
            0    3     1     c  C
    MethodParameters:
      Name  Flags
      c     final

  public void catCode(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
        start local 1 // int code
         0: .line 149
            aload 0 /* this */
            iload 1 /* code */
            i2c
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.cat:(C)V
         1: .line 150
            return
        end local 1 // int code
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
            0    2     1  code  I
    MethodParameters:
      Name  Flags
      code  final

  public void clear();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
         0: .line 153
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
            arraylength
            bipush 24
            if_icmple 1
            aload 0 /* this */
            bipush 24
            newarray 5
            putfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
         1: .line 154
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.flag:I
         2: .line 155
            aload 0 /* this */
            aload 0 /* this */
            iconst_0
            dup_x1
            putfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.end:I
            putfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
         3: .line 156
            return
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;

  public void setRaw();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
         0: .line 159
            aload 0 /* this */
            dup
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.flag:I
            iconst_1
            ior
            putfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.flag:I
         1: .line 160
            return
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;

  public void clearRaw();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
         0: .line 163
            aload 0 /* this */
            dup
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.flag:I
            bipush -2
            iand
            putfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.flag:I
         1: .line 164
            return
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;

  public boolean isRaw();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
         0: .line 167
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.flag:I
            iconst_1
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;

  public void setAmbig();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
         0: .line 171
            aload 0 /* this */
            dup
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.flag:I
            iconst_2
            ior
            putfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.flag:I
         1: .line 172
            return
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;

  public void clearAmbig();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
         0: .line 175
            aload 0 /* this */
            dup
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.flag:I
            bipush -3
            iand
            putfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.flag:I
         1: .line 176
            return
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;

  public boolean isAmbig();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
         0: .line 179
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.flag:I
            iconst_2
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;

  public void setDontGetOptInfo();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
         0: .line 183
            aload 0 /* this */
            dup
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.flag:I
            iconst_4
            ior
            putfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.flag:I
         1: .line 184
            return
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;

  public void clearDontGetOptInfo();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
         0: .line 187
            aload 0 /* this */
            dup
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.flag:I
            bipush -5
            iand
            putfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.flag:I
         1: .line 188
            return
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;

  public boolean isDontGetOptInfo();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
         0: .line 191
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.flag:I
            iconst_4
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;

  public void setShared();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
         0: .line 195
            aload 0 /* this */
            dup
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.flag:I
            bipush 8
            ior
            putfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.flag:I
         1: .line 196
            return
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;

  public void clearShared();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
         0: .line 199
            aload 0 /* this */
            dup
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.flag:I
            bipush -9
            iand
            putfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.flag:I
         1: .line 200
            return
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;

  public boolean isShared();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
         0: .line 203
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.flag:I
            bipush 8
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
}
SourceFile: "StringNode.java"