class org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener extends org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFlattener
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener
  super_class: org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFlattener
{
  private java.util.ArrayList positions;
    descriptor: Ljava/util/ArrayList;
    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, org.eclipse.jdt.internal.core.dom.rewrite.RewriteEventStore);
    descriptor: (Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;Lorg/eclipse/jdt/internal/core/dom/rewrite/RewriteEventStore;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener this
        start local 2 // org.eclipse.jdt.internal.core.dom.rewrite.RewriteEventStore store
         0: .line 57
            aload 0 /* this */
            aload 1
            putfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener.this$0:Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;
         1: .line 58
            aload 0 /* this */
            aload 2 /* store */
            invokespecial org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFlattener.<init>:(Lorg/eclipse/jdt/internal/core/dom/rewrite/RewriteEventStore;)V
         2: .line 59
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener.positions:Ljava/util/ArrayList;
         3: .line 60
            return
        end local 2 // org.eclipse.jdt.internal.core.dom.rewrite.RewriteEventStore store
        end local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$ExtendedFlattener;
            0    4     2  store  Lorg/eclipse/jdt/internal/core/dom/rewrite/RewriteEventStore;
    MethodParameters:
        Name  Flags
      this$0  final
      store   

  public void preVisit(org.eclipse.jdt.core.dom.ASTNode);
    descriptor: (Lorg/eclipse/jdt/core/dom/ASTNode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener this
        start local 1 // org.eclipse.jdt.core.dom.ASTNode node
         0: .line 64
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener.this$0:Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;
            invokevirtual org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.getEventStore:()Lorg/eclipse/jdt/internal/core/dom/rewrite/RewriteEventStore;
            aload 1 /* node */
            invokevirtual org.eclipse.jdt.internal.core.dom.rewrite.RewriteEventStore.getTrackedNodeData:(Lorg/eclipse/jdt/core/dom/ASTNode;)Lorg/eclipse/text/edits/TextEditGroup;
            astore 2 /* trackData */
        start local 2 // java.lang.Object trackData
         1: .line 65
            aload 2 /* trackData */
            ifnull 3
         2: .line 66
            aload 0 /* this */
            aload 2 /* trackData */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener.result:Ljava/lang/StringBuffer;
            invokevirtual java.lang.StringBuffer.length:()I
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener.addMarker:(Ljava/lang/Object;II)Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$NodeMarker;
            pop
         3: .line 68
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener.this$0:Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;
            invokevirtual org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.getPlaceholders:()Lorg/eclipse/jdt/internal/core/dom/rewrite/NodeInfoStore;
            aload 1 /* node */
            invokevirtual org.eclipse.jdt.internal.core.dom.rewrite.NodeInfoStore.getPlaceholderData:(Lorg/eclipse/jdt/core/dom/ASTNode;)Ljava/lang/Object;
            astore 3 /* placeholderData */
        start local 3 // java.lang.Object placeholderData
         4: .line 69
            aload 3 /* placeholderData */
            ifnull 6
         5: .line 70
            aload 0 /* this */
            aload 3 /* placeholderData */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener.result:Ljava/lang/StringBuffer;
            invokevirtual java.lang.StringBuffer.length:()I
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener.addMarker:(Ljava/lang/Object;II)Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$NodeMarker;
            pop
         6: .line 72
      StackMap locals: java.lang.Object
      StackMap stack:
            return
        end local 3 // java.lang.Object placeholderData
        end local 2 // java.lang.Object trackData
        end local 1 // org.eclipse.jdt.core.dom.ASTNode node
        end local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0             this  Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$ExtendedFlattener;
            0    7     1             node  Lorg/eclipse/jdt/core/dom/ASTNode;
            1    7     2        trackData  Ljava/lang/Object;
            4    7     3  placeholderData  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      node  

  public void postVisit(org.eclipse.jdt.core.dom.ASTNode);
    descriptor: (Lorg/eclipse/jdt/core/dom/ASTNode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener this
        start local 1 // org.eclipse.jdt.core.dom.ASTNode node
         0: .line 76
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener.this$0:Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;
            invokevirtual org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.getPlaceholders:()Lorg/eclipse/jdt/internal/core/dom/rewrite/NodeInfoStore;
            aload 1 /* node */
            invokevirtual org.eclipse.jdt.internal.core.dom.rewrite.NodeInfoStore.getPlaceholderData:(Lorg/eclipse/jdt/core/dom/ASTNode;)Ljava/lang/Object;
            astore 2 /* placeholderData */
        start local 2 // java.lang.Object placeholderData
         1: .line 77
            aload 2 /* placeholderData */
            ifnull 3
         2: .line 78
            aload 0 /* this */
            aload 2 /* placeholderData */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener.result:Ljava/lang/StringBuffer;
            invokevirtual java.lang.StringBuffer.length:()I
            invokevirtual org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener.fixupLength:(Ljava/lang/Object;I)V
         3: .line 80
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener.this$0:Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;
            invokevirtual org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.getEventStore:()Lorg/eclipse/jdt/internal/core/dom/rewrite/RewriteEventStore;
            aload 1 /* node */
            invokevirtual org.eclipse.jdt.internal.core.dom.rewrite.RewriteEventStore.getTrackedNodeData:(Lorg/eclipse/jdt/core/dom/ASTNode;)Lorg/eclipse/text/edits/TextEditGroup;
            astore 3 /* trackData */
        start local 3 // java.lang.Object trackData
         4: .line 81
            aload 3 /* trackData */
            ifnull 6
         5: .line 82
            aload 0 /* this */
            aload 3 /* trackData */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener.result:Ljava/lang/StringBuffer;
            invokevirtual java.lang.StringBuffer.length:()I
            invokevirtual org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener.fixupLength:(Ljava/lang/Object;I)V
         6: .line 84
      StackMap locals: java.lang.Object
      StackMap stack:
            return
        end local 3 // java.lang.Object trackData
        end local 2 // java.lang.Object placeholderData
        end local 1 // org.eclipse.jdt.core.dom.ASTNode node
        end local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0             this  Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$ExtendedFlattener;
            0    7     1             node  Lorg/eclipse/jdt/core/dom/ASTNode;
            1    7     2  placeholderData  Ljava/lang/Object;
            4    7     3        trackData  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      node  

  public boolean visit(org.eclipse.jdt.core.dom.Block);
    descriptor: (Lorg/eclipse/jdt/core/dom/Block;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener this
        start local 1 // org.eclipse.jdt.core.dom.Block node
         0: .line 88
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener.this$0:Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;
            invokevirtual org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.getPlaceholders:()Lorg/eclipse/jdt/internal/core/dom/rewrite/NodeInfoStore;
            aload 1 /* node */
            invokevirtual org.eclipse.jdt.internal.core.dom.rewrite.NodeInfoStore.isCollapsed:(Lorg/eclipse/jdt/core/dom/ASTNode;)Z
            ifeq 3
         1: .line 89
            aload 0 /* this */
            aload 1 /* node */
            getstatic org.eclipse.jdt.core.dom.Block.STATEMENTS_PROPERTY:Lorg/eclipse/jdt/core/dom/ChildListPropertyDescriptor;
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener.visitList:(Lorg/eclipse/jdt/core/dom/ASTNode;Lorg/eclipse/jdt/core/dom/StructuralPropertyDescriptor;Ljava/lang/String;)V
         2: .line 90
            iconst_0
            ireturn
         3: .line 92
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            invokespecial org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFlattener.visit:(Lorg/eclipse/jdt/core/dom/Block;)Z
            ireturn
        end local 1 // org.eclipse.jdt.core.dom.Block node
        end local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$ExtendedFlattener;
            0    4     1  node  Lorg/eclipse/jdt/core/dom/Block;
    MethodParameters:
      Name  Flags
      node  

  private org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$NodeMarker addMarker(java.lang.Object, int, int);
    descriptor: (Ljava/lang/Object;II)Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$NodeMarker;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener this
        start local 1 // java.lang.Object annotation
        start local 2 // int startOffset
        start local 3 // int length
         0: .line 96
            new org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$NodeMarker
            dup
            invokespecial org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$NodeMarker.<init>:()V
            astore 4 /* marker */
        start local 4 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$NodeMarker marker
         1: .line 97
            aload 4 /* marker */
            iload 2 /* startOffset */
            putfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$NodeMarker.offset:I
         2: .line 98
            aload 4 /* marker */
            iload 3 /* length */
            putfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$NodeMarker.length:I
         3: .line 99
            aload 4 /* marker */
            aload 1 /* annotation */
            putfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$NodeMarker.data:Ljava/lang/Object;
         4: .line 100
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener.positions:Ljava/util/ArrayList;
            aload 4 /* marker */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         5: .line 101
            aload 4 /* marker */
            areturn
        end local 4 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$NodeMarker marker
        end local 3 // int length
        end local 2 // int startOffset
        end local 1 // java.lang.Object annotation
        end local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$ExtendedFlattener;
            0    6     1   annotation  Ljava/lang/Object;
            0    6     2  startOffset  I
            0    6     3       length  I
            1    6     4       marker  Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$NodeMarker;
    MethodParameters:
             Name  Flags
      annotation   
      startOffset  
      length       

  private void fixupLength(java.lang.Object, int);
    descriptor: (Ljava/lang/Object;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener this
        start local 1 // java.lang.Object data
        start local 2 // int endOffset
         0: .line 105
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener.positions:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            iconst_1
            isub
            istore 3 /* i */
        start local 3 // int i
         1: goto 7
         2: .line 106
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener.positions:Ljava/util/ArrayList;
            iload 3 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$NodeMarker
            astore 4 /* marker */
        start local 4 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$NodeMarker marker
         3: .line 107
            aload 4 /* marker */
            getfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$NodeMarker.data:Ljava/lang/Object;
            aload 1 /* data */
            if_acmpne 6
         4: .line 108
            aload 4 /* marker */
            iload 2 /* endOffset */
            aload 4 /* marker */
            getfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$NodeMarker.offset:I
            isub
            putfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$NodeMarker.length:I
         5: .line 109
            return
        end local 4 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$NodeMarker marker
         6: .line 105
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ -1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            ifge 2
        end local 3 // int i
         8: .line 112
            return
        end local 2 // int endOffset
        end local 1 // java.lang.Object data
        end local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$ExtendedFlattener;
            0    9     1       data  Ljava/lang/Object;
            0    9     2  endOffset  I
            1    8     3          i  I
            3    6     4     marker  Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$NodeMarker;
    MethodParameters:
           Name  Flags
      data       
      endOffset  

  public org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$NodeMarker[] getMarkers();
    descriptor: ()[Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$NodeMarker;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener this
         0: .line 115
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener.positions:Ljava/util/ArrayList;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener.positions:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            anewarray org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$NodeMarker
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$NodeMarker[]
            areturn
        end local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$ExtendedFlattener;
}
SourceFile: "ASTRewriteFormatter.java"
NestHost: org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter
InnerClasses:
  private ExtendedFlattener = org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener of org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter
  public NodeMarker = org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$NodeMarker of org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter