public class org.eclipse.jdt.internal.compiler.ast.StringLiteral extends org.eclipse.jdt.internal.compiler.ast.Literal
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.compiler.ast.StringLiteral
  super_class: org.eclipse.jdt.internal.compiler.ast.Literal
{
  char[] source;
    descriptor: [C
    flags: (0x0000) 

  int lineNumber;
    descriptor: I
    flags: (0x0000) 

  public void <init>(char[], int, int, int);
    descriptor: ([CIII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.eclipse.jdt.internal.compiler.ast.StringLiteral this
        start local 1 // char[] token
        start local 2 // int start
        start local 3 // int end
        start local 4 // int lineNumber
         0: .line 30
            aload 0 /* this */
            iload 2 /* start */
            iload 3 /* end */
            invokespecial org.eclipse.jdt.internal.compiler.ast.StringLiteral.<init>:(II)V
         1: .line 31
            aload 0 /* this */
            aload 1 /* token */
            putfield org.eclipse.jdt.internal.compiler.ast.StringLiteral.source:[C
         2: .line 32
            aload 0 /* this */
            iload 4 /* lineNumber */
            iconst_1
            isub
            putfield org.eclipse.jdt.internal.compiler.ast.StringLiteral.lineNumber:I
         3: .line 33
            return
        end local 4 // int lineNumber
        end local 3 // int end
        end local 2 // int start
        end local 1 // char[] token
        end local 0 // org.eclipse.jdt.internal.compiler.ast.StringLiteral this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/eclipse/jdt/internal/compiler/ast/StringLiteral;
            0    4     1       token  [C
            0    4     2       start  I
            0    4     3         end  I
            0    4     4  lineNumber  I
    MethodParameters:
            Name  Flags
      token       
      start       
      end         
      lineNumber  

  public void <init>(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.StringLiteral this
        start local 1 // int s
        start local 2 // int e
         0: .line 37
            aload 0 /* this */
            iload 1 /* s */
            iload 2 /* e */
            invokespecial org.eclipse.jdt.internal.compiler.ast.Literal.<init>:(II)V
         1: .line 38
            return
        end local 2 // int e
        end local 1 // int s
        end local 0 // org.eclipse.jdt.internal.compiler.ast.StringLiteral this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/compiler/ast/StringLiteral;
            0    2     1     s  I
            0    2     2     e  I
    MethodParameters:
      Name  Flags
      s     
      e     

  public void computeConstant();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.StringLiteral this
         0: .line 43
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.StringLiteral.source:[C
            invokestatic java.lang.String.valueOf:([C)Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.compiler.impl.StringConstant.fromValue:(Ljava/lang/String;)Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            putfield org.eclipse.jdt.internal.compiler.ast.StringLiteral.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
         1: .line 44
            return
        end local 0 // org.eclipse.jdt.internal.compiler.ast.StringLiteral this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/compiler/ast/StringLiteral;

  public org.eclipse.jdt.internal.compiler.ast.ExtendedStringLiteral extendWith(org.eclipse.jdt.internal.compiler.ast.CharLiteral);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/ast/CharLiteral;)Lorg/eclipse/jdt/internal/compiler/ast/ExtendedStringLiteral;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.ast.StringLiteral this
        start local 1 // org.eclipse.jdt.internal.compiler.ast.CharLiteral lit
         0: .line 49
            new org.eclipse.jdt.internal.compiler.ast.ExtendedStringLiteral
            dup
            aload 0 /* this */
            aload 1 /* lit */
            invokespecial org.eclipse.jdt.internal.compiler.ast.ExtendedStringLiteral.<init>:(Lorg/eclipse/jdt/internal/compiler/ast/StringLiteral;Lorg/eclipse/jdt/internal/compiler/ast/CharLiteral;)V
            areturn
        end local 1 // org.eclipse.jdt.internal.compiler.ast.CharLiteral lit
        end local 0 // org.eclipse.jdt.internal.compiler.ast.StringLiteral this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/ast/StringLiteral;
            0    1     1   lit  Lorg/eclipse/jdt/internal/compiler/ast/CharLiteral;
    MethodParameters:
      Name  Flags
      lit   

  public org.eclipse.jdt.internal.compiler.ast.ExtendedStringLiteral extendWith(org.eclipse.jdt.internal.compiler.ast.StringLiteral);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/ast/StringLiteral;)Lorg/eclipse/jdt/internal/compiler/ast/ExtendedStringLiteral;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.ast.StringLiteral this
        start local 1 // org.eclipse.jdt.internal.compiler.ast.StringLiteral lit
         0: .line 55
            new org.eclipse.jdt.internal.compiler.ast.ExtendedStringLiteral
            dup
            aload 0 /* this */
            aload 1 /* lit */
            invokespecial org.eclipse.jdt.internal.compiler.ast.ExtendedStringLiteral.<init>:(Lorg/eclipse/jdt/internal/compiler/ast/StringLiteral;Lorg/eclipse/jdt/internal/compiler/ast/StringLiteral;)V
            areturn
        end local 1 // org.eclipse.jdt.internal.compiler.ast.StringLiteral lit
        end local 0 // org.eclipse.jdt.internal.compiler.ast.StringLiteral this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/ast/StringLiteral;
            0    1     1   lit  Lorg/eclipse/jdt/internal/compiler/ast/StringLiteral;
    MethodParameters:
      Name  Flags
      lit   

  public org.eclipse.jdt.internal.compiler.ast.StringLiteralConcatenation extendsWith(org.eclipse.jdt.internal.compiler.ast.StringLiteral);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/ast/StringLiteral;)Lorg/eclipse/jdt/internal/compiler/ast/StringLiteralConcatenation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.ast.StringLiteral this
        start local 1 // org.eclipse.jdt.internal.compiler.ast.StringLiteral lit
         0: .line 62
            new org.eclipse.jdt.internal.compiler.ast.StringLiteralConcatenation
            dup
            aload 0 /* this */
            aload 1 /* lit */
            invokespecial org.eclipse.jdt.internal.compiler.ast.StringLiteralConcatenation.<init>:(Lorg/eclipse/jdt/internal/compiler/ast/StringLiteral;Lorg/eclipse/jdt/internal/compiler/ast/StringLiteral;)V
            areturn
        end local 1 // org.eclipse.jdt.internal.compiler.ast.StringLiteral lit
        end local 0 // org.eclipse.jdt.internal.compiler.ast.StringLiteral this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/ast/StringLiteral;
            0    1     1   lit  Lorg/eclipse/jdt/internal/compiler/ast/StringLiteral;
    MethodParameters:
      Name  Flags
      lit   

  public void generateCode(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.codegen.CodeStream, boolean);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.ast.StringLiteral this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        start local 2 // org.eclipse.jdt.internal.compiler.codegen.CodeStream codeStream
        start local 3 // boolean valueRequired
         0: .line 70
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            istore 4 /* pc */
        start local 4 // int pc
         1: .line 71
            iload 3 /* valueRequired */
            ifeq 3
         2: .line 72
            aload 2 /* codeStream */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.StringLiteral.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.stringValue:()Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ldc:(Ljava/lang/String;)V
         3: .line 73
      StackMap locals: int
      StackMap stack:
            aload 2 /* codeStream */
            iload 4 /* pc */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.StringLiteral.sourceStart:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
         4: .line 74
            return
        end local 4 // int pc
        end local 3 // boolean valueRequired
        end local 2 // org.eclipse.jdt.internal.compiler.codegen.CodeStream codeStream
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.StringLiteral this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lorg/eclipse/jdt/internal/compiler/ast/StringLiteral;
            0    5     1   currentScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0    5     2     codeStream  Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
            0    5     3  valueRequired  Z
            1    5     4             pc  I
    MethodParameters:
               Name  Flags
      currentScope   
      codeStream     
      valueRequired  

  public org.eclipse.jdt.internal.compiler.lookup.TypeBinding literalType(org.eclipse.jdt.internal.compiler.lookup.BlockScope);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.ast.StringLiteral this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
         0: .line 79
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.getJavaLangString:()Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            areturn
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.StringLiteral this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/eclipse/jdt/internal/compiler/ast/StringLiteral;
            0    1     1  scope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
    MethodParameters:
       Name  Flags
      scope  

  public java.lang.StringBuffer printExpression(int, java.lang.StringBuffer);
    descriptor: (ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.StringLiteral this
        start local 1 // int indent
        start local 2 // java.lang.StringBuffer output
         0: .line 86
            aload 2 /* output */
            bipush 34
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         1: .line 87
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 5
         3: .line 88
      StackMap locals: int
      StackMap stack:
            aload 2 /* output */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.StringLiteral.source:[C
            iload 3 /* i */
            caload
            iconst_1
            invokestatic org.eclipse.jdt.internal.compiler.util.Util.appendEscapedChar:(Ljava/lang/StringBuffer;CZ)V
         4: .line 87
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.StringLiteral.source:[C
            arraylength
            if_icmplt 3
        end local 3 // int i
         6: .line 90
            aload 2 /* output */
            bipush 34
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         7: .line 91
            aload 2 /* output */
            areturn
        end local 2 // java.lang.StringBuffer output
        end local 1 // int indent
        end local 0 // org.eclipse.jdt.internal.compiler.ast.StringLiteral this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/eclipse/jdt/internal/compiler/ast/StringLiteral;
            0    8     1  indent  I
            0    8     2  output  Ljava/lang/StringBuffer;
            2    6     3       i  I
    MethodParameters:
        Name  Flags
      indent  
      output  

  public char[] source();
    descriptor: ()[C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.StringLiteral this
         0: .line 97
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.StringLiteral.source:[C
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.ast.StringLiteral this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/ast/StringLiteral;

  public void traverse(org.eclipse.jdt.internal.compiler.ASTVisitor, org.eclipse.jdt.internal.compiler.lookup.BlockScope);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/ASTVisitor;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.StringLiteral this
        start local 1 // org.eclipse.jdt.internal.compiler.ASTVisitor visitor
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
         0: .line 102
            aload 1 /* visitor */
            aload 0 /* this */
            aload 2 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.ASTVisitor.visit:(Lorg/eclipse/jdt/internal/compiler/ast/StringLiteral;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)Z
            pop
         1: .line 103
            aload 1 /* visitor */
            aload 0 /* this */
            aload 2 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit:(Lorg/eclipse/jdt/internal/compiler/ast/StringLiteral;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
         2: .line 104
            return
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
        end local 1 // org.eclipse.jdt.internal.compiler.ASTVisitor visitor
        end local 0 // org.eclipse.jdt.internal.compiler.ast.StringLiteral this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/eclipse/jdt/internal/compiler/ast/StringLiteral;
            0    3     1  visitor  Lorg/eclipse/jdt/internal/compiler/ASTVisitor;
            0    3     2    scope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
    MethodParameters:
         Name  Flags
      visitor  
      scope    
}
SourceFile: "StringLiteral.java"