class java.util.Formatter$FormatSpecifier$BigDecimalLayout
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: java.util.Formatter$FormatSpecifier$BigDecimalLayout
super_class: java.lang.Object
{
private java.lang.StringBuilder mant;
descriptor: Ljava/lang/StringBuilder;
flags: (0x0002) ACC_PRIVATE
private java.lang.StringBuilder exp;
descriptor: Ljava/lang/StringBuilder;
flags: (0x0002) ACC_PRIVATE
private boolean dot;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int scale;
descriptor: I
flags: (0x0002) ACC_PRIVATE
final java.util.Formatter$FormatSpecifier this$1;
descriptor: Ljava/util/Formatter$FormatSpecifier;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
public void <init>(java.util.Formatter$FormatSpecifier, java.math.BigInteger, int, java.util.Formatter$BigDecimalLayoutForm);
descriptor: (Ljava/util/Formatter$FormatSpecifier;Ljava/math/BigInteger;ILjava/util/Formatter$BigDecimalLayoutForm;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=5
start local 0 start local 2 start local 3 start local 4 0: aload 0
aload 1
putfield java.util.Formatter$FormatSpecifier$BigDecimalLayout.this$1:Ljava/util/Formatter$FormatSpecifier;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield java.util.Formatter$FormatSpecifier$BigDecimalLayout.dot:Z
2: aload 0
aload 2
iload 3
aload 4
invokevirtual java.util.Formatter$FormatSpecifier$BigDecimalLayout.layout:(Ljava/math/BigInteger;ILjava/util/Formatter$BigDecimalLayoutForm;)V
3: return
end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/util/Formatter$FormatSpecifier$BigDecimalLayout;
0 4 2 intVal Ljava/math/BigInteger;
0 4 3 scale I
0 4 4 form Ljava/util/Formatter$BigDecimalLayoutForm;
MethodParameters:
Name Flags
this$0 final
intVal
scale
form
public boolean hasDot();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.Formatter$FormatSpecifier$BigDecimalLayout.dot:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/Formatter$FormatSpecifier$BigDecimalLayout;
public int scale();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.Formatter$FormatSpecifier$BigDecimalLayout.scale:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/Formatter$FormatSpecifier$BigDecimalLayout;
public java.lang.StringBuilder mantissa();
descriptor: ()Ljava/lang/StringBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.Formatter$FormatSpecifier$BigDecimalLayout.mant:Ljava/lang/StringBuilder;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/Formatter$FormatSpecifier$BigDecimalLayout;
public java.lang.StringBuilder exponent();
descriptor: ()Ljava/lang/StringBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.Formatter$FormatSpecifier$BigDecimalLayout.exp:Ljava/lang/StringBuilder;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/Formatter$FormatSpecifier$BigDecimalLayout;
private void layout(java.math.BigInteger, int, java.util.Formatter$BigDecimalLayoutForm);
descriptor: (Ljava/math/BigInteger;ILjava/util/Formatter$BigDecimalLayoutForm;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual java.math.BigInteger.toString:()Ljava/lang/String;
astore 4
start local 4 1: aload 0
iload 2
putfield java.util.Formatter$FormatSpecifier$BigDecimalLayout.scale:I
2: aload 4
invokevirtual java.lang.String.length:()I
istore 5
start local 5 3: aload 0
new java.lang.StringBuilder
dup
iload 5
bipush 14
iadd
invokespecial java.lang.StringBuilder.<init>:(I)V
putfield java.util.Formatter$FormatSpecifier$BigDecimalLayout.mant:Ljava/lang/StringBuilder;
4: iload 2
ifne 23
5: iload 5
iconst_1
if_icmple 19
6: aload 0
getfield java.util.Formatter$FormatSpecifier$BigDecimalLayout.mant:Ljava/lang/StringBuilder;
aload 4
iconst_0
invokevirtual java.lang.String.charAt:(I)C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
7: aload 3
getstatic java.util.Formatter$BigDecimalLayoutForm.SCIENTIFIC:Ljava/util/Formatter$BigDecimalLayoutForm;
if_acmpne 17
8: aload 0
getfield java.util.Formatter$FormatSpecifier$BigDecimalLayout.mant:Ljava/lang/StringBuilder;
bipush 46
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
9: aload 0
iconst_1
putfield java.util.Formatter$FormatSpecifier$BigDecimalLayout.dot:Z
10: aload 0
getfield java.util.Formatter$FormatSpecifier$BigDecimalLayout.mant:Ljava/lang/StringBuilder;
aload 4
iconst_1
iload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
pop
11: aload 0
new java.lang.StringBuilder
dup
ldc "+"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
putfield java.util.Formatter$FormatSpecifier$BigDecimalLayout.exp:Ljava/lang/StringBuilder;
12: iload 5
bipush 10
if_icmpge 15
13: aload 0
getfield java.util.Formatter$FormatSpecifier$BigDecimalLayout.exp:Ljava/lang/StringBuilder;
bipush 48
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
iload 5
iconst_1
isub
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
14: goto 59
15: StackMap locals: java.lang.String int
StackMap stack:
aload 0
getfield java.util.Formatter$FormatSpecifier$BigDecimalLayout.exp:Ljava/lang/StringBuilder;
iload 5
iconst_1
isub
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
16: goto 59
17: StackMap locals:
StackMap stack:
aload 0
getfield java.util.Formatter$FormatSpecifier$BigDecimalLayout.mant:Ljava/lang/StringBuilder;
aload 4
iconst_1
iload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
pop
18: goto 59
19: StackMap locals:
StackMap stack:
aload 0
getfield java.util.Formatter$FormatSpecifier$BigDecimalLayout.mant:Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
20: aload 3
getstatic java.util.Formatter$BigDecimalLayoutForm.SCIENTIFIC:Ljava/util/Formatter$BigDecimalLayoutForm;
if_acmpne 59
21: aload 0
new java.lang.StringBuilder
dup
ldc "+00"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
putfield java.util.Formatter$FormatSpecifier$BigDecimalLayout.exp:Ljava/lang/StringBuilder;
22: goto 59
StackMap locals:
StackMap stack:
23: aload 3
getstatic java.util.Formatter$BigDecimalLayoutForm.DECIMAL_FLOAT:Ljava/util/Formatter$BigDecimalLayoutForm;
if_acmpne 42
24: iload 2
iload 5
if_icmplt 30
25: aload 0
getfield java.util.Formatter$FormatSpecifier$BigDecimalLayout.mant:Ljava/lang/StringBuilder;
ldc "0."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
26: aload 0
iconst_1
putfield java.util.Formatter$FormatSpecifier$BigDecimalLayout.dot:Z
27: aload 0
getfield java.util.Formatter$FormatSpecifier$BigDecimalLayout.this$1:Ljava/util/Formatter$FormatSpecifier;
aload 0
getfield java.util.Formatter$FormatSpecifier$BigDecimalLayout.mant:Ljava/lang/StringBuilder;
iload 2
iload 5
isub
invokevirtual java.util.Formatter$FormatSpecifier.trailingZeros:(Ljava/lang/StringBuilder;I)V
28: aload 0
getfield java.util.Formatter$FormatSpecifier$BigDecimalLayout.mant:Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
29: goto 59
30: StackMap locals:
StackMap stack:
iload 2
ifle 37
31: iload 5
iload 2
isub
istore 6
start local 6 32: aload 0
getfield java.util.Formatter$FormatSpecifier$BigDecimalLayout.mant:Ljava/lang/StringBuilder;
aload 4
iconst_0
iload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
pop
33: aload 0
getfield java.util.Formatter$FormatSpecifier$BigDecimalLayout.mant:Ljava/lang/StringBuilder;
bipush 46
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
34: aload 0
iconst_1
putfield java.util.Formatter$FormatSpecifier$BigDecimalLayout.dot:Z
35: aload 0
getfield java.util.Formatter$FormatSpecifier$BigDecimalLayout.mant:Ljava/lang/StringBuilder;
aload 4
iload 6
iload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
pop
end local 6 36: goto 59
37: StackMap locals:
StackMap stack:
aload 0
getfield java.util.Formatter$FormatSpecifier$BigDecimalLayout.mant:Ljava/lang/StringBuilder;
aload 4
iconst_0
iload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
pop
38: aload 1
invokevirtual java.math.BigInteger.signum:()I
ifeq 40
39: aload 0
getfield java.util.Formatter$FormatSpecifier$BigDecimalLayout.this$1:Ljava/util/Formatter$FormatSpecifier;
aload 0
getfield java.util.Formatter$FormatSpecifier$BigDecimalLayout.mant:Ljava/lang/StringBuilder;
iload 2
ineg
invokevirtual java.util.Formatter$FormatSpecifier.trailingZeros:(Ljava/lang/StringBuilder;I)V
40: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield java.util.Formatter$FormatSpecifier$BigDecimalLayout.scale:I
41: goto 59
42: StackMap locals:
StackMap stack:
aload 0
getfield java.util.Formatter$FormatSpecifier$BigDecimalLayout.mant:Ljava/lang/StringBuilder;
aload 4
iconst_0
invokevirtual java.lang.String.charAt:(I)C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
43: iload 5
iconst_1
if_icmple 47
44: aload 0
getfield java.util.Formatter$FormatSpecifier$BigDecimalLayout.mant:Ljava/lang/StringBuilder;
bipush 46
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
45: aload 0
iconst_1
putfield java.util.Formatter$FormatSpecifier$BigDecimalLayout.dot:Z
46: aload 0
getfield java.util.Formatter$FormatSpecifier$BigDecimalLayout.mant:Ljava/lang/StringBuilder;
aload 4
iconst_1
iload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
pop
47: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
putfield java.util.Formatter$FormatSpecifier$BigDecimalLayout.exp:Ljava/lang/StringBuilder;
48: iload 2
i2l
lneg
iload 5
iconst_1
isub
i2l
ladd
lstore 6
start local 6 49: lload 6
lconst_0
lcmp
ifeq 58
50: lload 6
invokestatic java.lang.Math.abs:(J)J
lstore 8
start local 8 51: aload 0
getfield java.util.Formatter$FormatSpecifier$BigDecimalLayout.exp:Ljava/lang/StringBuilder;
lload 6
lconst_0
lcmp
ifge 52
bipush 45
goto 53
StackMap locals: java.util.Formatter$FormatSpecifier$BigDecimalLayout java.math.BigInteger int java.util.Formatter$BigDecimalLayoutForm java.lang.String int long long
StackMap stack: java.lang.StringBuilder
52: bipush 43
StackMap locals: java.util.Formatter$FormatSpecifier$BigDecimalLayout java.math.BigInteger int java.util.Formatter$BigDecimalLayoutForm java.lang.String int long long
StackMap stack: java.lang.StringBuilder int
53: invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
54: lload 8
ldc 10
lcmp
ifge 56
55: aload 0
getfield java.util.Formatter$FormatSpecifier$BigDecimalLayout.exp:Ljava/lang/StringBuilder;
bipush 48
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
56: StackMap locals:
StackMap stack:
aload 0
getfield java.util.Formatter$FormatSpecifier$BigDecimalLayout.exp:Ljava/lang/StringBuilder;
lload 8
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
pop
end local 8 57: goto 59
58: StackMap locals:
StackMap stack:
aload 0
getfield java.util.Formatter$FormatSpecifier$BigDecimalLayout.exp:Ljava/lang/StringBuilder;
ldc "+00"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 6 59: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 60 0 this Ljava/util/Formatter$FormatSpecifier$BigDecimalLayout;
0 60 1 intVal Ljava/math/BigInteger;
0 60 2 scale I
0 60 3 form Ljava/util/Formatter$BigDecimalLayoutForm;
1 60 4 coeff Ljava/lang/String;
3 60 5 len I
32 36 6 pad I
49 59 6 adjusted J
51 57 8 abs J
MethodParameters:
Name Flags
intVal
scale
form
}
SourceFile: "Formatter.java"
NestHost: java.util.Formatter
InnerClasses:
public final BigDecimalLayoutForm = java.util.Formatter$BigDecimalLayoutForm of java.util.Formatter
private FormatSpecifier = java.util.Formatter$FormatSpecifier of java.util.Formatter
private BigDecimalLayout = java.util.Formatter$FormatSpecifier$BigDecimalLayout of java.util.Formatter$FormatSpecifier