class com.sun.tools.javap.BasicWriter$LineWriter
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.tools.javap.BasicWriter$LineWriter
  super_class: java.lang.Object
{
  private final java.io.PrintWriter out;
    descriptor: Ljava/io/PrintWriter;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.StringBuilder buffer;
    descriptor: Ljava/lang/StringBuilder;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

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

  private boolean pendingNewline;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

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

  static com.sun.tools.javap.BasicWriter$LineWriter instance(com.sun.tools.javap.Context);
    descriptor: (Lcom/sun/tools/javap/Context;)Lcom/sun/tools/javap/BasicWriter$LineWriter;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.sun.tools.javap.Context context
         0: .line 129
            aload 0 /* context */
            ldc Lcom/sun/tools/javap/BasicWriter$LineWriter;
            invokevirtual com.sun.tools.javap.Context.get:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.sun.tools.javap.BasicWriter$LineWriter
            astore 1 /* instance */
        start local 1 // com.sun.tools.javap.BasicWriter$LineWriter instance
         1: .line 130
            aload 1 /* instance */
            ifnonnull 3
         2: .line 131
            new com.sun.tools.javap.BasicWriter$LineWriter
            dup
            aload 0 /* context */
            invokespecial com.sun.tools.javap.BasicWriter$LineWriter.<init>:(Lcom/sun/tools/javap/Context;)V
            astore 1 /* instance */
         3: .line 132
      StackMap locals: com.sun.tools.javap.BasicWriter$LineWriter
      StackMap stack:
            aload 1 /* instance */
            areturn
        end local 1 // com.sun.tools.javap.BasicWriter$LineWriter instance
        end local 0 // com.sun.tools.javap.Context context
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0   context  Lcom/sun/tools/javap/Context;
            1    4     1  instance  Lcom/sun/tools/javap/BasicWriter$LineWriter;
    MethodParameters:
         Name  Flags
      context  

  protected void <init>(com.sun.tools.javap.Context);
    descriptor: (Lcom/sun/tools/javap/Context;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.tools.javap.BasicWriter$LineWriter this
        start local 1 // com.sun.tools.javap.Context context
         0: .line 135
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 136
            aload 1 /* context */
            ldc Lcom/sun/tools/javap/BasicWriter$LineWriter;
            aload 0 /* this */
            invokevirtual com.sun.tools.javap.Context.put:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 137
            aload 1 /* context */
            invokestatic com.sun.tools.javap.Options.instance:(Lcom/sun/tools/javap/Context;)Lcom/sun/tools/javap/Options;
            astore 2 /* options */
        start local 2 // com.sun.tools.javap.Options options
         3: .line 138
            aload 0 /* this */
            aload 2 /* options */
            getfield com.sun.tools.javap.Options.indentWidth:I
            putfield com.sun.tools.javap.BasicWriter$LineWriter.indentWidth:I
         4: .line 139
            aload 0 /* this */
            aload 2 /* options */
            getfield com.sun.tools.javap.Options.tabColumn:I
            putfield com.sun.tools.javap.BasicWriter$LineWriter.tabColumn:I
         5: .line 140
            aload 0 /* this */
            aload 1 /* context */
            ldc Ljava/io/PrintWriter;
            invokevirtual com.sun.tools.javap.Context.get:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast java.io.PrintWriter
            putfield com.sun.tools.javap.BasicWriter$LineWriter.out:Ljava/io/PrintWriter;
         6: .line 141
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            putfield com.sun.tools.javap.BasicWriter$LineWriter.buffer:Ljava/lang/StringBuilder;
         7: .line 142
            return
        end local 2 // com.sun.tools.javap.Options options
        end local 1 // com.sun.tools.javap.Context context
        end local 0 // com.sun.tools.javap.BasicWriter$LineWriter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lcom/sun/tools/javap/BasicWriter$LineWriter;
            0    8     1  context  Lcom/sun/tools/javap/Context;
            3    8     2  options  Lcom/sun/tools/javap/Options;
    MethodParameters:
         Name  Flags
      context  

  protected void print(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.sun.tools.javap.BasicWriter$LineWriter this
        start local 1 // java.lang.String s
         0: .line 145
            aload 0 /* this */
            getfield com.sun.tools.javap.BasicWriter$LineWriter.pendingNewline:Z
            ifeq 3
         1: .line 146
            aload 0 /* this */
            invokevirtual com.sun.tools.javap.BasicWriter$LineWriter.println:()V
         2: .line 147
            aload 0 /* this */
            iconst_0
            putfield com.sun.tools.javap.BasicWriter$LineWriter.pendingNewline:Z
         3: .line 149
      StackMap locals:
      StackMap stack:
            aload 1 /* s */
            ifnonnull 5
         4: .line 150
            ldc "null"
            astore 1 /* s */
         5: .line 151
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         6: goto 24
         7: .line 152
      StackMap locals: int
      StackMap stack:
            aload 1 /* s */
            iload 2 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* c */
        start local 3 // char c
         8: .line 153
            iload 3 /* c */
            lookupswitch { // 2
                   10: 11
                   32: 9
              default: 13
          }
         9: .line 155
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.sun.tools.javap.BasicWriter$LineWriter.pendingSpaces:I
            iconst_1
            iadd
            putfield com.sun.tools.javap.BasicWriter$LineWriter.pendingSpaces:I
        10: .line 156
            goto 23
        11: .line 159
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.javap.BasicWriter$LineWriter.println:()V
        12: .line 160
            goto 23
        13: .line 163
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javap.BasicWriter$LineWriter.buffer:Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.length:()I
            ifne 15
        14: .line 164
            aload 0 /* this */
            invokevirtual com.sun.tools.javap.BasicWriter$LineWriter.indent:()V
        15: .line 165
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javap.BasicWriter$LineWriter.pendingSpaces:I
            ifle 22
        16: .line 166
            iconst_0
            istore 4 /* sp */
        start local 4 // int sp
        17: goto 20
        18: .line 167
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javap.BasicWriter$LineWriter.buffer:Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        19: .line 166
            iinc 4 /* sp */ 1
      StackMap locals:
      StackMap stack:
        20: iload 4 /* sp */
            aload 0 /* this */
            getfield com.sun.tools.javap.BasicWriter$LineWriter.pendingSpaces:I
            if_icmplt 18
        end local 4 // int sp
        21: .line 168
            aload 0 /* this */
            iconst_0
            putfield com.sun.tools.javap.BasicWriter$LineWriter.pendingSpaces:I
        22: .line 170
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javap.BasicWriter$LineWriter.buffer:Ljava/lang/StringBuilder;
            iload 3 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 3 // char c
        23: .line 151
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 2 /* i */
            aload 1 /* s */
            invokevirtual java.lang.String.length:()I
            if_icmplt 7
        end local 2 // int i
        25: .line 174
            return
        end local 1 // java.lang.String s
        end local 0 // com.sun.tools.javap.BasicWriter$LineWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   26     0  this  Lcom/sun/tools/javap/BasicWriter$LineWriter;
            0   26     1     s  Ljava/lang/String;
            6   25     2     i  I
            8   23     3     c  C
           17   21     4    sp  I
    MethodParameters:
      Name  Flags
      s     

  protected void println();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javap.BasicWriter$LineWriter this
         0: .line 178
            aload 0 /* this */
            iconst_0
            putfield com.sun.tools.javap.BasicWriter$LineWriter.pendingSpaces:I
         1: .line 179
            aload 0 /* this */
            getfield com.sun.tools.javap.BasicWriter$LineWriter.out:Ljava/io/PrintWriter;
            aload 0 /* this */
            getfield com.sun.tools.javap.BasicWriter$LineWriter.buffer:Ljava/lang/StringBuilder;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/Object;)V
         2: .line 180
            aload 0 /* this */
            getfield com.sun.tools.javap.BasicWriter$LineWriter.buffer:Ljava/lang/StringBuilder;
            iconst_0
            invokevirtual java.lang.StringBuilder.setLength:(I)V
         3: .line 181
            return
        end local 0 // com.sun.tools.javap.BasicWriter$LineWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/tools/javap/BasicWriter$LineWriter;

  protected void indent(int);
    descriptor: (I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.tools.javap.BasicWriter$LineWriter this
        start local 1 // int delta
         0: .line 184
            aload 0 /* this */
            dup
            getfield com.sun.tools.javap.BasicWriter$LineWriter.indentCount:I
            iload 1 /* delta */
            iadd
            putfield com.sun.tools.javap.BasicWriter$LineWriter.indentCount:I
         1: .line 185
            return
        end local 1 // int delta
        end local 0 // com.sun.tools.javap.BasicWriter$LineWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/sun/tools/javap/BasicWriter$LineWriter;
            0    2     1  delta  I
    MethodParameters:
       Name  Flags
      delta  

  protected void tab();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.sun.tools.javap.BasicWriter$LineWriter this
         0: .line 188
            aload 0 /* this */
            getfield com.sun.tools.javap.BasicWriter$LineWriter.indentCount:I
            aload 0 /* this */
            getfield com.sun.tools.javap.BasicWriter$LineWriter.indentWidth:I
            imul
            aload 0 /* this */
            getfield com.sun.tools.javap.BasicWriter$LineWriter.tabColumn:I
            iadd
            istore 1 /* col */
        start local 1 // int col
         1: .line 189
            aload 0 /* this */
            dup
            getfield com.sun.tools.javap.BasicWriter$LineWriter.pendingSpaces:I
            iload 1 /* col */
            aload 0 /* this */
            getfield com.sun.tools.javap.BasicWriter$LineWriter.buffer:Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.length:()I
            if_icmpgt 2
            iconst_1
            goto 3
      StackMap locals: com.sun.tools.javap.BasicWriter$LineWriter int
      StackMap stack: com.sun.tools.javap.BasicWriter$LineWriter int
         2: iload 1 /* col */
            aload 0 /* this */
            getfield com.sun.tools.javap.BasicWriter$LineWriter.buffer:Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.length:()I
            isub
      StackMap locals: com.sun.tools.javap.BasicWriter$LineWriter int
      StackMap stack: com.sun.tools.javap.BasicWriter$LineWriter int int
         3: iadd
            putfield com.sun.tools.javap.BasicWriter$LineWriter.pendingSpaces:I
         4: .line 190
            return
        end local 1 // int col
        end local 0 // com.sun.tools.javap.BasicWriter$LineWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/tools/javap/BasicWriter$LineWriter;
            1    5     1   col  I

  private void indent();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.sun.tools.javap.BasicWriter$LineWriter this
         0: .line 193
            aload 0 /* this */
            dup
            getfield com.sun.tools.javap.BasicWriter$LineWriter.pendingSpaces:I
            aload 0 /* this */
            getfield com.sun.tools.javap.BasicWriter$LineWriter.indentCount:I
            aload 0 /* this */
            getfield com.sun.tools.javap.BasicWriter$LineWriter.indentWidth:I
            imul
            iadd
            putfield com.sun.tools.javap.BasicWriter$LineWriter.pendingSpaces:I
         1: .line 194
            return
        end local 0 // com.sun.tools.javap.BasicWriter$LineWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javap/BasicWriter$LineWriter;
}
SourceFile: "BasicWriter.java"
NestHost: com.sun.tools.javap.BasicWriter
InnerClasses:
  private LineWriter = com.sun.tools.javap.BasicWriter$LineWriter of com.sun.tools.javap.BasicWriter