public class org.eclipse.jdt.internal.compiler.ast.StringLiteralConcatenation extends org.eclipse.jdt.internal.compiler.ast.StringLiteral
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.compiler.ast.StringLiteralConcatenation
  super_class: org.eclipse.jdt.internal.compiler.ast.StringLiteral
{
  private static final int INITIAL_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  public org.eclipse.jdt.internal.compiler.ast.Expression[] literals;
    descriptor: [Lorg/eclipse/jdt/internal/compiler/ast/Expression;
    flags: (0x0001) ACC_PUBLIC

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

  public void <init>(org.eclipse.jdt.internal.compiler.ast.StringLiteral, org.eclipse.jdt.internal.compiler.ast.StringLiteral);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/ast/StringLiteral;Lorg/eclipse/jdt/internal/compiler/ast/StringLiteral;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.StringLiteralConcatenation this
        start local 1 // org.eclipse.jdt.internal.compiler.ast.StringLiteral str1
        start local 2 // org.eclipse.jdt.internal.compiler.ast.StringLiteral str2
         0: .line 30
            aload 0 /* this */
            aload 1 /* str1 */
            getfield org.eclipse.jdt.internal.compiler.ast.StringLiteral.sourceStart:I
            aload 1 /* str1 */
            getfield org.eclipse.jdt.internal.compiler.ast.StringLiteral.sourceEnd:I
            invokespecial org.eclipse.jdt.internal.compiler.ast.StringLiteral.<init>:(II)V
         1: .line 31
            aload 0 /* this */
            aload 1 /* str1 */
            getfield org.eclipse.jdt.internal.compiler.ast.StringLiteral.source:[C
            putfield org.eclipse.jdt.internal.compiler.ast.StringLiteralConcatenation.source:[C
         2: .line 32
            aload 0 /* this */
            iconst_5
            anewarray org.eclipse.jdt.internal.compiler.ast.StringLiteral
            putfield org.eclipse.jdt.internal.compiler.ast.StringLiteralConcatenation.literals:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
         3: .line 33
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.ast.StringLiteralConcatenation.counter:I
         4: .line 34
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.StringLiteralConcatenation.literals:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.compiler.ast.StringLiteralConcatenation.counter:I
            dup_x1
            iconst_1
            iadd
            putfield org.eclipse.jdt.internal.compiler.ast.StringLiteralConcatenation.counter:I
            aload 1 /* str1 */
            aastore
         5: .line 35
            aload 0 /* this */
            aload 2 /* str2 */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.StringLiteralConcatenation.extendsWith:(Lorg/eclipse/jdt/internal/compiler/ast/StringLiteral;)Lorg/eclipse/jdt/internal/compiler/ast/StringLiteralConcatenation;
            pop
         6: .line 36
            return
        end local 2 // org.eclipse.jdt.internal.compiler.ast.StringLiteral str2
        end local 1 // org.eclipse.jdt.internal.compiler.ast.StringLiteral str1
        end local 0 // org.eclipse.jdt.internal.compiler.ast.StringLiteralConcatenation this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/eclipse/jdt/internal/compiler/ast/StringLiteralConcatenation;
            0    7     1  str1  Lorg/eclipse/jdt/internal/compiler/ast/StringLiteral;
            0    7     2  str2  Lorg/eclipse/jdt/internal/compiler/ast/StringLiteral;
    MethodParameters:
      Name  Flags
      str1  
      str2  

  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=5, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.ast.StringLiteralConcatenation this
        start local 1 // org.eclipse.jdt.internal.compiler.ast.StringLiteral lit
         0: .line 43
            aload 0 /* this */
            aload 1 /* lit */
            getfield org.eclipse.jdt.internal.compiler.ast.StringLiteral.sourceEnd:I
            putfield org.eclipse.jdt.internal.compiler.ast.StringLiteralConcatenation.sourceEnd:I
         1: .line 44
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.StringLiteralConcatenation.literals:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            arraylength
            istore 2 /* literalsLength */
        start local 2 // int literalsLength
         2: .line 45
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.StringLiteralConcatenation.counter:I
            iload 2 /* literalsLength */
            if_icmpne 4
         3: .line 47
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.StringLiteralConcatenation.literals:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            iconst_0
            aload 0 /* this */
            iload 2 /* literalsLength */
            iconst_5
            iadd
            anewarray org.eclipse.jdt.internal.compiler.ast.StringLiteral
            dup_x1
            putfield org.eclipse.jdt.internal.compiler.ast.StringLiteralConcatenation.literals:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            iconst_0
            iload 2 /* literalsLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 50
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.StringLiteralConcatenation.source:[C
            arraylength
            istore 3 /* length */
        start local 3 // int length
         5: .line 52
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.StringLiteralConcatenation.source:[C
         6: .line 53
            iconst_0
         7: .line 54
            aload 0 /* this */
            iload 3 /* length */
            aload 1 /* lit */
            getfield org.eclipse.jdt.internal.compiler.ast.StringLiteral.source:[C
            arraylength
            iadd
            newarray 5
            dup_x1
            putfield org.eclipse.jdt.internal.compiler.ast.StringLiteralConcatenation.source:[C
         8: .line 55
            iconst_0
         9: .line 56
            iload 3 /* length */
        10: .line 51
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        11: .line 57
            aload 1 /* lit */
            getfield org.eclipse.jdt.internal.compiler.ast.StringLiteral.source:[C
            iconst_0
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.StringLiteralConcatenation.source:[C
            iload 3 /* length */
            aload 1 /* lit */
            getfield org.eclipse.jdt.internal.compiler.ast.StringLiteral.source:[C
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        12: .line 58
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.StringLiteralConcatenation.literals:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.compiler.ast.StringLiteralConcatenation.counter:I
            dup_x1
            iconst_1
            iadd
            putfield org.eclipse.jdt.internal.compiler.ast.StringLiteralConcatenation.counter:I
            aload 1 /* lit */
            aastore
        13: .line 59
            aload 0 /* this */
            areturn
        end local 3 // int length
        end local 2 // int literalsLength
        end local 1 // org.eclipse.jdt.internal.compiler.ast.StringLiteral lit
        end local 0 // org.eclipse.jdt.internal.compiler.ast.StringLiteralConcatenation this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0            this  Lorg/eclipse/jdt/internal/compiler/ast/StringLiteralConcatenation;
            0   14     1             lit  Lorg/eclipse/jdt/internal/compiler/ast/StringLiteral;
            2   14     2  literalsLength  I
            5   14     3          length  I
    MethodParameters:
      Name  Flags
      lit   

  public java.lang.StringBuffer printExpression(int, java.lang.StringBuffer);
    descriptor: (ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.StringLiteralConcatenation this
        start local 1 // int indent
        start local 2 // java.lang.StringBuffer output
         0: .line 64
            aload 2 /* output */
            ldc "StringLiteralConcatenation{"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         1: .line 65
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.StringLiteralConcatenation.counter:I
            istore 4 /* max */
        start local 4 // int max
         3: goto 7
         4: .line 66
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.StringLiteralConcatenation.literals:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            iload 3 /* i */
            aaload
            iload 1 /* indent */
            aload 2 /* output */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.printExpression:(ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
            pop
         5: .line 67
            aload 2 /* output */
            ldc "+\n"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         6: .line 65
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            iload 4 /* max */
            if_icmplt 4
        end local 4 // int max
        end local 3 // int i
         8: .line 69
            aload 2 /* output */
            bipush 125
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            areturn
        end local 2 // java.lang.StringBuffer output
        end local 1 // int indent
        end local 0 // org.eclipse.jdt.internal.compiler.ast.StringLiteralConcatenation this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lorg/eclipse/jdt/internal/compiler/ast/StringLiteralConcatenation;
            0    9     1  indent  I
            0    9     2  output  Ljava/lang/StringBuffer;
            2    8     3       i  I
            3    8     4     max  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.StringLiteralConcatenation this
         0: .line 74
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.StringLiteralConcatenation.source:[C
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.ast.StringLiteralConcatenation this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/ast/StringLiteralConcatenation;

  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=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.StringLiteralConcatenation this
        start local 1 // org.eclipse.jdt.internal.compiler.ASTVisitor visitor
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
         0: .line 79
            aload 1 /* visitor */
            aload 0 /* this */
            aload 2 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.ASTVisitor.visit:(Lorg/eclipse/jdt/internal/compiler/ast/StringLiteralConcatenation;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)Z
            ifeq 7
         1: .line 80
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.StringLiteralConcatenation.counter:I
            istore 4 /* max */
        start local 4 // int max
         3: goto 6
         4: .line 81
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.StringLiteralConcatenation.literals:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            iload 3 /* i */
            aaload
            aload 1 /* visitor */
            aload 2 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.traverse:(Lorg/eclipse/jdt/internal/compiler/ASTVisitor;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
         5: .line 80
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            iload 4 /* max */
            if_icmplt 4
        end local 4 // int max
        end local 3 // int i
         7: .line 84
      StackMap locals:
      StackMap stack:
            aload 1 /* visitor */
            aload 0 /* this */
            aload 2 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit:(Lorg/eclipse/jdt/internal/compiler/ast/StringLiteralConcatenation;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
         8: .line 85
            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.StringLiteralConcatenation this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/eclipse/jdt/internal/compiler/ast/StringLiteralConcatenation;
            0    9     1  visitor  Lorg/eclipse/jdt/internal/compiler/ASTVisitor;
            0    9     2    scope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            2    7     3        i  I
            3    7     4      max  I
    MethodParameters:
         Name  Flags
      visitor  
      scope    
}
SourceFile: "StringLiteralConcatenation.java"