public class org.eclipse.jdt.internal.corext.util.CodeFormatterUtil
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.corext.util.CodeFormatterUtil
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.corext.util.CodeFormatterUtil this
         0: .line 38
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.eclipse.jdt.internal.corext.util.CodeFormatterUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/corext/util/CodeFormatterUtil;

  public static java.lang.String createIndentString(int, org.eclipse.jdt.core.IJavaProject);
    descriptor: (ILorg/eclipse/jdt/core/IJavaProject;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // int indentationUnits
        start local 1 // org.eclipse.jdt.core.IJavaProject project
         0: .line 52
            aload 1 /* project */
            ifnull 1
            aload 1 /* project */
            iconst_1
            invokeinterface org.eclipse.jdt.core.IJavaProject.getOptions:(Z)Ljava/util/Map;
            goto 2
      StackMap locals:
      StackMap stack:
         1: invokestatic org.eclipse.jdt.core.JavaCore.getOptions:()Ljava/util/Hashtable;
      StackMap locals:
      StackMap stack: java.util.Map
         2: astore 2 /* options */
        start local 2 // java.util.Map options
         3: .line 53
            aload 2 /* options */
            invokestatic org.eclipse.jdt.core.ToolFactory.createCodeFormatter:(Ljava/util/Map;)Lorg/eclipse/jdt/core/formatter/CodeFormatter;
            iload 0 /* indentationUnits */
            invokevirtual org.eclipse.jdt.core.formatter.CodeFormatter.createIndentationString:(I)Ljava/lang/String;
            areturn
        end local 2 // java.util.Map options
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // int indentationUnits
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0  indentationUnits  I
            0    4     1           project  Lorg/eclipse/jdt/core/IJavaProject;
            3    4     2           options  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    MethodParameters:
                  Name  Flags
      indentationUnits  
      project           

  public static int getTabWidth(org.eclipse.jdt.core.IJavaProject);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.core.IJavaProject project
         0: .line 72
            ldc "space"
            aload 0 /* project */
            ldc "org.eclipse.jdt.core.formatter.tabulation.char"
            invokestatic org.eclipse.jdt.internal.corext.util.CodeFormatterUtil.getCoreOption:(Lorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
         1: .line 73
            ldc "org.eclipse.jdt.core.formatter.indentation.size"
            astore 1 /* key */
        start local 1 // java.lang.String key
         2: goto 4
        end local 1 // java.lang.String key
         3: .line 75
      StackMap locals:
      StackMap stack:
            ldc "org.eclipse.jdt.core.formatter.tabulation.size"
            astore 1 /* key */
        start local 1 // java.lang.String key
         4: .line 77
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* project */
            aload 1 /* key */
            iconst_4
            invokestatic org.eclipse.jdt.internal.corext.util.CodeFormatterUtil.getCoreOption:(Lorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;I)I
            ireturn
        end local 1 // java.lang.String key
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0  project  Lorg/eclipse/jdt/core/IJavaProject;
            2    3     1      key  Ljava/lang/String;
            4    5     1      key  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      project  

  public static int getIndentWidth(org.eclipse.jdt.core.IJavaProject);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.core.IJavaProject project
         0: .line 91
            ldc "mixed"
            aload 0 /* project */
            ldc "org.eclipse.jdt.core.formatter.tabulation.char"
            invokestatic org.eclipse.jdt.internal.corext.util.CodeFormatterUtil.getCoreOption:(Lorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
         1: .line 92
            ldc "org.eclipse.jdt.core.formatter.indentation.size"
            astore 1 /* key */
        start local 1 // java.lang.String key
         2: goto 4
        end local 1 // java.lang.String key
         3: .line 94
      StackMap locals:
      StackMap stack:
            ldc "org.eclipse.jdt.core.formatter.tabulation.size"
            astore 1 /* key */
        start local 1 // java.lang.String key
         4: .line 96
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* project */
            aload 1 /* key */
            iconst_4
            invokestatic org.eclipse.jdt.internal.corext.util.CodeFormatterUtil.getCoreOption:(Lorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;I)I
            ireturn
        end local 1 // java.lang.String key
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0  project  Lorg/eclipse/jdt/core/IJavaProject;
            2    3     1      key  Ljava/lang/String;
            4    5     1      key  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      project  

  private static java.lang.String getCoreOption(org.eclipse.jdt.core.IJavaProject, java.lang.String);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.core.IJavaProject project
        start local 1 // java.lang.String key
         0: .line 111
            aload 0 /* project */
            ifnonnull 2
         1: .line 112
            aload 1 /* key */
            invokestatic org.eclipse.jdt.core.JavaCore.getOption:(Ljava/lang/String;)Ljava/lang/String;
            areturn
         2: .line 113
      StackMap locals:
      StackMap stack:
            aload 0 /* project */
            aload 1 /* key */
            iconst_1
            invokeinterface org.eclipse.jdt.core.IJavaProject.getOption:(Ljava/lang/String;Z)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String key
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  project  Lorg/eclipse/jdt/core/IJavaProject;
            0    3     1      key  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      project  
      key      

  private static int getCoreOption(org.eclipse.jdt.core.IJavaProject, java.lang.String, int);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.core.IJavaProject project
        start local 1 // java.lang.String key
        start local 2 // int def
         0: .line 132
            aload 0 /* project */
            aload 1 /* key */
            invokestatic org.eclipse.jdt.internal.corext.util.CodeFormatterUtil.getCoreOption:(Lorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
         1: ireturn
         2: .line 133
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
            pop
         3: .line 134
            iload 2 /* def */
            ireturn
        end local 2 // int def
        end local 1 // java.lang.String key
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0  project  Lorg/eclipse/jdt/core/IJavaProject;
            0    4     1      key  Ljava/lang/String;
            0    4     2      def  I
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.NumberFormatException
    MethodParameters:
         Name  Flags
      project  
      key      
      def      

  public static java.lang.String format(int, java.lang.String, int, java.lang.String, org.eclipse.jdt.core.IJavaProject);
    descriptor: (ILjava/lang/String;ILjava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // int kind
        start local 1 // java.lang.String source
        start local 2 // int indentationLevel
        start local 3 // java.lang.String lineSeparator
        start local 4 // org.eclipse.jdt.core.IJavaProject project
         0: .line 160
            aload 4 /* project */
            ifnull 1
            aload 4 /* project */
            iconst_1
            invokeinterface org.eclipse.jdt.core.IJavaProject.getOptions:(Z)Ljava/util/Map;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: java.util.Map
         2: astore 5 /* options */
        start local 5 // java.util.Map options
         3: .line 161
            iload 0 /* kind */
            aload 1 /* source */
            iload 2 /* indentationLevel */
            aload 3 /* lineSeparator */
            aload 5 /* options */
            invokestatic org.eclipse.jdt.internal.corext.util.CodeFormatterUtil.format:(ILjava/lang/String;ILjava/lang/String;Ljava/util/Map;)Ljava/lang/String;
            areturn
        end local 5 // java.util.Map options
        end local 4 // org.eclipse.jdt.core.IJavaProject project
        end local 3 // java.lang.String lineSeparator
        end local 2 // int indentationLevel
        end local 1 // java.lang.String source
        end local 0 // int kind
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              kind  I
            0    4     1            source  Ljava/lang/String;
            0    4     2  indentationLevel  I
            0    4     3     lineSeparator  Ljava/lang/String;
            0    4     4           project  Lorg/eclipse/jdt/core/IJavaProject;
            3    4     5           options  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    MethodParameters:
                  Name  Flags
      kind              
      source            
      indentationLevel  
      lineSeparator     
      project           

  public static java.lang.String format(int, java.lang.String, int, java.lang.String, java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (ILjava/lang/String;ILjava/lang/String;Ljava/util/Map;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=5
        start local 0 // int kind
        start local 1 // java.lang.String source
        start local 2 // int indentationLevel
        start local 3 // java.lang.String lineSeparator
        start local 4 // java.util.Map options
         0: .line 185
            iload 0 /* kind */
            aload 1 /* source */
            iload 2 /* indentationLevel */
            aload 3 /* lineSeparator */
            aload 4 /* options */
            invokestatic org.eclipse.jdt.internal.corext.util.CodeFormatterUtil.format2:(ILjava/lang/String;ILjava/lang/String;Ljava/util/Map;)Lorg/eclipse/text/edits/TextEdit;
            astore 5 /* edit */
        start local 5 // org.eclipse.text.edits.TextEdit edit
         1: .line 186
            aload 5 /* edit */
            ifnonnull 3
         2: .line 187
            aload 1 /* source */
            areturn
         3: .line 189
      StackMap locals: org.eclipse.text.edits.TextEdit
      StackMap stack:
            new org.eclipse.jface.text.Document
            dup
            aload 1 /* source */
            invokespecial org.eclipse.jface.text.Document.<init>:(Ljava/lang/String;)V
            astore 6 /* document */
        start local 6 // org.eclipse.jface.text.Document document
         4: .line 191
            aload 5 /* edit */
            aload 6 /* document */
            iconst_0
            invokevirtual org.eclipse.text.edits.TextEdit.apply:(Lorg/eclipse/jface/text/IDocument;I)Lorg/eclipse/text/edits/UndoEdit;
            pop
         5: .line 192
            goto 9
      StackMap locals: int java.lang.String int java.lang.String java.util.Map org.eclipse.text.edits.TextEdit org.eclipse.jface.text.Document
      StackMap stack: org.eclipse.jface.text.BadLocationException
         6: astore 7 /* e */
        start local 7 // org.eclipse.jface.text.BadLocationException e
         7: .line 193
            aload 7 /* e */
            invokestatic org.eclipse.jdt.internal.core.manipulation.JavaManipulationPlugin.log:(Ljava/lang/Throwable;)V
         8: .line 194
            iconst_0
            new java.lang.StringBuilder
            dup
            ldc "Formatter created edits with wrong positions: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* 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 7 // org.eclipse.jface.text.BadLocationException e
         9: .line 196
      StackMap locals:
      StackMap stack:
            aload 6 /* document */
            invokevirtual org.eclipse.jface.text.Document.get:()Ljava/lang/String;
            areturn
        end local 6 // org.eclipse.jface.text.Document document
        end local 5 // org.eclipse.text.edits.TextEdit edit
        end local 4 // java.util.Map options
        end local 3 // java.lang.String lineSeparator
        end local 2 // int indentationLevel
        end local 1 // java.lang.String source
        end local 0 // int kind
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   10     0              kind  I
            0   10     1            source  Ljava/lang/String;
            0   10     2  indentationLevel  I
            0   10     3     lineSeparator  Ljava/lang/String;
            0   10     4           options  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            1   10     5              edit  Lorg/eclipse/text/edits/TextEdit;
            4   10     6          document  Lorg/eclipse/jface/text/Document;
            7    9     7                 e  Lorg/eclipse/jface/text/BadLocationException;
      Exception table:
        from    to  target  type
           4     5       6  Class org.eclipse.jface.text.BadLocationException
    Signature: (ILjava/lang/String;ILjava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      kind              
      source            
      indentationLevel  
      lineSeparator     
      options           

  public static org.eclipse.text.edits.TextEdit format2(int, java.lang.String, int, int, int, java.lang.String, java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (ILjava/lang/String;IIILjava/lang/String;Ljava/util/Map;)Lorg/eclipse/text/edits/TextEdit;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=7, args_size=7
        start local 0 // int kind
        start local 1 // java.lang.String source
        start local 2 // int offset
        start local 3 // int length
        start local 4 // int indentationLevel
        start local 5 // java.lang.String lineSeparator
        start local 6 // java.util.Map options
         0: .line 227
            iload 2 /* offset */
            iflt 1
            iload 3 /* length */
            iflt 1
            iload 2 /* offset */
            iload 3 /* length */
            iadd
            aload 1 /* source */
            invokevirtual java.lang.String.length:()I
            if_icmple 2
         1: .line 228
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "offset or length outside of string. offset: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* offset */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ", length: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* length */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ", string size: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* source */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 230
      StackMap locals:
      StackMap stack:
            aload 6 /* options */
            invokestatic org.eclipse.jdt.core.ToolFactory.createCodeFormatter:(Ljava/util/Map;)Lorg/eclipse/jdt/core/formatter/CodeFormatter;
            iload 0 /* kind */
            aload 1 /* source */
            iload 2 /* offset */
            iload 3 /* length */
            iload 4 /* indentationLevel */
            aload 5 /* lineSeparator */
            invokevirtual org.eclipse.jdt.core.formatter.CodeFormatter.format:(ILjava/lang/String;IIILjava/lang/String;)Lorg/eclipse/text/edits/TextEdit;
            areturn
        end local 6 // java.util.Map options
        end local 5 // java.lang.String lineSeparator
        end local 4 // int indentationLevel
        end local 3 // int length
        end local 2 // int offset
        end local 1 // java.lang.String source
        end local 0 // int kind
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0              kind  I
            0    3     1            source  Ljava/lang/String;
            0    3     2            offset  I
            0    3     3            length  I
            0    3     4  indentationLevel  I
            0    3     5     lineSeparator  Ljava/lang/String;
            0    3     6           options  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Signature: (ILjava/lang/String;IIILjava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Lorg/eclipse/text/edits/TextEdit;
    MethodParameters:
                  Name  Flags
      kind              
      source            
      offset            
      length            
      indentationLevel  
      lineSeparator     
      options           

  public static org.eclipse.text.edits.TextEdit format2(int, java.lang.String, int, java.lang.String, java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (ILjava/lang/String;ILjava/lang/String;Ljava/util/Map;)Lorg/eclipse/text/edits/TextEdit;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // int kind
        start local 1 // java.lang.String source
        start local 2 // int indentationLevel
        start local 3 // java.lang.String lineSeparator
        start local 4 // java.util.Map options
         0: .line 257
            iload 0 /* kind */
            aload 1 /* source */
            iconst_0
            aload 1 /* source */
            invokevirtual java.lang.String.length:()I
            iload 2 /* indentationLevel */
            aload 3 /* lineSeparator */
            aload 4 /* options */
            invokestatic org.eclipse.jdt.internal.corext.util.CodeFormatterUtil.format2:(ILjava/lang/String;IIILjava/lang/String;Ljava/util/Map;)Lorg/eclipse/text/edits/TextEdit;
            areturn
        end local 4 // java.util.Map options
        end local 3 // java.lang.String lineSeparator
        end local 2 // int indentationLevel
        end local 1 // java.lang.String source
        end local 0 // int kind
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              kind  I
            0    1     1            source  Ljava/lang/String;
            0    1     2  indentationLevel  I
            0    1     3     lineSeparator  Ljava/lang/String;
            0    1     4           options  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Signature: (ILjava/lang/String;ILjava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Lorg/eclipse/text/edits/TextEdit;
    MethodParameters:
                  Name  Flags
      kind              
      source            
      indentationLevel  
      lineSeparator     
      options           

  public static org.eclipse.text.edits.TextEdit reformat(int, java.lang.String, int, int, int, java.lang.String, java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (ILjava/lang/String;IIILjava/lang/String;Ljava/util/Map;)Lorg/eclipse/text/edits/TextEdit;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=7, args_size=7
        start local 0 // int kind
        start local 1 // java.lang.String source
        start local 2 // int offset
        start local 3 // int length
        start local 4 // int indentationLevel
        start local 5 // java.lang.String lineSeparator
        start local 6 // java.util.Map options
         0: .line 288
            iload 2 /* offset */
            iflt 1
            iload 3 /* length */
            iflt 1
            iload 2 /* offset */
            iload 3 /* length */
            iadd
            aload 1 /* source */
            invokevirtual java.lang.String.length:()I
            if_icmple 2
         1: .line 289
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "offset or length outside of string. offset: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* offset */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ", length: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* length */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ", string size: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* source */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 291
      StackMap locals:
      StackMap stack:
            aload 6 /* options */
            getstatic org.eclipse.jdt.core.ToolFactory.M_FORMAT_EXISTING:I
            invokestatic org.eclipse.jdt.core.ToolFactory.createCodeFormatter:(Ljava/util/Map;I)Lorg/eclipse/jdt/core/formatter/CodeFormatter;
            iload 0 /* kind */
            aload 1 /* source */
            iload 2 /* offset */
            iload 3 /* length */
            iload 4 /* indentationLevel */
            aload 5 /* lineSeparator */
            invokevirtual org.eclipse.jdt.core.formatter.CodeFormatter.format:(ILjava/lang/String;IIILjava/lang/String;)Lorg/eclipse/text/edits/TextEdit;
            areturn
        end local 6 // java.util.Map options
        end local 5 // java.lang.String lineSeparator
        end local 4 // int indentationLevel
        end local 3 // int length
        end local 2 // int offset
        end local 1 // java.lang.String source
        end local 0 // int kind
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0              kind  I
            0    3     1            source  Ljava/lang/String;
            0    3     2            offset  I
            0    3     3            length  I
            0    3     4  indentationLevel  I
            0    3     5     lineSeparator  Ljava/lang/String;
            0    3     6           options  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Signature: (ILjava/lang/String;IIILjava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Lorg/eclipse/text/edits/TextEdit;
    MethodParameters:
                  Name  Flags
      kind              
      source            
      offset            
      length            
      indentationLevel  
      lineSeparator     
      options           

  public static org.eclipse.text.edits.TextEdit reformat(int, java.lang.String, org.eclipse.jface.text.IRegion[], int, java.lang.String, java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (ILjava/lang/String;[Lorg/eclipse/jface/text/IRegion;ILjava/lang/String;Ljava/util/Map;)Lorg/eclipse/text/edits/TextEdit;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // int kind
        start local 1 // java.lang.String source
        start local 2 // org.eclipse.jface.text.IRegion[] regions
        start local 3 // int indentationLevel
        start local 4 // java.lang.String lineSeparator
        start local 5 // java.util.Map options
         0: .line 326
            aload 5 /* options */
            getstatic org.eclipse.jdt.core.ToolFactory.M_FORMAT_EXISTING:I
            invokestatic org.eclipse.jdt.core.ToolFactory.createCodeFormatter:(Ljava/util/Map;I)Lorg/eclipse/jdt/core/formatter/CodeFormatter;
            iload 0 /* kind */
            aload 1 /* source */
            aload 2 /* regions */
            iload 3 /* indentationLevel */
            aload 4 /* lineSeparator */
            invokevirtual org.eclipse.jdt.core.formatter.CodeFormatter.format:(ILjava/lang/String;[Lorg/eclipse/jface/text/IRegion;ILjava/lang/String;)Lorg/eclipse/text/edits/TextEdit;
            areturn
        end local 5 // java.util.Map options
        end local 4 // java.lang.String lineSeparator
        end local 3 // int indentationLevel
        end local 2 // org.eclipse.jface.text.IRegion[] regions
        end local 1 // java.lang.String source
        end local 0 // int kind
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              kind  I
            0    1     1            source  Ljava/lang/String;
            0    1     2           regions  [Lorg/eclipse/jface/text/IRegion;
            0    1     3  indentationLevel  I
            0    1     4     lineSeparator  Ljava/lang/String;
            0    1     5           options  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Signature: (ILjava/lang/String;[Lorg/eclipse/jface/text/IRegion;ILjava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Lorg/eclipse/text/edits/TextEdit;
    MethodParameters:
                  Name  Flags
      kind              
      source            
      regions           
      indentationLevel  
      lineSeparator     
      options           

  public static org.eclipse.text.edits.TextEdit reformat(int, java.lang.String, int, java.lang.String, java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (ILjava/lang/String;ILjava/lang/String;Ljava/util/Map;)Lorg/eclipse/text/edits/TextEdit;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // int kind
        start local 1 // java.lang.String source
        start local 2 // int indentationLevel
        start local 3 // java.lang.String lineSeparator
        start local 4 // java.util.Map options
         0: .line 354
            iload 0 /* kind */
            aload 1 /* source */
            iconst_0
            aload 1 /* source */
            invokevirtual java.lang.String.length:()I
            iload 2 /* indentationLevel */
            aload 3 /* lineSeparator */
            aload 4 /* options */
            invokestatic org.eclipse.jdt.internal.corext.util.CodeFormatterUtil.reformat:(ILjava/lang/String;IIILjava/lang/String;Ljava/util/Map;)Lorg/eclipse/text/edits/TextEdit;
            areturn
        end local 4 // java.util.Map options
        end local 3 // java.lang.String lineSeparator
        end local 2 // int indentationLevel
        end local 1 // java.lang.String source
        end local 0 // int kind
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              kind  I
            0    1     1            source  Ljava/lang/String;
            0    1     2  indentationLevel  I
            0    1     3     lineSeparator  Ljava/lang/String;
            0    1     4           options  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Signature: (ILjava/lang/String;ILjava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Lorg/eclipse/text/edits/TextEdit;
    MethodParameters:
                  Name  Flags
      kind              
      source            
      indentationLevel  
      lineSeparator     
      options           

  public static org.eclipse.text.edits.TextEdit format2(org.eclipse.jdt.core.dom.ASTNode, java.lang.String, int, java.lang.String, java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Lorg/eclipse/jdt/core/dom/ASTNode;Ljava/lang/String;ILjava/lang/String;Ljava/util/Map;)Lorg/eclipse/text/edits/TextEdit;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=10, args_size=5
        start local 0 // org.eclipse.jdt.core.dom.ASTNode node
        start local 1 // java.lang.String source
        start local 2 // int indentationLevel
        start local 3 // java.lang.String lineSeparator
        start local 4 // java.util.Map options
         0: .line 383
            ldc ""
            astore 6 /* prefix */
        start local 6 // java.lang.String prefix
         1: .line 384
            ldc ""
            astore 7 /* suffix */
        start local 7 // java.lang.String suffix
         2: .line 385
            aload 0 /* node */
            instanceof org.eclipse.jdt.core.dom.Statement
            ifeq 9
         3: .line 386
            iconst_2
            istore 5 /* code */
        start local 5 // int code
         4: .line 387
            aload 0 /* node */
            invokevirtual org.eclipse.jdt.core.dom.ASTNode.getNodeType:()I
            bipush 49
            if_icmpne 60
         5: .line 388
            ldc "switch(1) {"
            astore 6 /* prefix */
         6: .line 389
            ldc "}"
            astore 7 /* suffix */
         7: .line 390
            iconst_2
            istore 5 /* code */
         8: .line 392
            goto 60
        end local 5 // int code
      StackMap locals: org.eclipse.jdt.core.dom.ASTNode java.lang.String int java.lang.String java.util.Map top java.lang.String java.lang.String
      StackMap stack:
         9: aload 0 /* node */
            instanceof org.eclipse.jdt.core.dom.Expression
            ifeq 12
            aload 0 /* node */
            invokevirtual org.eclipse.jdt.core.dom.ASTNode.getNodeType:()I
            bipush 58
            if_icmpeq 12
        10: .line 393
            iconst_1
            istore 5 /* code */
        start local 5 // int code
        11: .line 394
            goto 60
        end local 5 // int code
      StackMap locals:
      StackMap stack:
        12: aload 0 /* node */
            instanceof org.eclipse.jdt.core.dom.BodyDeclaration
            ifeq 15
        13: .line 395
            iconst_4
            istore 5 /* code */
        start local 5 // int code
        14: .line 396
            goto 60
        end local 5 // int code
        15: .line 397
      StackMap locals:
      StackMap stack:
            aload 0 /* node */
            invokevirtual org.eclipse.jdt.core.dom.ASTNode.getNodeType:()I
            lookupswitch { // 24
                    1: 43
                    5: 16
                   12: 40
                   15: 23
                   26: 34
                   29: 37
                   35: 34
                   39: 16
                   43: 16
                   44: 27
                   58: 27
                   59: 30
                   65: 58
                   66: 58
                   67: 58
                   68: 58
                   69: 58
                   73: 54
                   74: 16
                   75: 16
                   76: 19
                   80: 47
                   83: 51
                   93: 25
              default: 59
          }
        16: .line 403
      StackMap locals:
      StackMap stack:
            ldc " x;"
            astore 7 /* suffix */
        17: .line 404
            iconst_4
            istore 5 /* code */
        start local 5 // int code
        18: .line 405
            goto 60
        end local 5 // int code
        19: .line 407
      StackMap locals:
      StackMap stack:
            ldc "A<"
            astore 6 /* prefix */
        20: .line 408
            ldc "> x;"
            astore 7 /* suffix */
        21: .line 409
            iconst_4
            istore 5 /* code */
        start local 5 // int code
        22: .line 410
            goto 60
        end local 5 // int code
        23: .line 412
      StackMap locals:
      StackMap stack:
            bipush 8
            istore 5 /* code */
        start local 5 // int code
        24: .line 413
            goto 60
        end local 5 // int code
        25: .line 415
      StackMap locals:
      StackMap stack:
            sipush 128
            istore 5 /* code */
        start local 5 // int code
        26: .line 416
            goto 60
        end local 5 // int code
        27: .line 419
      StackMap locals:
      StackMap stack:
            ldc ";"
            astore 7 /* suffix */
        28: .line 420
            iconst_2
            istore 5 /* code */
        start local 5 // int code
        29: .line 421
            goto 60
        end local 5 // int code
        30: .line 423
      StackMap locals:
      StackMap stack:
            ldc "A "
            astore 6 /* prefix */
        31: .line 424
            ldc ";"
            astore 7 /* suffix */
        32: .line 425
            iconst_2
            istore 5 /* code */
        start local 5 // int code
        33: .line 426
            goto 60
        end local 5 // int code
        34: .line 429
      StackMap locals:
      StackMap stack:
            ldc "\nclass A {}"
            astore 7 /* suffix */
        35: .line 430
            bipush 8
            istore 5 /* code */
        start local 5 // int code
        36: .line 431
            goto 60
        end local 5 // int code
        37: .line 433
      StackMap locals:
      StackMap stack:
            ldc "void foo();"
            astore 7 /* suffix */
        38: .line 434
            iconst_4
            istore 5 /* code */
        start local 5 // int code
        39: .line 435
            goto 60
        end local 5 // int code
        40: .line 437
      StackMap locals:
      StackMap stack:
            ldc "try {}"
            astore 6 /* prefix */
        41: .line 438
            iconst_2
            istore 5 /* code */
        start local 5 // int code
        42: .line 439
            goto 60
        end local 5 // int code
        43: .line 441
      StackMap locals:
      StackMap stack:
            ldc "new A()"
            astore 6 /* prefix */
        44: .line 442
            ldc ";"
            astore 7 /* suffix */
        45: .line 443
            iconst_2
            istore 5 /* code */
        start local 5 // int code
        46: .line 444
            goto 60
        end local 5 // int code
        47: .line 446
      StackMap locals:
      StackMap stack:
            ldc "@Author("
            astore 6 /* prefix */
        48: .line 447
            ldc ") class x {}"
            astore 7 /* suffix */
        49: .line 448
            bipush 8
            istore 5 /* code */
        start local 5 // int code
        50: .line 449
            goto 60
        end local 5 // int code
        51: .line 451
      StackMap locals:
      StackMap stack:
            ldc " class x {}"
            astore 7 /* suffix */
        52: .line 452
            bipush 8
            istore 5 /* code */
        start local 5 // int code
        53: .line 453
            goto 60
        end local 5 // int code
        54: .line 455
      StackMap locals:
      StackMap stack:
            ldc "class X<"
            astore 6 /* prefix */
        55: .line 456
            ldc "> {}"
            astore 7 /* suffix */
        56: .line 457
            bipush 8
            istore 5 /* code */
        start local 5 // int code
        57: .line 458
            goto 60
        end local 5 // int code
        58: .line 465
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        59: .line 468
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        start local 5 // int code
        60: .line 472
      StackMap locals: org.eclipse.jdt.core.dom.ASTNode java.lang.String int java.lang.String java.util.Map int java.lang.String java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 6 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* source */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* suffix */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 8 /* concatStr */
        start local 8 // java.lang.String concatStr
        61: .line 473
            iload 5 /* code */
            aload 8 /* concatStr */
            aload 6 /* prefix */
            invokevirtual java.lang.String.length:()I
            aload 1 /* source */
            invokevirtual java.lang.String.length:()I
            iload 2 /* indentationLevel */
            aload 3 /* lineSeparator */
            aload 4 /* options */
            invokestatic org.eclipse.jdt.internal.corext.util.CodeFormatterUtil.format2:(ILjava/lang/String;IIILjava/lang/String;Ljava/util/Map;)Lorg/eclipse/text/edits/TextEdit;
            astore 9 /* edit */
        start local 9 // org.eclipse.text.edits.TextEdit edit
        62: .line 474
            aload 9 /* edit */
            ifnull 64
            aload 6 /* prefix */
            invokevirtual java.lang.String.length:()I
            ifle 64
        63: .line 475
            aload 9 /* edit */
            aload 6 /* prefix */
            invokevirtual java.lang.String.length:()I
            ineg
            invokevirtual org.eclipse.text.edits.TextEdit.moveTree:(I)V
        64: .line 477
      StackMap locals: java.lang.String org.eclipse.text.edits.TextEdit
      StackMap stack:
            aload 9 /* edit */
            areturn
        end local 9 // org.eclipse.text.edits.TextEdit edit
        end local 8 // java.lang.String concatStr
        end local 7 // java.lang.String suffix
        end local 6 // java.lang.String prefix
        end local 5 // int code
        end local 4 // java.util.Map options
        end local 3 // java.lang.String lineSeparator
        end local 2 // int indentationLevel
        end local 1 // java.lang.String source
        end local 0 // org.eclipse.jdt.core.dom.ASTNode node
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   65     0              node  Lorg/eclipse/jdt/core/dom/ASTNode;
            0   65     1            source  Ljava/lang/String;
            0   65     2  indentationLevel  I
            0   65     3     lineSeparator  Ljava/lang/String;
            0   65     4           options  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            4    9     5              code  I
           11   12     5              code  I
           14   15     5              code  I
           18   19     5              code  I
           22   23     5              code  I
           24   25     5              code  I
           26   27     5              code  I
           29   30     5              code  I
           33   34     5              code  I
           36   37     5              code  I
           39   40     5              code  I
           42   43     5              code  I
           46   47     5              code  I
           50   51     5              code  I
           53   54     5              code  I
           57   58     5              code  I
           60   65     5              code  I
            1   65     6            prefix  Ljava/lang/String;
            2   65     7            suffix  Ljava/lang/String;
           61   65     8         concatStr  Ljava/lang/String;
           62   65     9              edit  Lorg/eclipse/text/edits/TextEdit;
    Signature: (Lorg/eclipse/jdt/core/dom/ASTNode;Ljava/lang/String;ILjava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Lorg/eclipse/text/edits/TextEdit;
    MethodParameters:
                  Name  Flags
      node              
      source            
      indentationLevel  
      lineSeparator     
      options           
}
SourceFile: "CodeFormatterUtil.java"