class org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockFormattingPrefixSuffix implements org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockContext
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockFormattingPrefixSuffix
  super_class: java.lang.Object
{
  private java.lang.String prefix;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String suffix;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private int start;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  final org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter this$0;
    descriptor: Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  public void <init>(org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter, java.lang.String, java.lang.String, int);
    descriptor: (Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;Ljava/lang/String;Ljava/lang/String;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockFormattingPrefixSuffix this
        start local 2 // java.lang.String prefix
        start local 3 // java.lang.String suffix
        start local 4 // int start
         0: .line 522
            aload 0 /* this */
            aload 1
            putfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockFormattingPrefixSuffix.this$0:Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 523
            aload 0 /* this */
            iload 4 /* start */
            putfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockFormattingPrefixSuffix.start:I
         2: .line 524
            aload 0 /* this */
            aload 3 /* suffix */
            putfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockFormattingPrefixSuffix.suffix:Ljava/lang/String;
         3: .line 525
            aload 0 /* this */
            aload 2 /* prefix */
            putfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockFormattingPrefixSuffix.prefix:Ljava/lang/String;
         4: .line 526
            return
        end local 4 // int start
        end local 3 // java.lang.String suffix
        end local 2 // java.lang.String prefix
        end local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockFormattingPrefixSuffix this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$BlockFormattingPrefixSuffix;
            0    5     2  prefix  Ljava/lang/String;
            0    5     3  suffix  Ljava/lang/String;
            0    5     4   start  I
    MethodParameters:
        Name  Flags
      this$0  final
      prefix  
      suffix  
      start   

  public java.lang.String[] getPrefixAndSuffix(int, org.eclipse.jdt.core.dom.ASTNode, org.eclipse.jdt.internal.core.dom.rewrite.RewriteEventStore);
    descriptor: (ILorg/eclipse/jdt/core/dom/ASTNode;Lorg/eclipse/jdt/internal/core/dom/rewrite/RewriteEventStore;)[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=11, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockFormattingPrefixSuffix this
        start local 1 // int indent
        start local 2 // org.eclipse.jdt.core.dom.ASTNode node
        start local 3 // org.eclipse.jdt.internal.core.dom.rewrite.RewriteEventStore events
         0: .line 530
            aload 2 /* node */
            aload 3 /* events */
            invokestatic org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFlattener.asString:(Lorg/eclipse/jdt/core/dom/ASTNode;Lorg/eclipse/jdt/internal/core/dom/rewrite/RewriteEventStore;)Ljava/lang/String;
            astore 4 /* nodeString */
        start local 4 // java.lang.String nodeString
         1: .line 531
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockFormattingPrefixSuffix.prefix:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            istore 5 /* nodeStart */
        start local 5 // int nodeStart
         2: .line 532
            iload 5 /* nodeStart */
            aload 4 /* nodeString */
            invokevirtual java.lang.String.length:()I
            iadd
            iconst_1
            isub
            istore 6 /* nodeEnd */
        start local 6 // int nodeEnd
         3: .line 534
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockFormattingPrefixSuffix.prefix:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* nodeString */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockFormattingPrefixSuffix.suffix:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* str */
        start local 7 // java.lang.String str
         4: .line 536
            new org.eclipse.jface.text.Position
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockFormattingPrefixSuffix.start:I
            iload 5 /* nodeStart */
            iconst_1
            iadd
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockFormattingPrefixSuffix.start:I
            isub
            invokespecial org.eclipse.jface.text.Position.<init>:(II)V
            astore 8 /* pos1 */
        start local 8 // org.eclipse.jface.text.Position pos1
         5: .line 537
            new org.eclipse.jface.text.Position
            dup
            iload 6 /* nodeEnd */
            iconst_2
            invokespecial org.eclipse.jface.text.Position.<init>:(II)V
            astore 9 /* pos2 */
        start local 9 // org.eclipse.jface.text.Position pos2
         6: .line 539
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockFormattingPrefixSuffix.this$0:Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;
            iconst_2
            aload 7 /* str */
            iconst_0
            aload 7 /* str */
            invokevirtual java.lang.String.length:()I
            iload 1 /* indent */
            invokevirtual org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.formatString:(ILjava/lang/String;III)Lorg/eclipse/text/edits/TextEdit;
            astore 10 /* res */
        start local 10 // org.eclipse.text.edits.TextEdit res
         7: .line 540
            aload 10 /* res */
            ifnull 9
         8: .line 541
            aload 7 /* str */
            aload 10 /* res */
            iconst_2
            anewarray org.eclipse.jface.text.Position
            dup
            iconst_0
            aload 8 /* pos1 */
            aastore
            dup
            iconst_1
            aload 9 /* pos2 */
            aastore
            invokestatic org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.evaluateFormatterEdit:(Ljava/lang/String;Lorg/eclipse/text/edits/TextEdit;[Lorg/eclipse/jface/text/Position;)Ljava/lang/String;
            astore 7 /* str */
         9: .line 543
      StackMap locals: org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockFormattingPrefixSuffix int org.eclipse.jdt.core.dom.ASTNode org.eclipse.jdt.internal.core.dom.rewrite.RewriteEventStore java.lang.String int int java.lang.String org.eclipse.jface.text.Position org.eclipse.jface.text.Position org.eclipse.text.edits.TextEdit
      StackMap stack:
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        10: .line 544
            aload 7 /* str */
            aload 8 /* pos1 */
            getfield org.eclipse.jface.text.Position.offset:I
            iconst_1
            iadd
            aload 8 /* pos1 */
            getfield org.eclipse.jface.text.Position.offset:I
            aload 8 /* pos1 */
            getfield org.eclipse.jface.text.Position.length:I
            iadd
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            aastore
            dup
            iconst_1
        11: .line 545
            aload 7 /* str */
            aload 9 /* pos2 */
            getfield org.eclipse.jface.text.Position.offset:I
            iconst_1
            iadd
            aload 9 /* pos2 */
            getfield org.eclipse.jface.text.Position.offset:I
            aload 9 /* pos2 */
            getfield org.eclipse.jface.text.Position.length:I
            iadd
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            aastore
        12: .line 543
            areturn
        end local 10 // org.eclipse.text.edits.TextEdit res
        end local 9 // org.eclipse.jface.text.Position pos2
        end local 8 // org.eclipse.jface.text.Position pos1
        end local 7 // java.lang.String str
        end local 6 // int nodeEnd
        end local 5 // int nodeStart
        end local 4 // java.lang.String nodeString
        end local 3 // org.eclipse.jdt.internal.core.dom.rewrite.RewriteEventStore events
        end local 2 // org.eclipse.jdt.core.dom.ASTNode node
        end local 1 // int indent
        end local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockFormattingPrefixSuffix this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0        this  Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$BlockFormattingPrefixSuffix;
            0   13     1      indent  I
            0   13     2        node  Lorg/eclipse/jdt/core/dom/ASTNode;
            0   13     3      events  Lorg/eclipse/jdt/internal/core/dom/rewrite/RewriteEventStore;
            1   13     4  nodeString  Ljava/lang/String;
            2   13     5   nodeStart  I
            3   13     6     nodeEnd  I
            4   13     7         str  Ljava/lang/String;
            5   13     8        pos1  Lorg/eclipse/jface/text/Position;
            6   13     9        pos2  Lorg/eclipse/jface/text/Position;
            7   13    10         res  Lorg/eclipse/text/edits/TextEdit;
    MethodParameters:
        Name  Flags
      indent  
      node    
      events  
}
SourceFile: "ASTRewriteFormatter.java"
NestHost: org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter
InnerClasses:
  public abstract BlockContext = org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockContext of org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter
  private BlockFormattingPrefixSuffix = org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockFormattingPrefixSuffix of org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter