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 0: aload 0
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
start local 1 1: aload 1
ifnonnull 3
2: new com.sun.tools.javap.BasicWriter$LineWriter
dup
aload 0
invokespecial com.sun.tools.javap.BasicWriter$LineWriter.<init>:(Lcom/sun/tools/javap/Context;)V
astore 1
3: StackMap locals: com.sun.tools.javap.BasicWriter$LineWriter
StackMap stack:
aload 1
areturn
end local 1 end local 0 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 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ldc Lcom/sun/tools/javap/BasicWriter$LineWriter;
aload 0
invokevirtual com.sun.tools.javap.Context.put:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 1
invokestatic com.sun.tools.javap.Options.instance:(Lcom/sun/tools/javap/Context;)Lcom/sun/tools/javap/Options;
astore 2
start local 2 3: aload 0
aload 2
getfield com.sun.tools.javap.Options.indentWidth:I
putfield com.sun.tools.javap.BasicWriter$LineWriter.indentWidth:I
4: aload 0
aload 2
getfield com.sun.tools.javap.Options.tabColumn:I
putfield com.sun.tools.javap.BasicWriter$LineWriter.tabColumn:I
5: aload 0
aload 1
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: aload 0
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
putfield com.sun.tools.javap.BasicWriter$LineWriter.buffer:Ljava/lang/StringBuilder;
7: return
end local 2 end local 1 end local 0 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 start local 1 0: aload 0
getfield com.sun.tools.javap.BasicWriter$LineWriter.pendingNewline:Z
ifeq 3
1: aload 0
invokevirtual com.sun.tools.javap.BasicWriter$LineWriter.println:()V
2: aload 0
iconst_0
putfield com.sun.tools.javap.BasicWriter$LineWriter.pendingNewline:Z
3: StackMap locals:
StackMap stack:
aload 1
ifnonnull 5
4: ldc "null"
astore 1
5: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 6: goto 24
7: StackMap locals: int
StackMap stack:
aload 1
iload 2
invokevirtual java.lang.String.charAt:(I)C
istore 3
start local 3 8: iload 3
lookupswitch { // 2
10: 11
32: 9
default: 13
}
9: StackMap locals: int
StackMap stack:
aload 0
dup
getfield com.sun.tools.javap.BasicWriter$LineWriter.pendingSpaces:I
iconst_1
iadd
putfield com.sun.tools.javap.BasicWriter$LineWriter.pendingSpaces:I
10: goto 23
11: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.tools.javap.BasicWriter$LineWriter.println:()V
12: goto 23
13: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javap.BasicWriter$LineWriter.buffer:Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.length:()I
ifne 15
14: aload 0
invokevirtual com.sun.tools.javap.BasicWriter$LineWriter.indent:()V
15: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javap.BasicWriter$LineWriter.pendingSpaces:I
ifle 22
16: iconst_0
istore 4
start local 4 17: goto 20
18: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.tools.javap.BasicWriter$LineWriter.buffer:Ljava/lang/StringBuilder;
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
19: iinc 4 1
StackMap locals:
StackMap stack:
20: iload 4
aload 0
getfield com.sun.tools.javap.BasicWriter$LineWriter.pendingSpaces:I
if_icmplt 18
end local 4 21: aload 0
iconst_0
putfield com.sun.tools.javap.BasicWriter$LineWriter.pendingSpaces:I
22: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javap.BasicWriter$LineWriter.buffer:Ljava/lang/StringBuilder;
iload 3
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 3 23: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
24: iload 2
aload 1
invokevirtual java.lang.String.length:()I
if_icmplt 7
end local 2 25: return
end local 1 end local 0 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 0: aload 0
iconst_0
putfield com.sun.tools.javap.BasicWriter$LineWriter.pendingSpaces:I
1: aload 0
getfield com.sun.tools.javap.BasicWriter$LineWriter.out:Ljava/io/PrintWriter;
aload 0
getfield com.sun.tools.javap.BasicWriter$LineWriter.buffer:Ljava/lang/StringBuilder;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/Object;)V
2: aload 0
getfield com.sun.tools.javap.BasicWriter$LineWriter.buffer:Ljava/lang/StringBuilder;
iconst_0
invokevirtual java.lang.StringBuilder.setLength:(I)V
3: return
end local 0 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 start local 1 0: aload 0
dup
getfield com.sun.tools.javap.BasicWriter$LineWriter.indentCount:I
iload 1
iadd
putfield com.sun.tools.javap.BasicWriter$LineWriter.indentCount:I
1: return
end local 1 end local 0 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 0: aload 0
getfield com.sun.tools.javap.BasicWriter$LineWriter.indentCount:I
aload 0
getfield com.sun.tools.javap.BasicWriter$LineWriter.indentWidth:I
imul
aload 0
getfield com.sun.tools.javap.BasicWriter$LineWriter.tabColumn:I
iadd
istore 1
start local 1 1: aload 0
dup
getfield com.sun.tools.javap.BasicWriter$LineWriter.pendingSpaces:I
iload 1
aload 0
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
aload 0
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: return
end local 1 end local 0 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 0: aload 0
dup
getfield com.sun.tools.javap.BasicWriter$LineWriter.pendingSpaces:I
aload 0
getfield com.sun.tools.javap.BasicWriter$LineWriter.indentCount:I
aload 0
getfield com.sun.tools.javap.BasicWriter$LineWriter.indentWidth:I
imul
iadd
putfield com.sun.tools.javap.BasicWriter$LineWriter.pendingSpaces:I
1: return
end local 0 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