public final class org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter
  super_class: java.lang.Object
{
  private final java.lang.String lineDelimiter;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int tabWidth;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int indentWidth;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.eclipse.jdt.internal.core.dom.rewrite.NodeInfoStore placeholders;
    descriptor: Lorg/eclipse/jdt/internal/core/dom/rewrite/NodeInfoStore;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.eclipse.jdt.internal.core.dom.rewrite.RewriteEventStore eventStore;
    descriptor: Lorg/eclipse/jdt/internal/core/dom/rewrite/RewriteEventStore;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Map options;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public static final org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$Prefix NONE;
    descriptor: Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$Prefix;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$Prefix SPACE;
    descriptor: Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$Prefix;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$Prefix ASSERT_COMMENT;
    descriptor: Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$Prefix;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public final org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$Prefix VAR_INITIALIZER;
    descriptor: Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$Prefix;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$Prefix METHOD_BODY;
    descriptor: Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$Prefix;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$Prefix FINALLY_BLOCK;
    descriptor: Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$Prefix;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$Prefix CATCH_BLOCK;
    descriptor: Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$Prefix;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$Prefix ANNOT_MEMBER_DEFAULT;
    descriptor: Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$Prefix;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$Prefix ENUM_BODY_START;
    descriptor: Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$Prefix;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$Prefix ENUM_BODY_END;
    descriptor: Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$Prefix;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$Prefix WILDCARD_EXTENDS;
    descriptor: Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$Prefix;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$Prefix WILDCARD_SUPER;
    descriptor: Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$Prefix;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$Prefix FIRST_ENUM_CONST;
    descriptor: Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$Prefix;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$Prefix ANNOTATION_SEPARATION;
    descriptor: Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$Prefix;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$Prefix PARAM_ANNOTATION_SEPARATION;
    descriptor: Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$Prefix;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$Prefix LOCAL_ANNOTATION_SEPARATION;
    descriptor: Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$Prefix;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$Prefix TYPE_ANNOTATION_SEPARATION;
    descriptor: Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$Prefix;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$Prefix VARARGS;
    descriptor: Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$Prefix;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$Prefix TRY_RESOURCES;
    descriptor: Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$Prefix;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$Prefix TRY_RESOURCES_PAREN;
    descriptor: Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$Prefix;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockContext IF_BLOCK_WITH_ELSE;
    descriptor: Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$BlockContext;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockContext IF_BLOCK_NO_ELSE;
    descriptor: Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$BlockContext;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockContext ELSE_AFTER_STATEMENT;
    descriptor: Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$BlockContext;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockContext ELSE_AFTER_BLOCK;
    descriptor: Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$BlockContext;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$Prefix CASE_SEPARATION;
    descriptor: Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$Prefix;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockContext FOR_BLOCK;
    descriptor: Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$BlockContext;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockContext WHILE_BLOCK;
    descriptor: Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$BlockContext;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockContext DO_BLOCK;
    descriptor: Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$BlockContext;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 550
            new org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ConstPrefix
            dup
            ldc ""
            invokespecial org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ConstPrefix.<init>:(Ljava/lang/String;)V
            putstatic org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.NONE:Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$Prefix;
         1: .line 551
            new org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ConstPrefix
            dup
            ldc " "
            invokespecial org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ConstPrefix.<init>:(Ljava/lang/String;)V
            putstatic org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.SPACE:Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$Prefix;
         2: .line 552
            new org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ConstPrefix
            dup
            ldc " : "
            invokespecial org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ConstPrefix.<init>:(Ljava/lang/String;)V
            putstatic org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.ASSERT_COMMENT:Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$Prefix;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.eclipse.jdt.internal.core.dom.rewrite.NodeInfoStore, org.eclipse.jdt.internal.core.dom.rewrite.RewriteEventStore, java.util.Map, java.lang.String);
    descriptor: (Lorg/eclipse/jdt/internal/core/dom/rewrite/NodeInfoStore;Lorg/eclipse/jdt/internal/core/dom/rewrite/RewriteEventStore;Ljava/util/Map;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter this
        start local 1 // org.eclipse.jdt.internal.core.dom.rewrite.NodeInfoStore placeholders
        start local 2 // org.eclipse.jdt.internal.core.dom.rewrite.RewriteEventStore eventStore
        start local 3 // java.util.Map options
        start local 4 // java.lang.String lineDelimiter
         0: .line 129
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 554
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$FormattingPrefix
            dup
            aload 0 /* this */
            ldc "A a={};"
            ldc "a={"
            iconst_2
            invokespecial org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$FormattingPrefix.<init>:(Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;Ljava/lang/String;Ljava/lang/String;I)V
            putfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.VAR_INITIALIZER:Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$Prefix;
         2: .line 555
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$FormattingPrefix
            dup
            aload 0 /* this */
            ldc "void a() {}"
            ldc ") {"
            iconst_4
            invokespecial org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$FormattingPrefix.<init>:(Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;Ljava/lang/String;Ljava/lang/String;I)V
            putfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.METHOD_BODY:Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$Prefix;
         3: .line 556
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$FormattingPrefix
            dup
            aload 0 /* this */
            ldc "try {} finally {}"
            ldc "} finally {"
            iconst_2
            invokespecial org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$FormattingPrefix.<init>:(Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;Ljava/lang/String;Ljava/lang/String;I)V
            putfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.FINALLY_BLOCK:Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$Prefix;
         4: .line 557
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$FormattingPrefix
            dup
            aload 0 /* this */
            ldc "try {} catch(Exception e) {}"
            ldc "} c"
            iconst_2
            invokespecial org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$FormattingPrefix.<init>:(Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;Ljava/lang/String;Ljava/lang/String;I)V
            putfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.CATCH_BLOCK:Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$Prefix;
         5: .line 558
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$FormattingPrefix
            dup
            aload 0 /* this */
            ldc "String value() default 1;"
            ldc ") default 1"
            iconst_4
            invokespecial org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$FormattingPrefix.<init>:(Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;Ljava/lang/String;Ljava/lang/String;I)V
            putfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.ANNOT_MEMBER_DEFAULT:Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$Prefix;
         6: .line 559
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$FormattingPrefix
            dup
            aload 0 /* this */
            ldc "enum E { A(){void foo(){}} }"
            ldc "){v"
            bipush 8
            invokespecial org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$FormattingPrefix.<init>:(Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;Ljava/lang/String;Ljava/lang/String;I)V
            putfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.ENUM_BODY_START:Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$Prefix;
         7: .line 560
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$FormattingPrefix
            dup
            aload 0 /* this */
            ldc "enum E { A(){void foo(){ }}, B}"
            ldc "}},"
            bipush 8
            invokespecial org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$FormattingPrefix.<init>:(Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;Ljava/lang/String;Ljava/lang/String;I)V
            putfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.ENUM_BODY_END:Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$Prefix;
         8: .line 561
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$FormattingPrefix
            dup
            aload 0 /* this */
            ldc "A<? extends B> a;"
            ldc "? extends B"
            iconst_4
            invokespecial org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$FormattingPrefix.<init>:(Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;Ljava/lang/String;Ljava/lang/String;I)V
            putfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.WILDCARD_EXTENDS:Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$Prefix;
         9: .line 562
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$FormattingPrefix
            dup
            aload 0 /* this */
            ldc "A<? super B> a;"
            ldc "? super B"
            iconst_4
            invokespecial org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$FormattingPrefix.<init>:(Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;Ljava/lang/String;Ljava/lang/String;I)V
            putfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.WILDCARD_SUPER:Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$Prefix;
        10: .line 564
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$FormattingPrefix
            dup
            aload 0 /* this */
            ldc "enum E { X;}"
            ldc "{ X"
            bipush 8
            invokespecial org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$FormattingPrefix.<init>:(Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;Ljava/lang/String;Ljava/lang/String;I)V
            putfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.FIRST_ENUM_CONST:Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$Prefix;
        11: .line 565
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$FormattingPrefix
            dup
            aload 0 /* this */
            ldc "@A @B class C {}"
            ldc "A @"
            bipush 8
            invokespecial org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$FormattingPrefix.<init>:(Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;Ljava/lang/String;Ljava/lang/String;I)V
            putfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.ANNOTATION_SEPARATION:Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$Prefix;
        12: .line 566
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$FormattingPrefix
            dup
            aload 0 /* this */
            ldc "void foo(@A @B C p) { }"
            ldc "A @"
            iconst_4
            invokespecial org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$FormattingPrefix.<init>:(Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;Ljava/lang/String;Ljava/lang/String;I)V
            putfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.PARAM_ANNOTATION_SEPARATION:Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$Prefix;
        13: .line 567
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$FormattingPrefix
            dup
            aload 0 /* this */
            ldc "@A @B C p;"
            ldc "A @"
            iconst_2
            invokespecial org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$FormattingPrefix.<init>:(Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;Ljava/lang/String;Ljava/lang/String;I)V
            putfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.LOCAL_ANNOTATION_SEPARATION:Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$Prefix;
        14: .line 568
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$FormattingPrefix
            dup
            aload 0 /* this */
            ldc "C<@A @B D> l;"
            ldc "A @"
            iconst_2
            invokespecial org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$FormattingPrefix.<init>:(Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;Ljava/lang/String;Ljava/lang/String;I)V
            putfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.TYPE_ANNOTATION_SEPARATION:Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$Prefix;
        15: .line 569
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$FormattingPrefix
            dup
            aload 0 /* this */
            ldc "void foo(A ... a) { }"
            ldc "A ."
            iconst_4
            invokespecial org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$FormattingPrefix.<init>:(Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;Ljava/lang/String;Ljava/lang/String;I)V
            putfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.VARARGS:Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$Prefix;
        16: .line 570
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$FormattingPrefix
            dup
            aload 0 /* this */
            ldc "try (A a = new A(); B b = new B()) {}"
            ldc "; B"
            iconst_2
            invokespecial org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$FormattingPrefix.<init>:(Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;Ljava/lang/String;Ljava/lang/String;I)V
            putfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.TRY_RESOURCES:Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$Prefix;
        17: .line 571
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$FormattingPrefix
            dup
            aload 0 /* this */
            ldc "try (A a = new A(); B b = new B()) {}"
            ldc "y ("
            iconst_2
            invokespecial org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$FormattingPrefix.<init>:(Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;Ljava/lang/String;Ljava/lang/String;I)V
            putfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.TRY_RESOURCES_PAREN:Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$Prefix;
        18: .line 573
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockFormattingPrefixSuffix
            dup
            aload 0 /* this */
            ldc "if (true)"
            ldc "else{}"
            bipush 8
            invokespecial org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockFormattingPrefixSuffix.<init>:(Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;Ljava/lang/String;Ljava/lang/String;I)V
            putfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.IF_BLOCK_WITH_ELSE:Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$BlockContext;
        19: .line 574
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockFormattingPrefix
            dup
            aload 0 /* this */
            ldc "if (true)"
            bipush 8
            invokespecial org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockFormattingPrefix.<init>:(Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;Ljava/lang/String;I)V
            putfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.IF_BLOCK_NO_ELSE:Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$BlockContext;
        20: .line 575
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockFormattingPrefix
            dup
            aload 0 /* this */
            ldc "if (true) foo();else "
            bipush 15
            invokespecial org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockFormattingPrefix.<init>:(Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;Ljava/lang/String;I)V
            putfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.ELSE_AFTER_STATEMENT:Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$BlockContext;
        21: .line 576
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockFormattingPrefix
            dup
            aload 0 /* this */
            ldc "if (true) {}else "
            bipush 11
            invokespecial org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockFormattingPrefix.<init>:(Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;Ljava/lang/String;I)V
            putfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.ELSE_AFTER_BLOCK:Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$BlockContext;
        22: .line 578
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$FormattingPrefix
            dup
            aload 0 /* this */
            ldc "case A, B"
            ldc "A"
            iconst_1
            invokespecial org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$FormattingPrefix.<init>:(Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;Ljava/lang/String;Ljava/lang/String;I)V
            putfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.CASE_SEPARATION:Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$Prefix;
        23: .line 580
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockFormattingPrefix
            dup
            aload 0 /* this */
            ldc "for (;;) "
            bipush 7
            invokespecial org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockFormattingPrefix.<init>:(Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;Ljava/lang/String;I)V
            putfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.FOR_BLOCK:Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$BlockContext;
        24: .line 581
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockFormattingPrefix
            dup
            aload 0 /* this */
            ldc "while (true)"
            bipush 11
            invokespecial org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockFormattingPrefix.<init>:(Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;Ljava/lang/String;I)V
            putfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.WHILE_BLOCK:Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$BlockContext;
        25: .line 582
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockFormattingPrefixSuffix
            dup
            aload 0 /* this */
            ldc "do "
            ldc "while (true);"
            iconst_1
            invokespecial org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockFormattingPrefixSuffix.<init>:(Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;Ljava/lang/String;Ljava/lang/String;I)V
            putfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.DO_BLOCK:Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$BlockContext;
        26: .line 130
            aload 0 /* this */
            aload 1 /* placeholders */
            putfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.placeholders:Lorg/eclipse/jdt/internal/core/dom/rewrite/NodeInfoStore;
        27: .line 131
            aload 0 /* this */
            aload 2 /* eventStore */
            putfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.eventStore:Lorg/eclipse/jdt/internal/core/dom/rewrite/RewriteEventStore;
        28: .line 133
            aload 0 /* this */
            aload 3 /* options */
            ifnonnull 29
            invokestatic org.eclipse.jdt.core.JavaCore.getOptions:()Ljava/util/Hashtable;
            goto 30
      StackMap locals: org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter org.eclipse.jdt.internal.core.dom.rewrite.NodeInfoStore org.eclipse.jdt.internal.core.dom.rewrite.RewriteEventStore java.util.Map java.lang.String
      StackMap stack: org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter
        29: new java.util.HashMap
            dup
            aload 3 /* options */
            invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
      StackMap locals: org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter org.eclipse.jdt.internal.core.dom.rewrite.NodeInfoStore org.eclipse.jdt.internal.core.dom.rewrite.RewriteEventStore java.util.Map java.lang.String
      StackMap stack: org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter java.util.Map
        30: putfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.options:Ljava/util/Map;
        31: .line 134
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.options:Ljava/util/Map;
        32: .line 135
            ldc "org.eclipse.jdt.core.formatter.alignment_for_resources_in_try"
        33: .line 136
            iconst_1
            iconst_5
            iconst_0
            invokestatic org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants.createAlignmentValue:(ZII)Ljava/lang/String;
        34: .line 134
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        35: .line 138
            aload 0 /* this */
            aload 4 /* lineDelimiter */
            putfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.lineDelimiter:Ljava/lang/String;
        36: .line 140
            aload 0 /* this */
            aload 3 /* options */
            invokestatic org.eclipse.jdt.core.formatter.IndentManipulation.getTabWidth:(Ljava/util/Map;)I
            putfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.tabWidth:I
        37: .line 141
            aload 0 /* this */
            aload 3 /* options */
            invokestatic org.eclipse.jdt.core.formatter.IndentManipulation.getIndentWidth:(Ljava/util/Map;)I
            putfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.indentWidth:I
        38: .line 142
            return
        end local 4 // java.lang.String lineDelimiter
        end local 3 // java.util.Map options
        end local 2 // org.eclipse.jdt.internal.core.dom.rewrite.RewriteEventStore eventStore
        end local 1 // org.eclipse.jdt.internal.core.dom.rewrite.NodeInfoStore placeholders
        end local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   39     0           this  Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;
            0   39     1   placeholders  Lorg/eclipse/jdt/internal/core/dom/rewrite/NodeInfoStore;
            0   39     2     eventStore  Lorg/eclipse/jdt/internal/core/dom/rewrite/RewriteEventStore;
            0   39     3        options  Ljava/util/Map;
            0   39     4  lineDelimiter  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      placeholders   
      eventStore     
      options        
      lineDelimiter  

  public org.eclipse.jdt.internal.core.dom.rewrite.NodeInfoStore getPlaceholders();
    descriptor: ()Lorg/eclipse/jdt/internal/core/dom/rewrite/NodeInfoStore;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter this
         0: .line 147
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.placeholders:Lorg/eclipse/jdt/internal/core/dom/rewrite/NodeInfoStore;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;

  public org.eclipse.jdt.internal.core.dom.rewrite.RewriteEventStore getEventStore();
    descriptor: ()Lorg/eclipse/jdt/internal/core/dom/rewrite/RewriteEventStore;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter this
         0: .line 151
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.eventStore:Lorg/eclipse/jdt/internal/core/dom/rewrite/RewriteEventStore;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;

  public int getTabWidth();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter this
         0: .line 155
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.tabWidth:I
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;

  public int getIndentWidth();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter this
         0: .line 159
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.indentWidth:I
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;

  public java.lang.String getLineDelimiter();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter this
         0: .line 163
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.lineDelimiter:Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;

  public java.lang.String getFormattedResult(org.eclipse.jdt.core.dom.ASTNode, int, java.util.Collection);
    descriptor: (Lorg/eclipse/jdt/core/dom/ASTNode;ILjava/util/Collection;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=10, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter this
        start local 1 // org.eclipse.jdt.core.dom.ASTNode node
        start local 2 // int initialIndentationLevel
        start local 3 // java.util.Collection resultingMarkers
         0: .line 177
            new org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.eventStore:Lorg/eclipse/jdt/internal/core/dom/rewrite/RewriteEventStore;
            invokespecial org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener.<init>:(Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;Lorg/eclipse/jdt/internal/core/dom/rewrite/RewriteEventStore;)V
            astore 4 /* flattener */
        start local 4 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener flattener
         1: .line 178
            aload 1 /* node */
            aload 4 /* flattener */
            invokevirtual org.eclipse.jdt.core.dom.ASTNode.accept:(Lorg/eclipse/jdt/core/dom/ASTVisitor;)V
         2: .line 180
            aload 4 /* flattener */
            invokevirtual org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener.getMarkers:()[Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$NodeMarker;
            astore 5 /* markers */
        start local 5 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$NodeMarker[] markers
         3: .line 181
            aload 3 /* resultingMarkers */
            aload 5 /* markers */
            invokestatic java.util.Collections.addAll:(Ljava/util/Collection;[Ljava/lang/Object;)Z
            pop
         4: .line 183
            aload 4 /* flattener */
            invokevirtual org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener.getResult:()Ljava/lang/String;
            astore 6 /* unformatted */
        start local 6 // java.lang.String unformatted
         5: .line 184
            aload 0 /* this */
            aload 1 /* node */
            aload 6 /* unformatted */
            iload 2 /* initialIndentationLevel */
            invokevirtual org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.formatNode:(Lorg/eclipse/jdt/core/dom/ASTNode;Ljava/lang/String;I)Lorg/eclipse/text/edits/TextEdit;
            astore 7 /* edit */
        start local 7 // org.eclipse.text.edits.TextEdit edit
         6: .line 185
            aload 7 /* edit */
            ifnonnull 15
         7: .line 186
            iload 2 /* initialIndentationLevel */
            ifle 14
         8: .line 188
            aload 0 /* this */
            iload 2 /* initialIndentationLevel */
            invokevirtual org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.createIndentString:(I)Ljava/lang/String;
            astore 8 /* indentString */
        start local 8 // java.lang.String indentString
         9: .line 189
            aload 6 /* unformatted */
            iconst_0
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.tabWidth:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.indentWidth:I
            aload 8 /* indentString */
            invokestatic org.eclipse.jdt.core.formatter.IndentManipulation.getChangeIndentEdits:(Ljava/lang/String;IIILjava/lang/String;)[Lorg/eclipse/text/edits/ReplaceEdit;
            astore 9 /* edits */
        start local 9 // org.eclipse.text.edits.ReplaceEdit[] edits
        10: .line 190
            new org.eclipse.text.edits.MultiTextEdit
            dup
            invokespecial org.eclipse.text.edits.MultiTextEdit.<init>:()V
            astore 7 /* edit */
        11: .line 191
            aload 7 /* edit */
            new org.eclipse.text.edits.InsertEdit
            dup
            iconst_0
            aload 8 /* indentString */
            invokespecial org.eclipse.text.edits.InsertEdit.<init>:(ILjava/lang/String;)V
            invokevirtual org.eclipse.text.edits.TextEdit.addChild:(Lorg/eclipse/text/edits/TextEdit;)V
        12: .line 192
            aload 7 /* edit */
            aload 9 /* edits */
            invokevirtual org.eclipse.text.edits.TextEdit.addChildren:([Lorg/eclipse/text/edits/TextEdit;)V
        end local 9 // org.eclipse.text.edits.ReplaceEdit[] edits
        end local 8 // java.lang.String indentString
        13: .line 193
            goto 15
        14: .line 194
      StackMap locals: org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter org.eclipse.jdt.core.dom.ASTNode int java.util.Collection org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$NodeMarker[] java.lang.String org.eclipse.text.edits.TextEdit
      StackMap stack:
            aload 6 /* unformatted */
            areturn
        15: .line 197
      StackMap locals:
      StackMap stack:
            aload 6 /* unformatted */
            aload 7 /* edit */
            aload 5 /* markers */
            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;
            areturn
        end local 7 // org.eclipse.text.edits.TextEdit edit
        end local 6 // java.lang.String unformatted
        end local 5 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$NodeMarker[] markers
        end local 4 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener flattener
        end local 3 // java.util.Collection resultingMarkers
        end local 2 // int initialIndentationLevel
        end local 1 // org.eclipse.jdt.core.dom.ASTNode node
        end local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   16     0                     this  Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;
            0   16     1                     node  Lorg/eclipse/jdt/core/dom/ASTNode;
            0   16     2  initialIndentationLevel  I
            0   16     3         resultingMarkers  Ljava/util/Collection;
            1   16     4                flattener  Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$ExtendedFlattener;
            3   16     5                  markers  [Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter$NodeMarker;
            5   16     6              unformatted  Ljava/lang/String;
            6   16     7                     edit  Lorg/eclipse/text/edits/TextEdit;
            9   13     8             indentString  Ljava/lang/String;
           10   13     9                    edits  [Lorg/eclipse/text/edits/ReplaceEdit;
    MethodParameters:
                         Name  Flags
      node                     
      initialIndentationLevel  
      resultingMarkers         

  public java.lang.String createIndentString(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter this
        start local 1 // int indentationUnits
         0: .line 201
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.options:Ljava/util/Map;
            invokestatic org.eclipse.jdt.core.ToolFactory.createCodeFormatter:(Ljava/util/Map;)Lorg/eclipse/jdt/core/formatter/CodeFormatter;
            iload 1 /* indentationUnits */
            invokevirtual org.eclipse.jdt.core.formatter.CodeFormatter.createIndentationString:(I)Ljava/lang/String;
            areturn
        end local 1 // int indentationUnits
        end local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;
            0    1     1  indentationUnits  I
    MethodParameters:
                  Name  Flags
      indentationUnits  

  public java.lang.String getIndentString(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter this
        start local 1 // java.lang.String currentLine
         0: .line 205
            aload 1 /* currentLine */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.tabWidth:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.indentWidth:I
            invokestatic org.eclipse.jdt.core.formatter.IndentManipulation.extractIndentString:(Ljava/lang/String;II)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String currentLine
        end local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;
            0    1     1  currentLine  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      currentLine  

  public java.lang.String changeIndent(java.lang.String, int, java.lang.String);
    descriptor: (Ljava/lang/String;ILjava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter this
        start local 1 // java.lang.String code
        start local 2 // int codeIndentLevel
        start local 3 // java.lang.String newIndent
         0: .line 209
            aload 1 /* code */
            iload 2 /* codeIndentLevel */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.tabWidth:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.indentWidth:I
            aload 3 /* newIndent */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.lineDelimiter:Ljava/lang/String;
            invokestatic org.eclipse.jdt.core.formatter.IndentManipulation.changeIndent:(Ljava/lang/String;IIILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 3 // java.lang.String newIndent
        end local 2 // int codeIndentLevel
        end local 1 // java.lang.String code
        end local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;
            0    1     1             code  Ljava/lang/String;
            0    1     2  codeIndentLevel  I
            0    1     3        newIndent  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      code             
      codeIndentLevel  
      newIndent        

  public int computeIndentUnits(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter this
        start local 1 // java.lang.String line
         0: .line 213
            aload 1 /* line */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.tabWidth:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.indentWidth:I
            invokestatic org.eclipse.jdt.core.formatter.IndentManipulation.measureIndentUnits:(Ljava/lang/CharSequence;II)I
            ireturn
        end local 1 // java.lang.String line
        end local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;
            0    1     1  line  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      line  

  public static java.lang.String evaluateFormatterEdit(java.lang.String, org.eclipse.text.edits.TextEdit, org.eclipse.jface.text.Position[]);
    descriptor: (Ljava/lang/String;Lorg/eclipse/text/edits/TextEdit;[Lorg/eclipse/jface/text/Position;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // java.lang.String string
        start local 1 // org.eclipse.text.edits.TextEdit edit
        start local 2 // org.eclipse.jface.text.Position[] positions
         0: .line 227
            aload 0 /* string */
            aload 2 /* positions */
            invokestatic org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.createDocument:(Ljava/lang/String;[Lorg/eclipse/jface/text/Position;)Lorg/eclipse/jface/text/Document;
            astore 3 /* doc */
        start local 3 // org.eclipse.jface.text.Document doc
         1: .line 228
            aload 1 /* edit */
            aload 3 /* doc */
            iconst_0
            invokevirtual org.eclipse.text.edits.TextEdit.apply:(Lorg/eclipse/jface/text/IDocument;I)Lorg/eclipse/text/edits/UndoEdit;
            pop
         2: .line 229
            aload 2 /* positions */
            ifnull 10
         3: .line 230
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 9
         5: .line 231
      StackMap locals: org.eclipse.jface.text.Document int
      StackMap stack:
            aload 2 /* positions */
            iload 4 /* i */
            aaload
            getfield org.eclipse.jface.text.Position.isDeleted:Z
            ifeq 6
            iconst_0
            goto 7
      StackMap locals:
      StackMap stack:
         6: iconst_1
      StackMap locals:
      StackMap stack: int
         7: ldc "Position got deleted"
            invokestatic org.eclipse.core.runtime.Assert.isTrue:(ZLjava/lang/String;)Z
            pop
         8: .line 230
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            aload 2 /* positions */
            arraylength
            if_icmplt 5
        end local 4 // int i
        10: .line 234
      StackMap locals:
      StackMap stack:
            aload 3 /* doc */
            invokevirtual org.eclipse.jface.text.Document.get:()Ljava/lang/String;
        11: areturn
        end local 3 // org.eclipse.jface.text.Document doc
        12: .line 235
      StackMap locals: java.lang.String org.eclipse.text.edits.TextEdit org.eclipse.jface.text.Position[]
      StackMap stack: org.eclipse.jface.text.BadLocationException
            astore 3 /* e */
        start local 3 // org.eclipse.jface.text.BadLocationException e
        13: .line 237
            iconst_0
            new java.lang.StringBuilder
            dup
            ldc "Fromatter created edits with wrong positions: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* e */
            invokevirtual org.eclipse.jface.text.BadLocationException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.eclipse.core.runtime.Assert.isTrue:(ZLjava/lang/String;)Z
            pop
        end local 3 // org.eclipse.jface.text.BadLocationException e
        14: .line 239
            aconst_null
            areturn
        end local 2 // org.eclipse.jface.text.Position[] positions
        end local 1 // org.eclipse.text.edits.TextEdit edit
        end local 0 // java.lang.String string
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0     string  Ljava/lang/String;
            0   15     1       edit  Lorg/eclipse/text/edits/TextEdit;
            0   15     2  positions  [Lorg/eclipse/jface/text/Position;
            1   12     3        doc  Lorg/eclipse/jface/text/Document;
            4   10     4          i  I
           13   14     3          e  Lorg/eclipse/jface/text/BadLocationException;
      Exception table:
        from    to  target  type
           0    11      12  Class org.eclipse.jface.text.BadLocationException
    MethodParameters:
           Name  Flags
      string     
      edit       
      positions  

  public org.eclipse.text.edits.TextEdit formatString(int, java.lang.String, int, int, int);
    descriptor: (ILjava/lang/String;III)Lorg/eclipse/text/edits/TextEdit;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter this
        start local 1 // int kind
        start local 2 // java.lang.String string
        start local 3 // int offset
        start local 4 // int length
        start local 5 // int indentationLevel
         0: .line 243
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.options:Ljava/util/Map;
            invokestatic org.eclipse.jdt.core.ToolFactory.createCodeFormatter:(Ljava/util/Map;)Lorg/eclipse/jdt/core/formatter/CodeFormatter;
            iload 1 /* kind */
            aload 2 /* string */
            iload 3 /* offset */
            iload 4 /* length */
            iload 5 /* indentationLevel */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.lineDelimiter:Ljava/lang/String;
            invokevirtual org.eclipse.jdt.core.formatter.CodeFormatter.format:(ILjava/lang/String;IIILjava/lang/String;)Lorg/eclipse/text/edits/TextEdit;
            areturn
        end local 5 // int indentationLevel
        end local 4 // int length
        end local 3 // int offset
        end local 2 // java.lang.String string
        end local 1 // int kind
        end local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;
            0    1     1              kind  I
            0    1     2            string  Ljava/lang/String;
            0    1     3            offset  I
            0    1     4            length  I
            0    1     5  indentationLevel  I
    MethodParameters:
                  Name  Flags
      kind              
      string            
      offset            
      length            
      indentationLevel  

  private org.eclipse.text.edits.TextEdit formatNode(org.eclipse.jdt.core.dom.ASTNode, java.lang.String, int);
    descriptor: (Lorg/eclipse/jdt/core/dom/ASTNode;Ljava/lang/String;I)Lorg/eclipse/text/edits/TextEdit;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter this
        start local 1 // org.eclipse.jdt.core.dom.ASTNode node
        start local 2 // java.lang.String str
        start local 3 // int indentationLevel
         0: .line 257
            ldc ""
            astore 5 /* prefix */
        start local 5 // java.lang.String prefix
         1: .line 258
            ldc ""
            astore 6 /* suffix */
        start local 6 // java.lang.String suffix
         2: .line 259
            aload 1 /* node */
            instanceof org.eclipse.jdt.core.dom.Statement
            ifeq 9
         3: .line 260
            iconst_2
            istore 4 /* code */
        start local 4 // int code
         4: .line 261
            aload 1 /* node */
            invokevirtual org.eclipse.jdt.core.dom.ASTNode.getNodeType:()I
            bipush 49
            if_icmpne 71
         5: .line 262
            ldc "switch(1) {"
            astore 5 /* prefix */
         6: .line 263
            ldc "}"
            astore 6 /* suffix */
         7: .line 264
            iconst_2
            istore 4 /* code */
         8: .line 266
            goto 71
        end local 4 // int code
      StackMap locals: org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter org.eclipse.jdt.core.dom.ASTNode java.lang.String int top java.lang.String java.lang.String
      StackMap stack:
         9: aload 1 /* node */
            instanceof org.eclipse.jdt.core.dom.Expression
            ifeq 16
            aload 1 /* node */
            invokevirtual org.eclipse.jdt.core.dom.ASTNode.getNodeType:()I
            bipush 58
            if_icmpeq 16
        10: .line 267
            aload 1 /* node */
            instanceof org.eclipse.jdt.core.dom.Annotation
            ifeq 14
        11: .line 268
            ldc "\nclass A {}"
            astore 6 /* suffix */
        12: .line 269
            bipush 8
            istore 4 /* code */
        start local 4 // int code
        13: .line 270
            goto 71
        end local 4 // int code
        14: .line 271
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 4 /* code */
        start local 4 // int code
        15: .line 273
            goto 71
        end local 4 // int code
      StackMap locals:
      StackMap stack:
        16: aload 1 /* node */
            instanceof org.eclipse.jdt.core.dom.BodyDeclaration
            ifeq 19
        17: .line 274
            iconst_4
            istore 4 /* code */
        start local 4 // int code
        18: .line 275
            goto 71
        end local 4 // int code
        19: .line 276
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            invokevirtual org.eclipse.jdt.core.dom.ASTNode.getNodeType:()I
            lookupswitch { // 25
                    1: 52
                    5: 20
                   12: 49
                   15: 28
                   26: 43
                   29: 46
                   35: 43
                   39: 20
                   43: 20
                   44: 35
                   58: 32
                   59: 39
                   65: 69
                   66: 69
                   67: 69
                   68: 69
                   69: 69
                   73: 65
                   74: 20
                   75: 20
                   76: 24
                   80: 56
                   83: 60
                   93: 30
                   99: 63
              default: 70
          }
        20: .line 282
      StackMap locals:
      StackMap stack:
            ldc "void m(final "
            astore 5 /* prefix */
        21: .line 283
            ldc " x);"
            astore 6 /* suffix */
        22: .line 284
            iconst_4
            istore 4 /* code */
        start local 4 // int code
        23: .line 285
            goto 71
        end local 4 // int code
        24: .line 287
      StackMap locals:
      StackMap stack:
            ldc "A<"
            astore 5 /* prefix */
        25: .line 288
            ldc "> x;"
            astore 6 /* suffix */
        26: .line 289
            iconst_4
            istore 4 /* code */
        start local 4 // int code
        27: .line 290
            goto 71
        end local 4 // int code
        28: .line 292
      StackMap locals:
      StackMap stack:
            bipush 8
            istore 4 /* code */
        start local 4 // int code
        29: .line 293
            goto 71
        end local 4 // int code
        30: .line 295
      StackMap locals:
      StackMap stack:
            sipush 128
            istore 4 /* code */
        start local 4 // int code
        31: .line 296
            goto 71
        end local 4 // int code
        32: .line 298
      StackMap locals:
      StackMap stack:
            ldc ";"
            astore 6 /* suffix */
        33: .line 299
            iconst_2
            istore 4 /* code */
        start local 4 // int code
        34: .line 300
            goto 71
        end local 4 // int code
        35: .line 302
      StackMap locals:
      StackMap stack:
            ldc "void m("
            astore 5 /* prefix */
        36: .line 303
            ldc ");"
            astore 6 /* suffix */
        37: .line 304
            iconst_4
            istore 4 /* code */
        start local 4 // int code
        38: .line 305
            goto 71
        end local 4 // int code
        39: .line 307
      StackMap locals:
      StackMap stack:
            ldc "A "
            astore 5 /* prefix */
        40: .line 308
            ldc ";"
            astore 6 /* suffix */
        41: .line 309
            iconst_2
            istore 4 /* code */
        start local 4 // int code
        42: .line 310
            goto 71
        end local 4 // int code
        43: .line 313
      StackMap locals:
      StackMap stack:
            ldc "\nclass A {}"
            astore 6 /* suffix */
        44: .line 314
            bipush 8
            istore 4 /* code */
        start local 4 // int code
        45: .line 315
            goto 71
        end local 4 // int code
        46: .line 317
      StackMap locals:
      StackMap stack:
            ldc "\nclass A {}"
            astore 6 /* suffix */
        47: .line 318
            bipush 8
            istore 4 /* code */
        start local 4 // int code
        48: .line 319
            goto 71
        end local 4 // int code
        49: .line 321
      StackMap locals:
      StackMap stack:
            ldc "try {}"
            astore 5 /* prefix */
        50: .line 322
            iconst_2
            istore 4 /* code */
        start local 4 // int code
        51: .line 323
            goto 71
        end local 4 // int code
        52: .line 325
      StackMap locals:
      StackMap stack:
            ldc "new A()"
            astore 5 /* prefix */
        53: .line 326
            ldc ";"
            astore 6 /* suffix */
        54: .line 327
            iconst_2
            istore 4 /* code */
        start local 4 // int code
        55: .line 328
            goto 71
        end local 4 // int code
        56: .line 330
      StackMap locals:
      StackMap stack:
            ldc "@Author("
            astore 5 /* prefix */
        57: .line 331
            ldc ") class x {}"
            astore 6 /* suffix */
        58: .line 332
            bipush 8
            istore 4 /* code */
        start local 4 // int code
        59: .line 333
            goto 71
        end local 4 // int code
        60: .line 335
      StackMap locals:
      StackMap stack:
            ldc " class x {}"
            astore 6 /* suffix */
        61: .line 336
            bipush 8
            istore 4 /* code */
        start local 4 // int code
        62: .line 337
            goto 71
        end local 4 // int code
        63: .line 339
      StackMap locals:
      StackMap stack:
            sipush 128
            istore 4 /* code */
        start local 4 // int code
        64: .line 340
            goto 71
        end local 4 // int code
        65: .line 342
      StackMap locals:
      StackMap stack:
            ldc "class X<"
            astore 5 /* prefix */
        66: .line 343
            ldc "> {}"
            astore 6 /* suffix */
        67: .line 344
            bipush 8
            istore 4 /* code */
        start local 4 // int code
        68: .line 345
            goto 71
        end local 4 // int code
        69: .line 352
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        70: .line 374
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        start local 4 // int code
        71: .line 378
      StackMap locals: org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter org.eclipse.jdt.core.dom.ASTNode java.lang.String int int java.lang.String java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 5 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* str */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* suffix */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* concatStr */
        start local 7 // java.lang.String concatStr
        72: .line 379
            aload 0 /* this */
            iload 4 /* code */
            aload 7 /* concatStr */
            aload 5 /* prefix */
            invokevirtual java.lang.String.length:()I
            aload 2 /* str */
            invokevirtual java.lang.String.length:()I
            iload 3 /* indentationLevel */
            invokevirtual org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.formatString:(ILjava/lang/String;III)Lorg/eclipse/text/edits/TextEdit;
            astore 8 /* edit */
        start local 8 // org.eclipse.text.edits.TextEdit edit
        73: .line 381
            aload 5 /* prefix */
            invokevirtual java.lang.String.length:()I
            ifle 75
        74: .line 382
            aload 8 /* edit */
            aload 5 /* prefix */
            invokevirtual java.lang.String.length:()I
            invokestatic org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.shifEdit:(Lorg/eclipse/text/edits/TextEdit;I)Lorg/eclipse/text/edits/TextEdit;
            astore 8 /* edit */
        75: .line 384
      StackMap locals: java.lang.String org.eclipse.text.edits.TextEdit
      StackMap stack:
            aload 8 /* edit */
            areturn
        end local 8 // org.eclipse.text.edits.TextEdit edit
        end local 7 // java.lang.String concatStr
        end local 6 // java.lang.String suffix
        end local 5 // java.lang.String prefix
        end local 4 // int code
        end local 3 // int indentationLevel
        end local 2 // java.lang.String str
        end local 1 // org.eclipse.jdt.core.dom.ASTNode node
        end local 0 // org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   76     0              this  Lorg/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter;
            0   76     1              node  Lorg/eclipse/jdt/core/dom/ASTNode;
            0   76     2               str  Ljava/lang/String;
            0   76     3  indentationLevel  I
            4    9     4              code  I
           13   14     4              code  I
           15   16     4              code  I
           18   19     4              code  I
           23   24     4              code  I
           27   28     4              code  I
           29   30     4              code  I
           31   32     4              code  I
           34   35     4              code  I
           38   39     4              code  I
           42   43     4              code  I
           45   46     4              code  I
           48   49     4              code  I
           51   52     4              code  I
           55   56     4              code  I
           59   60     4              code  I
           62   63     4              code  I
           64   65     4              code  I
           68   69     4              code  I
           71   76     4              code  I
            1   76     5            prefix  Ljava/lang/String;
            2   76     6            suffix  Ljava/lang/String;
           72   76     7         concatStr  Ljava/lang/String;
           73   76     8              edit  Lorg/eclipse/text/edits/TextEdit;
    MethodParameters:
                  Name  Flags
      node              
      str               
      indentationLevel  

  private static org.eclipse.text.edits.TextEdit shifEdit(org.eclipse.text.edits.TextEdit, int);
    descriptor: (Lorg/eclipse/text/edits/TextEdit;I)Lorg/eclipse/text/edits/TextEdit;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // org.eclipse.text.edits.TextEdit oldEdit
        start local 1 // int diff
         0: .line 389
            aload 0 /* oldEdit */
            instanceof org.eclipse.text.edits.ReplaceEdit
            ifeq 4
         1: .line 390
            aload 0 /* oldEdit */
            checkcast org.eclipse.text.edits.ReplaceEdit
            astore 3 /* edit */
        start local 3 // org.eclipse.text.edits.ReplaceEdit edit
         2: .line 391
            new org.eclipse.text.edits.ReplaceEdit
            dup
            aload 3 /* edit */
            invokevirtual org.eclipse.text.edits.ReplaceEdit.getOffset:()I
            iload 1 /* diff */
            isub
            aload 3 /* edit */
            invokevirtual org.eclipse.text.edits.ReplaceEdit.getLength:()I
            aload 3 /* edit */
            invokevirtual org.eclipse.text.edits.ReplaceEdit.getText:()Ljava/lang/String;
            invokespecial org.eclipse.text.edits.ReplaceEdit.<init>:(IILjava/lang/String;)V
            astore 2 /* newEdit */
        end local 3 // org.eclipse.text.edits.ReplaceEdit edit
        start local 2 // org.eclipse.text.edits.TextEdit newEdit
         3: .line 392
            goto 16
        end local 2 // org.eclipse.text.edits.TextEdit newEdit
      StackMap locals:
      StackMap stack:
         4: aload 0 /* oldEdit */
            instanceof org.eclipse.text.edits.InsertEdit
            ifeq 8
         5: .line 393
            aload 0 /* oldEdit */
            checkcast org.eclipse.text.edits.InsertEdit
            astore 3 /* edit */
        start local 3 // org.eclipse.text.edits.InsertEdit edit
         6: .line 394
            new org.eclipse.text.edits.InsertEdit
            dup
            aload 3 /* edit */
            invokevirtual org.eclipse.text.edits.InsertEdit.getOffset:()I
            iload 1 /* diff */
            isub
            aload 3 /* edit */
            invokevirtual org.eclipse.text.edits.InsertEdit.getText:()Ljava/lang/String;
            invokespecial org.eclipse.text.edits.InsertEdit.<init>:(ILjava/lang/String;)V
            astore 2 /* newEdit */
        end local 3 // org.eclipse.text.edits.InsertEdit edit
        start local 2 // org.eclipse.text.edits.TextEdit newEdit
         7: .line 395
            goto 16
        end local 2 // org.eclipse.text.edits.TextEdit newEdit
      StackMap locals:
      StackMap stack:
         8: aload 0 /* oldEdit */
            instanceof org.eclipse.text.edits.DeleteEdit
            ifeq 12
         9: .line 396
            aload 0 /* oldEdit */
            checkcast org.eclipse.text.edits.DeleteEdit
            astore 3 /* edit */
        start local 3 // org.eclipse.text.edits.DeleteEdit edit
        10: .line 397
            new org.eclipse.text.edits.DeleteEdit
            dup
            aload 3 /* edit */
            invokevirtual org.eclipse.text.edits.DeleteEdit.getOffset:()I
            iload 1 /* diff */
            isub
            aload 3 /* edit */
            invokevirtual org.eclipse.text.edits.DeleteEdit.getLength:()I
            invokespecial org.eclipse.text.edits.DeleteEdit.<init>:(II)V
            astore 2 /* newEdit */
        end local 3 // org.eclipse.text.edits.DeleteEdit edit
        start local 2 // org.eclipse.text.edits.TextEdit newEdit
        11: .line 398
            goto 16
        end local 2 // org.eclipse.text.edits.TextEdit newEdit
      StackMap locals:
      StackMap stack:
        12: aload 0 /* oldEdit */
            instanceof org.eclipse.text.edits.MultiTextEdit
            ifeq 15
        13: .line 399
            new org.eclipse.text.edits.MultiTextEdit
            dup
            invokespecial org.eclipse.text.edits.MultiTextEdit.<init>:()V
            astore 2 /* newEdit */
        start local 2 // org.eclipse.text.edits.TextEdit newEdit
        14: .line 400
            goto 16
        end local 2 // org.eclipse.text.edits.TextEdit newEdit
        15: .line 401
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        start local 2 // org.eclipse.text.edits.TextEdit newEdit
        16: .line 403
      StackMap locals: org.eclipse.text.edits.TextEdit
      StackMap stack:
            aload 0 /* oldEdit */
            invokevirtual org.eclipse.text.edits.TextEdit.getChildren:()[Lorg/eclipse/text/edits/TextEdit;
            astore 3 /* children */
        start local 3 // org.eclipse.text.edits.TextEdit[] children
        17: .line 404
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        18: goto 23
        19: .line 405
      StackMap locals: org.eclipse.text.edits.TextEdit[] int
      StackMap stack:
            aload 3 /* children */
            iload 4 /* i */
            aaload
            iload 1 /* diff */
            invokestatic org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.shifEdit:(Lorg/eclipse/text/edits/TextEdit;I)Lorg/eclipse/text/edits/TextEdit;
            astore 5 /* shifted */
        start local 5 // org.eclipse.text.edits.TextEdit shifted
        20: .line 406
            aload 5 /* shifted */
            ifnull 22
        21: .line 407
            aload 2 /* newEdit */
            aload 5 /* shifted */
            invokevirtual org.eclipse.text.edits.TextEdit.addChild:(Lorg/eclipse/text/edits/TextEdit;)V
        end local 5 // org.eclipse.text.edits.TextEdit shifted
        22: .line 404
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 4 /* i */
            aload 3 /* children */
            arraylength
            if_icmplt 19
        end local 4 // int i
        24: .line 410
            aload 2 /* newEdit */
            areturn
        end local 3 // org.eclipse.text.edits.TextEdit[] children
        end local 2 // org.eclipse.text.edits.TextEdit newEdit
        end local 1 // int diff
        end local 0 // org.eclipse.text.edits.TextEdit oldEdit
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   25     0   oldEdit  Lorg/eclipse/text/edits/TextEdit;
            0   25     1      diff  I
            3    4     2   newEdit  Lorg/eclipse/text/edits/TextEdit;
            7    8     2   newEdit  Lorg/eclipse/text/edits/TextEdit;
           11   12     2   newEdit  Lorg/eclipse/text/edits/TextEdit;
           14   15     2   newEdit  Lorg/eclipse/text/edits/TextEdit;
           16   25     2   newEdit  Lorg/eclipse/text/edits/TextEdit;
            2    3     3      edit  Lorg/eclipse/text/edits/ReplaceEdit;
            6    7     3      edit  Lorg/eclipse/text/edits/InsertEdit;
           10   11     3      edit  Lorg/eclipse/text/edits/DeleteEdit;
           17   25     3  children  [Lorg/eclipse/text/edits/TextEdit;
           18   24     4         i  I
           20   22     5   shifted  Lorg/eclipse/text/edits/TextEdit;
    MethodParameters:
         Name  Flags
      oldEdit  
      diff     

  private static org.eclipse.jface.text.Document createDocument(java.lang.String, org.eclipse.jface.text.Position[]);
    descriptor: (Ljava/lang/String;[Lorg/eclipse/jface/text/Position;)Lorg/eclipse/jface/text/Document;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // java.lang.String string
        start local 1 // org.eclipse.jface.text.Position[] positions
         0: .line 414
            new org.eclipse.jface.text.Document
            dup
            aload 0 /* string */
            invokespecial org.eclipse.jface.text.Document.<init>:(Ljava/lang/String;)V
            astore 2 /* doc */
        start local 2 // org.eclipse.jface.text.Document doc
         1: .line 416
            aload 1 /* positions */
            ifnull 14
         2: .line 419
            aload 2 /* doc */
            ldc "myCategory"
            invokevirtual org.eclipse.jface.text.Document.addPositionCategory:(Ljava/lang/String;)V
         3: .line 420
            aload 2 /* doc */
            new org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$1
            dup
            ldc "myCategory"
            invokespecial org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$1.<init>:(Ljava/lang/String;)V
            invokevirtual org.eclipse.jface.text.Document.addPositionUpdater:(Lorg/eclipse/jface/text/IPositionUpdater;)V
         4: .line 432
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 11
         6: .line 434
      StackMap locals: org.eclipse.jface.text.Document int
      StackMap stack:
            aload 2 /* doc */
            ldc "myCategory"
            aload 1 /* positions */
            iload 3 /* i */
            aaload
            invokevirtual org.eclipse.jface.text.Document.addPosition:(Ljava/lang/String;Lorg/eclipse/jface/text/Position;)V
         7: .line 435
            goto 10
      StackMap locals:
      StackMap stack: org.eclipse.jface.text.BadLocationException
         8: astore 4 /* e */
        start local 4 // org.eclipse.jface.text.BadLocationException e
         9: .line 436
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Position outside of string. offset: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* positions */
            iload 3 /* i */
            aaload
            getfield org.eclipse.jface.text.Position.offset:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ", length: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* positions */
            iload 3 /* i */
            aaload
            getfield org.eclipse.jface.text.Position.length:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ", string size: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* string */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 4 /* e */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // org.eclipse.jface.text.BadLocationException e
        10: .line 432
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 3 /* i */
            aload 1 /* positions */
            arraylength
            if_icmplt 6
        end local 3 // int i
        12: .line 440
            goto 14
      StackMap locals: java.lang.String org.eclipse.jface.text.Position[] org.eclipse.jface.text.Document
      StackMap stack: org.eclipse.jface.text.BadPositionCategoryException
        13: pop
        14: .line 443
      StackMap locals:
      StackMap stack:
            aload 2 /* doc */
            areturn
        end local 2 // org.eclipse.jface.text.Document doc
        end local 1 // org.eclipse.jface.text.Position[] positions
        end local 0 // java.lang.String string
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0     string  Ljava/lang/String;
            0   15     1  positions  [Lorg/eclipse/jface/text/Position;
            1   15     2        doc  Lorg/eclipse/jface/text/Document;
            5   12     3          i  I
            9   10     4          e  Lorg/eclipse/jface/text/BadLocationException;
      Exception table:
        from    to  target  type
           6     7       8  Class org.eclipse.jface.text.BadLocationException
           1    12      13  Class org.eclipse.jface.text.BadPositionCategoryException
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
           Name  Flags
      string     
      positions  
}
SourceFile: "ASTRewriteFormatter.java"
NestMembers:
  org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$1  org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockContext  org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockFormattingPrefix  org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockFormattingPrefixSuffix  org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ConstPrefix  org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener  org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$FormattingPrefix  org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$NodeMarker  org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$Prefix
InnerClasses:
  org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$1
  public abstract BlockContext = org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockContext of org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter
  private BlockFormattingPrefix = org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$BlockFormattingPrefix 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
  public ConstPrefix = org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ConstPrefix of org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter
  private ExtendedFlattener = org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$ExtendedFlattener of org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter
  private FormattingPrefix = org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$FormattingPrefix 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
  public abstract Prefix = org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter$Prefix of org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter