public class java.text.DecimalFormat extends java.text.NumberFormat
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: java.text.DecimalFormat
super_class: java.text.NumberFormat
{
private transient java.math.BigInteger bigIntegerMultiplier;
descriptor: Ljava/math/BigInteger;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient java.math.BigDecimal bigDecimalMultiplier;
descriptor: Ljava/math/BigDecimal;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private static final int STATUS_INFINITE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int STATUS_POSITIVE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int STATUS_LENGTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private transient java.text.DigitList digitList;
descriptor: Ljava/text/DigitList;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private java.lang.String positivePrefix;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String positiveSuffix;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String negativePrefix;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String negativeSuffix;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String posPrefixPattern;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String posSuffixPattern;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String negPrefixPattern;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String negSuffixPattern;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private int multiplier;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private byte groupingSize;
descriptor: B
flags: (0x0002) ACC_PRIVATE
private boolean decimalSeparatorAlwaysShown;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean parseBigDecimal;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private transient boolean isCurrencyFormat;
descriptor: Z
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private java.text.DecimalFormatSymbols symbols;
descriptor: Ljava/text/DecimalFormatSymbols;
flags: (0x0002) ACC_PRIVATE
private boolean useExponentialNotation;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private transient java.text.FieldPosition[] positivePrefixFieldPositions;
descriptor: [Ljava/text/FieldPosition;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient java.text.FieldPosition[] positiveSuffixFieldPositions;
descriptor: [Ljava/text/FieldPosition;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient java.text.FieldPosition[] negativePrefixFieldPositions;
descriptor: [Ljava/text/FieldPosition;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient java.text.FieldPosition[] negativeSuffixFieldPositions;
descriptor: [Ljava/text/FieldPosition;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private byte minExponentDigits;
descriptor: B
flags: (0x0002) ACC_PRIVATE
private int maximumIntegerDigits;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int minimumIntegerDigits;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int maximumFractionDigits;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int minimumFractionDigits;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.math.RoundingMode roundingMode;
descriptor: Ljava/math/RoundingMode;
flags: (0x0002) ACC_PRIVATE
private transient boolean isFastPath;
descriptor: Z
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient boolean fastPathCheckNeeded;
descriptor: Z
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient java.text.DecimalFormat$FastPathData fastPathData;
descriptor: Ljava/text/DecimalFormat$FastPathData;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
static final int currentSerialVersion;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 4
private int serialVersionOnStream;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static final double MAX_INT_AS_DOUBLE;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2.147483647E9
private static final char PATTERN_ZERO_DIGIT;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 48
private static final char PATTERN_GROUPING_SEPARATOR;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 44
private static final char PATTERN_DECIMAL_SEPARATOR;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 46
private static final char PATTERN_PER_MILLE;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8240
private static final char PATTERN_PERCENT;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 37
private static final char PATTERN_DIGIT;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 35
private static final char PATTERN_SEPARATOR;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 59
private static final java.lang.String PATTERN_EXPONENT;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "E"
private static final char PATTERN_MINUS;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 45
private static final char CURRENCY_SIGN;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 164
private static final char QUOTE;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 39
private static java.text.FieldPosition[] EmptyFieldPositionArray;
descriptor: [Ljava/text/FieldPosition;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static final int DOUBLE_INTEGER_DIGITS;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 309
static final int DOUBLE_FRACTION_DIGITS;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 340
static final int MAXIMUM_INTEGER_DIGITS;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2147483647
static final int MAXIMUM_FRACTION_DIGITS;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2147483647
static final long serialVersionUID;
descriptor: J
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 864413376551465018
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Ljava/text/DecimalFormat;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic java.text.DecimalFormat.$assertionsDisabled:Z
3: iconst_0
anewarray java.text.FieldPosition
putstatic java.text.DecimalFormat.EmptyFieldPositionArray:[Ljava/text/FieldPosition;
4: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
invokespecial java.text.NumberFormat.<init>:()V
1: aload 0
new java.text.DigitList
dup
invokespecial java.text.DigitList.<init>:()V
putfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
2: aload 0
ldc ""
putfield java.text.DecimalFormat.positivePrefix:Ljava/lang/String;
3: aload 0
ldc ""
putfield java.text.DecimalFormat.positiveSuffix:Ljava/lang/String;
4: aload 0
ldc "-"
putfield java.text.DecimalFormat.negativePrefix:Ljava/lang/String;
5: aload 0
ldc ""
putfield java.text.DecimalFormat.negativeSuffix:Ljava/lang/String;
6: aload 0
iconst_1
putfield java.text.DecimalFormat.multiplier:I
7: aload 0
iconst_3
putfield java.text.DecimalFormat.groupingSize:B
8: aload 0
iconst_0
putfield java.text.DecimalFormat.decimalSeparatorAlwaysShown:Z
9: aload 0
iconst_0
putfield java.text.DecimalFormat.parseBigDecimal:Z
10: aload 0
iconst_0
putfield java.text.DecimalFormat.isCurrencyFormat:Z
11: aload 0
aconst_null
putfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
12: aload 0
aload 0
invokespecial java.text.NumberFormat.getMaximumIntegerDigits:()I
putfield java.text.DecimalFormat.maximumIntegerDigits:I
13: aload 0
aload 0
invokespecial java.text.NumberFormat.getMinimumIntegerDigits:()I
putfield java.text.DecimalFormat.minimumIntegerDigits:I
14: aload 0
aload 0
invokespecial java.text.NumberFormat.getMaximumFractionDigits:()I
putfield java.text.DecimalFormat.maximumFractionDigits:I
15: aload 0
aload 0
invokespecial java.text.NumberFormat.getMinimumFractionDigits:()I
putfield java.text.DecimalFormat.minimumFractionDigits:I
16: aload 0
getstatic java.math.RoundingMode.HALF_EVEN:Ljava/math/RoundingMode;
putfield java.text.DecimalFormat.roundingMode:Ljava/math/RoundingMode;
17: aload 0
iconst_0
putfield java.text.DecimalFormat.isFastPath:Z
18: aload 0
iconst_1
putfield java.text.DecimalFormat.fastPathCheckNeeded:Z
19: aload 0
iconst_4
putfield java.text.DecimalFormat.serialVersionOnStream:I
20: getstatic java.util.Locale$Category.FORMAT:Ljava/util/Locale$Category;
invokestatic java.util.Locale.getDefault:(Ljava/util/Locale$Category;)Ljava/util/Locale;
astore 1
start local 1 21: ldc Ljava/text/spi/NumberFormatProvider;
aload 1
invokestatic sun.util.locale.provider.LocaleProviderAdapter.getAdapter:(Ljava/lang/Class;Ljava/util/Locale;)Lsun/util/locale/provider/LocaleProviderAdapter;
astore 2
start local 2 22: aload 2
instanceof sun.util.locale.provider.ResourceBundleBasedAdapter
ifne 24
23: invokestatic sun.util.locale.provider.LocaleProviderAdapter.getResourceBundleBased:()Lsun/util/locale/provider/LocaleProviderAdapter;
astore 2
24: StackMap locals: java.text.DecimalFormat java.util.Locale sun.util.locale.provider.LocaleProviderAdapter
StackMap stack:
aload 2
aload 1
invokevirtual sun.util.locale.provider.LocaleProviderAdapter.getLocaleResources:(Ljava/util/Locale;)Lsun/util/locale/provider/LocaleResources;
invokevirtual sun.util.locale.provider.LocaleResources.getNumberPatterns:()[Ljava/lang/String;
astore 3
start local 3 25: aload 0
aload 1
invokestatic java.text.DecimalFormatSymbols.getInstance:(Ljava/util/Locale;)Ljava/text/DecimalFormatSymbols;
putfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
26: aload 0
aload 3
iconst_0
aaload
iconst_0
invokevirtual java.text.DecimalFormat.applyPattern:(Ljava/lang/String;Z)V
27: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Ljava/text/DecimalFormat;
21 28 1 def Ljava/util/Locale;
22 28 2 adapter Lsun/util/locale/provider/LocaleProviderAdapter;
25 28 3 all [Ljava/lang/String;
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.text.NumberFormat.<init>:()V
1: aload 0
new java.text.DigitList
dup
invokespecial java.text.DigitList.<init>:()V
putfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
2: aload 0
ldc ""
putfield java.text.DecimalFormat.positivePrefix:Ljava/lang/String;
3: aload 0
ldc ""
putfield java.text.DecimalFormat.positiveSuffix:Ljava/lang/String;
4: aload 0
ldc "-"
putfield java.text.DecimalFormat.negativePrefix:Ljava/lang/String;
5: aload 0
ldc ""
putfield java.text.DecimalFormat.negativeSuffix:Ljava/lang/String;
6: aload 0
iconst_1
putfield java.text.DecimalFormat.multiplier:I
7: aload 0
iconst_3
putfield java.text.DecimalFormat.groupingSize:B
8: aload 0
iconst_0
putfield java.text.DecimalFormat.decimalSeparatorAlwaysShown:Z
9: aload 0
iconst_0
putfield java.text.DecimalFormat.parseBigDecimal:Z
10: aload 0
iconst_0
putfield java.text.DecimalFormat.isCurrencyFormat:Z
11: aload 0
aconst_null
putfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
12: aload 0
aload 0
invokespecial java.text.NumberFormat.getMaximumIntegerDigits:()I
putfield java.text.DecimalFormat.maximumIntegerDigits:I
13: aload 0
aload 0
invokespecial java.text.NumberFormat.getMinimumIntegerDigits:()I
putfield java.text.DecimalFormat.minimumIntegerDigits:I
14: aload 0
aload 0
invokespecial java.text.NumberFormat.getMaximumFractionDigits:()I
putfield java.text.DecimalFormat.maximumFractionDigits:I
15: aload 0
aload 0
invokespecial java.text.NumberFormat.getMinimumFractionDigits:()I
putfield java.text.DecimalFormat.minimumFractionDigits:I
16: aload 0
getstatic java.math.RoundingMode.HALF_EVEN:Ljava/math/RoundingMode;
putfield java.text.DecimalFormat.roundingMode:Ljava/math/RoundingMode;
17: aload 0
iconst_0
putfield java.text.DecimalFormat.isFastPath:Z
18: aload 0
iconst_1
putfield java.text.DecimalFormat.fastPathCheckNeeded:Z
19: aload 0
iconst_4
putfield java.text.DecimalFormat.serialVersionOnStream:I
20: aload 0
getstatic java.util.Locale$Category.FORMAT:Ljava/util/Locale$Category;
invokestatic java.util.Locale.getDefault:(Ljava/util/Locale$Category;)Ljava/util/Locale;
invokestatic java.text.DecimalFormatSymbols.getInstance:(Ljava/util/Locale;)Ljava/text/DecimalFormatSymbols;
putfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
21: aload 0
aload 1
iconst_0
invokevirtual java.text.DecimalFormat.applyPattern:(Ljava/lang/String;Z)V
22: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Ljava/text/DecimalFormat;
0 23 1 pattern Ljava/lang/String;
MethodParameters:
Name Flags
pattern
public void <init>(java.lang.String, java.text.DecimalFormatSymbols);
descriptor: (Ljava/lang/String;Ljava/text/DecimalFormatSymbols;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.text.NumberFormat.<init>:()V
1: aload 0
new java.text.DigitList
dup
invokespecial java.text.DigitList.<init>:()V
putfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
2: aload 0
ldc ""
putfield java.text.DecimalFormat.positivePrefix:Ljava/lang/String;
3: aload 0
ldc ""
putfield java.text.DecimalFormat.positiveSuffix:Ljava/lang/String;
4: aload 0
ldc "-"
putfield java.text.DecimalFormat.negativePrefix:Ljava/lang/String;
5: aload 0
ldc ""
putfield java.text.DecimalFormat.negativeSuffix:Ljava/lang/String;
6: aload 0
iconst_1
putfield java.text.DecimalFormat.multiplier:I
7: aload 0
iconst_3
putfield java.text.DecimalFormat.groupingSize:B
8: aload 0
iconst_0
putfield java.text.DecimalFormat.decimalSeparatorAlwaysShown:Z
9: aload 0
iconst_0
putfield java.text.DecimalFormat.parseBigDecimal:Z
10: aload 0
iconst_0
putfield java.text.DecimalFormat.isCurrencyFormat:Z
11: aload 0
aconst_null
putfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
12: aload 0
aload 0
invokespecial java.text.NumberFormat.getMaximumIntegerDigits:()I
putfield java.text.DecimalFormat.maximumIntegerDigits:I
13: aload 0
aload 0
invokespecial java.text.NumberFormat.getMinimumIntegerDigits:()I
putfield java.text.DecimalFormat.minimumIntegerDigits:I
14: aload 0
aload 0
invokespecial java.text.NumberFormat.getMaximumFractionDigits:()I
putfield java.text.DecimalFormat.maximumFractionDigits:I
15: aload 0
aload 0
invokespecial java.text.NumberFormat.getMinimumFractionDigits:()I
putfield java.text.DecimalFormat.minimumFractionDigits:I
16: aload 0
getstatic java.math.RoundingMode.HALF_EVEN:Ljava/math/RoundingMode;
putfield java.text.DecimalFormat.roundingMode:Ljava/math/RoundingMode;
17: aload 0
iconst_0
putfield java.text.DecimalFormat.isFastPath:Z
18: aload 0
iconst_1
putfield java.text.DecimalFormat.fastPathCheckNeeded:Z
19: aload 0
iconst_4
putfield java.text.DecimalFormat.serialVersionOnStream:I
20: aload 0
aload 2
invokevirtual java.text.DecimalFormatSymbols.clone:()Ljava/lang/Object;
checkcast java.text.DecimalFormatSymbols
putfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
21: aload 0
aload 1
iconst_0
invokevirtual java.text.DecimalFormat.applyPattern:(Ljava/lang/String;Z)V
22: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Ljava/text/DecimalFormat;
0 23 1 pattern Ljava/lang/String;
0 23 2 symbols Ljava/text/DecimalFormatSymbols;
MethodParameters:
Name Flags
pattern
symbols
public final java.lang.StringBuffer format(java.lang.Object, java.lang.StringBuffer, java.text.FieldPosition);
descriptor: (Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
instanceof java.lang.Long
ifne 6
aload 1
instanceof java.lang.Integer
ifne 6
1: aload 1
instanceof java.lang.Short
ifne 6
aload 1
instanceof java.lang.Byte
ifne 6
2: aload 1
instanceof java.util.concurrent.atomic.AtomicInteger
ifne 6
3: aload 1
instanceof java.util.concurrent.atomic.AtomicLong
ifne 6
4: aload 1
instanceof java.math.BigInteger
ifeq 7
5: aload 1
checkcast java.math.BigInteger
invokevirtual java.math.BigInteger.bitLength:()I
bipush 64
if_icmpge 7
6: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast java.lang.Number
invokevirtual java.lang.Number.longValue:()J
aload 2
aload 3
invokevirtual java.text.DecimalFormat.format:(JLjava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
areturn
7: StackMap locals:
StackMap stack:
aload 1
instanceof java.math.BigDecimal
ifeq 9
8: aload 0
aload 1
checkcast java.math.BigDecimal
aload 2
aload 3
invokevirtual java.text.DecimalFormat.format:(Ljava/math/BigDecimal;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
areturn
9: StackMap locals:
StackMap stack:
aload 1
instanceof java.math.BigInteger
ifeq 11
10: aload 0
aload 1
checkcast java.math.BigInteger
aload 2
aload 3
invokevirtual java.text.DecimalFormat.format:(Ljava/math/BigInteger;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
areturn
11: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.Number
ifeq 13
12: aload 0
aload 1
checkcast java.lang.Number
invokevirtual java.lang.Number.doubleValue:()D
aload 2
aload 3
invokevirtual java.text.DecimalFormat.format:(DLjava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
areturn
13: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Cannot format given Object as a Number"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljava/text/DecimalFormat;
0 14 1 number Ljava/lang/Object;
0 14 2 toAppendTo Ljava/lang/StringBuffer;
0 14 3 pos Ljava/text/FieldPosition;
MethodParameters:
Name Flags
number
toAppendTo
pos
public java.lang.StringBuffer format(double, java.lang.StringBuffer, java.text.FieldPosition);
descriptor: (DLjava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 3 start local 4 0: iconst_0
istore 5
start local 5 1: aload 4
getstatic java.text.DontCareFieldPosition.INSTANCE:Ljava/text/FieldPosition;
if_acmpne 3
2: iconst_1
istore 5
goto 5
3: StackMap locals: int
StackMap stack:
aload 4
iconst_0
invokevirtual java.text.FieldPosition.setBeginIndex:(I)V
4: aload 4
iconst_0
invokevirtual java.text.FieldPosition.setEndIndex:(I)V
5: StackMap locals:
StackMap stack:
iload 5
ifeq 10
6: aload 0
dload 1
invokevirtual java.text.DecimalFormat.fastFormat:(D)Ljava/lang/String;
astore 6
start local 6 7: aload 6
ifnull 10
8: aload 3
aload 6
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
9: aload 3
areturn
end local 6 10: StackMap locals:
StackMap stack:
aload 0
dload 1
aload 3
aload 4
invokevirtual java.text.FieldPosition.getFieldDelegate:()Ljava/text/Format$FieldDelegate;
invokevirtual java.text.DecimalFormat.format:(DLjava/lang/StringBuffer;Ljava/text/Format$FieldDelegate;)Ljava/lang/StringBuffer;
areturn
end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/text/DecimalFormat;
0 11 1 number D
0 11 3 result Ljava/lang/StringBuffer;
0 11 4 fieldPosition Ljava/text/FieldPosition;
1 11 5 tryFastPath Z
7 10 6 tempResult Ljava/lang/String;
MethodParameters:
Name Flags
number
result
fieldPosition
private java.lang.StringBuffer format(double, java.lang.StringBuffer, java.text.Format$FieldDelegate);
descriptor: (DLjava/lang/StringBuffer;Ljava/text/Format$FieldDelegate;)Ljava/lang/StringBuffer;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=11, args_size=4
start local 0 start local 1 start local 3 start local 4 0: dload 1
invokestatic java.lang.Double.isNaN:(D)Z
ifne 2
1: dload 1
invokestatic java.lang.Double.isInfinite:(D)Z
ifeq 8
aload 0
getfield java.text.DecimalFormat.multiplier:I
ifne 8
2: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.lang.StringBuffer.length:()I
istore 5
start local 5 3: aload 3
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getNaN:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
4: aload 4
iconst_0
getstatic java.text.NumberFormat$Field.INTEGER:Ljava/text/NumberFormat$Field;
getstatic java.text.NumberFormat$Field.INTEGER:Ljava/text/NumberFormat$Field;
5: iload 5
aload 3
invokevirtual java.lang.StringBuffer.length:()I
aload 3
6: invokeinterface java.text.Format$FieldDelegate.formatted:(ILjava/text/Format$Field;Ljava/lang/Object;IILjava/lang/StringBuffer;)V
7: aload 3
areturn
end local 5 8: StackMap locals:
StackMap stack:
dload 1
dconst_0
dcmpg
iflt 10
dload 1
dconst_0
dcmpl
ifne 9
dconst_1
dload 1
ddiv
dconst_0
dcmpg
iflt 10
StackMap locals:
StackMap stack:
9: iconst_0
goto 11
StackMap locals:
StackMap stack:
10: iconst_1
StackMap locals:
StackMap stack: int
11: aload 0
getfield java.text.DecimalFormat.multiplier:I
ifge 12
iconst_1
goto 13
StackMap locals:
StackMap stack: int
12: iconst_0
StackMap locals: java.text.DecimalFormat double java.lang.StringBuffer java.text.Format$FieldDelegate
StackMap stack: int int
13: ixor
istore 5
start local 5 14: aload 0
getfield java.text.DecimalFormat.multiplier:I
iconst_1
if_icmpeq 16
15: dload 1
aload 0
getfield java.text.DecimalFormat.multiplier:I
i2d
dmul
dstore 1
16: StackMap locals: int
StackMap stack:
dload 1
invokestatic java.lang.Double.isInfinite:(D)Z
ifeq 39
17: iload 5
ifeq 22
18: aload 0
aload 3
aload 0
getfield java.text.DecimalFormat.negativePrefix:Ljava/lang/String;
aload 4
19: aload 0
invokevirtual java.text.DecimalFormat.getNegativePrefixFieldPositions:()[Ljava/text/FieldPosition;
getstatic java.text.NumberFormat$Field.SIGN:Ljava/text/NumberFormat$Field;
20: invokevirtual java.text.DecimalFormat.append:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/text/Format$FieldDelegate;[Ljava/text/FieldPosition;Ljava/text/Format$Field;)V
21: goto 25
22: StackMap locals:
StackMap stack:
aload 0
aload 3
aload 0
getfield java.text.DecimalFormat.positivePrefix:Ljava/lang/String;
aload 4
23: aload 0
invokevirtual java.text.DecimalFormat.getPositivePrefixFieldPositions:()[Ljava/text/FieldPosition;
getstatic java.text.NumberFormat$Field.SIGN:Ljava/text/NumberFormat$Field;
24: invokevirtual java.text.DecimalFormat.append:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/text/Format$FieldDelegate;[Ljava/text/FieldPosition;Ljava/text/Format$Field;)V
25: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.lang.StringBuffer.length:()I
istore 6
start local 6 26: aload 3
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getInfinity:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
27: aload 4
iconst_0
getstatic java.text.NumberFormat$Field.INTEGER:Ljava/text/NumberFormat$Field;
getstatic java.text.NumberFormat$Field.INTEGER:Ljava/text/NumberFormat$Field;
28: iload 6
aload 3
invokevirtual java.lang.StringBuffer.length:()I
aload 3
29: invokeinterface java.text.Format$FieldDelegate.formatted:(ILjava/text/Format$Field;Ljava/lang/Object;IILjava/lang/StringBuffer;)V
30: iload 5
ifeq 35
31: aload 0
aload 3
aload 0
getfield java.text.DecimalFormat.negativeSuffix:Ljava/lang/String;
aload 4
32: aload 0
invokevirtual java.text.DecimalFormat.getNegativeSuffixFieldPositions:()[Ljava/text/FieldPosition;
getstatic java.text.NumberFormat$Field.SIGN:Ljava/text/NumberFormat$Field;
33: invokevirtual java.text.DecimalFormat.append:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/text/Format$FieldDelegate;[Ljava/text/FieldPosition;Ljava/text/Format$Field;)V
34: goto 38
35: StackMap locals: int
StackMap stack:
aload 0
aload 3
aload 0
getfield java.text.DecimalFormat.positiveSuffix:Ljava/lang/String;
aload 4
36: aload 0
invokevirtual java.text.DecimalFormat.getPositiveSuffixFieldPositions:()[Ljava/text/FieldPosition;
getstatic java.text.NumberFormat$Field.SIGN:Ljava/text/NumberFormat$Field;
37: invokevirtual java.text.DecimalFormat.append:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/text/Format$FieldDelegate;[Ljava/text/FieldPosition;Ljava/text/Format$Field;)V
38: StackMap locals:
StackMap stack:
aload 3
areturn
end local 6 39: StackMap locals:
StackMap stack:
iload 5
ifeq 41
40: dload 1
dneg
dstore 1
41: StackMap locals:
StackMap stack:
getstatic java.text.DecimalFormat.$assertionsDisabled:Z
ifne 43
dload 1
dconst_0
dcmpl
iflt 42
dload 1
invokestatic java.lang.Double.isInfinite:(D)Z
ifeq 43
StackMap locals:
StackMap stack:
42: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
43: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
dup
astore 6
monitorenter
44: aload 0
invokespecial java.text.NumberFormat.getMaximumIntegerDigits:()I
istore 7
start local 7 45: aload 0
invokespecial java.text.NumberFormat.getMinimumIntegerDigits:()I
istore 8
start local 8 46: aload 0
invokespecial java.text.NumberFormat.getMaximumFractionDigits:()I
istore 9
start local 9 47: aload 0
invokespecial java.text.NumberFormat.getMinimumFractionDigits:()I
istore 10
start local 10 48: aload 0
getfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
iload 5
dload 1
aload 0
getfield java.text.DecimalFormat.useExponentialNotation:Z
ifeq 50
49: iload 7
iload 9
iadd
goto 51
StackMap locals: java.text.DecimalFormat double java.lang.StringBuffer java.text.Format$FieldDelegate int java.text.DigitList int int int int
StackMap stack: java.text.DigitList int double
50: iload 9
51: StackMap locals: java.text.DecimalFormat double java.lang.StringBuffer java.text.Format$FieldDelegate int java.text.DigitList int int int int
StackMap stack: java.text.DigitList int double int
aload 0
getfield java.text.DecimalFormat.useExponentialNotation:Z
ifeq 52
iconst_0
goto 53
StackMap locals: java.text.DecimalFormat double java.lang.StringBuffer java.text.Format$FieldDelegate int java.text.DigitList int int int int
StackMap stack: java.text.DigitList int double int
52: iconst_1
53: StackMap locals: java.text.DecimalFormat double java.lang.StringBuffer java.text.Format$FieldDelegate int java.text.DigitList int int int int
StackMap stack: java.text.DigitList int double int int
invokevirtual java.text.DigitList.set:(ZDIZ)V
54: aload 0
aload 3
aload 4
iload 5
iconst_0
55: iload 7
iload 8
iload 9
iload 10
56: invokevirtual java.text.DecimalFormat.subformat:(Ljava/lang/StringBuffer;Ljava/text/Format$FieldDelegate;ZZIIII)Ljava/lang/StringBuffer;
aload 6
monitorexit
57: areturn
end local 10 end local 9 end local 8 end local 7 58: StackMap locals: java.text.DecimalFormat double java.lang.StringBuffer java.text.Format$FieldDelegate int java.text.DigitList
StackMap stack: java.lang.Throwable
aload 6
monitorexit
59: athrow
end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 60 0 this Ljava/text/DecimalFormat;
0 60 1 number D
0 60 3 result Ljava/lang/StringBuffer;
0 60 4 delegate Ljava/text/Format$FieldDelegate;
3 8 5 iFieldStart I
14 60 5 isNegative Z
26 39 6 iFieldStart I
45 58 7 maxIntDigits I
46 58 8 minIntDigits I
47 58 9 maxFraDigits I
48 58 10 minFraDigits I
Exception table:
from to target type
44 57 58 any
58 59 58 any
MethodParameters:
Name Flags
number
result
delegate
public java.lang.StringBuffer format(long, java.lang.StringBuffer, java.text.FieldPosition);
descriptor: (JLjava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 3 start local 4 0: aload 4
iconst_0
invokevirtual java.text.FieldPosition.setBeginIndex:(I)V
1: aload 4
iconst_0
invokevirtual java.text.FieldPosition.setEndIndex:(I)V
2: aload 0
lload 1
aload 3
aload 4
invokevirtual java.text.FieldPosition.getFieldDelegate:()Ljava/text/Format$FieldDelegate;
invokevirtual java.text.DecimalFormat.format:(JLjava/lang/StringBuffer;Ljava/text/Format$FieldDelegate;)Ljava/lang/StringBuffer;
areturn
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/text/DecimalFormat;
0 3 1 number J
0 3 3 result Ljava/lang/StringBuffer;
0 3 4 fieldPosition Ljava/text/FieldPosition;
MethodParameters:
Name Flags
number
result
fieldPosition
private java.lang.StringBuffer format(long, java.lang.StringBuffer, java.text.Format$FieldDelegate);
descriptor: (JLjava/lang/StringBuffer;Ljava/text/Format$FieldDelegate;)Ljava/lang/StringBuffer;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=12, args_size=4
start local 0 start local 1 start local 3 start local 4 0: lload 1
lconst_0
lcmp
ifge 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 5
start local 5 3: iload 5
ifeq 5
4: lload 1
lneg
lstore 1
5: StackMap locals: int
StackMap stack:
iconst_0
istore 6
start local 6 6: lload 1
lconst_0
lcmp
ifge 10
7: aload 0
getfield java.text.DecimalFormat.multiplier:I
ifeq 17
8: iconst_1
istore 6
9: goto 17
StackMap locals: int
StackMap stack:
10: aload 0
getfield java.text.DecimalFormat.multiplier:I
iconst_1
if_icmpeq 17
aload 0
getfield java.text.DecimalFormat.multiplier:I
ifeq 17
11: ldc 9223372036854775807
aload 0
getfield java.text.DecimalFormat.multiplier:I
i2l
ldiv
lstore 7
start local 7 12: lload 7
lconst_0
lcmp
ifge 14
13: lload 7
lneg
lstore 7
14: StackMap locals: long
StackMap stack:
lload 1
lload 7
lcmp
ifle 15
iconst_1
goto 16
StackMap locals:
StackMap stack:
15: iconst_0
StackMap locals:
StackMap stack: int
16: istore 6
end local 7 17: StackMap locals:
StackMap stack:
iload 6
ifeq 22
18: iload 5
ifeq 20
19: lload 1
lneg
lstore 1
20: StackMap locals:
StackMap stack:
lload 1
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
astore 7
start local 7 21: aload 0
aload 7
aload 3
aload 4
iconst_1
invokevirtual java.text.DecimalFormat.format:(Ljava/math/BigInteger;Ljava/lang/StringBuffer;Ljava/text/Format$FieldDelegate;Z)Ljava/lang/StringBuffer;
areturn
end local 7 22: StackMap locals:
StackMap stack:
lload 1
aload 0
getfield java.text.DecimalFormat.multiplier:I
i2l
lmul
lstore 1
23: lload 1
lconst_0
lcmp
ifne 26
24: iconst_0
istore 5
25: goto 31
26: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.multiplier:I
ifge 31
27: lload 1
lneg
lstore 1
28: iload 5
ifeq 29
iconst_0
goto 30
StackMap locals:
StackMap stack:
29: iconst_1
StackMap locals:
StackMap stack: int
30: istore 5
31: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
dup
astore 7
monitorenter
32: aload 0
invokespecial java.text.NumberFormat.getMaximumIntegerDigits:()I
istore 8
start local 8 33: aload 0
invokespecial java.text.NumberFormat.getMinimumIntegerDigits:()I
istore 9
start local 9 34: aload 0
invokespecial java.text.NumberFormat.getMaximumFractionDigits:()I
istore 10
start local 10 35: aload 0
invokespecial java.text.NumberFormat.getMinimumFractionDigits:()I
istore 11
start local 11 36: aload 0
getfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
iload 5
lload 1
37: aload 0
getfield java.text.DecimalFormat.useExponentialNotation:Z
ifeq 38
iload 8
iload 10
iadd
goto 39
StackMap locals: java.text.DecimalFormat long java.lang.StringBuffer java.text.Format$FieldDelegate int int java.text.DigitList int int int int
StackMap stack: java.text.DigitList int long
38: iconst_0
39: StackMap locals: java.text.DecimalFormat long java.lang.StringBuffer java.text.Format$FieldDelegate int int java.text.DigitList int int int int
StackMap stack: java.text.DigitList int long int
invokevirtual java.text.DigitList.set:(ZJI)V
40: aload 0
aload 3
aload 4
iload 5
iconst_1
41: iload 8
iload 9
iload 10
iload 11
42: invokevirtual java.text.DecimalFormat.subformat:(Ljava/lang/StringBuffer;Ljava/text/Format$FieldDelegate;ZZIIII)Ljava/lang/StringBuffer;
aload 7
monitorexit
43: areturn
end local 11 end local 10 end local 9 end local 8 44: StackMap locals: java.text.DecimalFormat long java.lang.StringBuffer java.text.Format$FieldDelegate int int java.text.DigitList
StackMap stack: java.lang.Throwable
aload 7
monitorexit
45: athrow
end local 6 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 46 0 this Ljava/text/DecimalFormat;
0 46 1 number J
0 46 3 result Ljava/lang/StringBuffer;
0 46 4 delegate Ljava/text/Format$FieldDelegate;
3 46 5 isNegative Z
6 46 6 useBigInteger Z
12 17 7 cutoff J
21 22 7 bigIntegerValue Ljava/math/BigInteger;
33 44 8 maxIntDigits I
34 44 9 minIntDigits I
35 44 10 maxFraDigits I
36 44 11 minFraDigits I
Exception table:
from to target type
32 43 44 any
44 45 44 any
MethodParameters:
Name Flags
number
result
delegate
private java.lang.StringBuffer format(java.math.BigDecimal, java.lang.StringBuffer, java.text.FieldPosition);
descriptor: (Ljava/math/BigDecimal;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
iconst_0
invokevirtual java.text.FieldPosition.setBeginIndex:(I)V
1: aload 3
iconst_0
invokevirtual java.text.FieldPosition.setEndIndex:(I)V
2: aload 0
aload 1
aload 2
aload 3
invokevirtual java.text.FieldPosition.getFieldDelegate:()Ljava/text/Format$FieldDelegate;
invokevirtual java.text.DecimalFormat.format:(Ljava/math/BigDecimal;Ljava/lang/StringBuffer;Ljava/text/Format$FieldDelegate;)Ljava/lang/StringBuffer;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/text/DecimalFormat;
0 3 1 number Ljava/math/BigDecimal;
0 3 2 result Ljava/lang/StringBuffer;
0 3 3 fieldPosition Ljava/text/FieldPosition;
MethodParameters:
Name Flags
number
result
fieldPosition
private java.lang.StringBuffer format(java.math.BigDecimal, java.lang.StringBuffer, java.text.Format$FieldDelegate);
descriptor: (Ljava/math/BigDecimal;Ljava/lang/StringBuffer;Ljava/text/Format$FieldDelegate;)Ljava/lang/StringBuffer;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield java.text.DecimalFormat.multiplier:I
iconst_1
if_icmpeq 2
1: aload 1
aload 0
invokevirtual java.text.DecimalFormat.getBigDecimalMultiplier:()Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.multiply:(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;
astore 1
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.math.BigDecimal.signum:()I
iconst_m1
if_icmpne 3
iconst_1
goto 4
StackMap locals:
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: istore 4
start local 4 5: iload 4
ifeq 7
6: aload 1
invokevirtual java.math.BigDecimal.negate:()Ljava/math/BigDecimal;
astore 1
7: StackMap locals: int
StackMap stack:
aload 0
getfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
dup
astore 5
monitorenter
8: aload 0
invokevirtual java.text.DecimalFormat.getMaximumIntegerDigits:()I
istore 6
start local 6 9: aload 0
invokevirtual java.text.DecimalFormat.getMinimumIntegerDigits:()I
istore 7
start local 7 10: aload 0
invokevirtual java.text.DecimalFormat.getMaximumFractionDigits:()I
istore 8
start local 8 11: aload 0
invokevirtual java.text.DecimalFormat.getMinimumFractionDigits:()I
istore 9
start local 9 12: iload 6
iload 8
iadd
istore 10
start local 10 13: aload 0
getfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
iload 4
aload 1
aload 0
getfield java.text.DecimalFormat.useExponentialNotation:Z
ifeq 16
14: iload 10
ifge 15
ldc 2147483647
goto 17
StackMap locals: java.text.DecimalFormat java.math.BigDecimal java.lang.StringBuffer java.text.Format$FieldDelegate int java.text.DigitList int int int int int
StackMap stack: java.text.DigitList int java.math.BigDecimal
15: iload 10
goto 17
16: StackMap locals: java.text.DecimalFormat java.math.BigDecimal java.lang.StringBuffer java.text.Format$FieldDelegate int java.text.DigitList int int int int int
StackMap stack: java.text.DigitList int java.math.BigDecimal
iload 8
StackMap locals: java.text.DecimalFormat java.math.BigDecimal java.lang.StringBuffer java.text.Format$FieldDelegate int java.text.DigitList int int int int int
StackMap stack: java.text.DigitList int java.math.BigDecimal int
17: aload 0
getfield java.text.DecimalFormat.useExponentialNotation:Z
ifeq 18
iconst_0
goto 19
StackMap locals: java.text.DecimalFormat java.math.BigDecimal java.lang.StringBuffer java.text.Format$FieldDelegate int java.text.DigitList int int int int int
StackMap stack: java.text.DigitList int java.math.BigDecimal int
18: iconst_1
19: StackMap locals: java.text.DecimalFormat java.math.BigDecimal java.lang.StringBuffer java.text.Format$FieldDelegate int java.text.DigitList int int int int int
StackMap stack: java.text.DigitList int java.math.BigDecimal int int
invokevirtual java.text.DigitList.set:(ZLjava/math/BigDecimal;IZ)V
20: aload 0
aload 2
aload 3
iload 4
iconst_0
21: iload 6
iload 7
iload 8
iload 9
22: invokevirtual java.text.DecimalFormat.subformat:(Ljava/lang/StringBuffer;Ljava/text/Format$FieldDelegate;ZZIIII)Ljava/lang/StringBuffer;
aload 5
monitorexit
23: areturn
end local 10 end local 9 end local 8 end local 7 end local 6 24: StackMap locals: java.text.DecimalFormat java.math.BigDecimal java.lang.StringBuffer java.text.Format$FieldDelegate int java.text.DigitList
StackMap stack: java.lang.Throwable
aload 5
monitorexit
25: athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Ljava/text/DecimalFormat;
0 26 1 number Ljava/math/BigDecimal;
0 26 2 result Ljava/lang/StringBuffer;
0 26 3 delegate Ljava/text/Format$FieldDelegate;
5 26 4 isNegative Z
9 24 6 maxIntDigits I
10 24 7 minIntDigits I
11 24 8 maxFraDigits I
12 24 9 minFraDigits I
13 24 10 maximumDigits I
Exception table:
from to target type
8 23 24 any
24 25 24 any
MethodParameters:
Name Flags
number
result
delegate
private java.lang.StringBuffer format(java.math.BigInteger, java.lang.StringBuffer, java.text.FieldPosition);
descriptor: (Ljava/math/BigInteger;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
iconst_0
invokevirtual java.text.FieldPosition.setBeginIndex:(I)V
1: aload 3
iconst_0
invokevirtual java.text.FieldPosition.setEndIndex:(I)V
2: aload 0
aload 1
aload 2
aload 3
invokevirtual java.text.FieldPosition.getFieldDelegate:()Ljava/text/Format$FieldDelegate;
iconst_0
invokevirtual java.text.DecimalFormat.format:(Ljava/math/BigInteger;Ljava/lang/StringBuffer;Ljava/text/Format$FieldDelegate;Z)Ljava/lang/StringBuffer;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/text/DecimalFormat;
0 3 1 number Ljava/math/BigInteger;
0 3 2 result Ljava/lang/StringBuffer;
0 3 3 fieldPosition Ljava/text/FieldPosition;
MethodParameters:
Name Flags
number
result
fieldPosition
private java.lang.StringBuffer format(java.math.BigInteger, java.lang.StringBuffer, java.text.Format$FieldDelegate, boolean);
descriptor: (Ljava/math/BigInteger;Ljava/lang/StringBuffer;Ljava/text/Format$FieldDelegate;Z)Ljava/lang/StringBuffer;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=12, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield java.text.DecimalFormat.multiplier:I
iconst_1
if_icmpeq 2
1: aload 1
aload 0
invokevirtual java.text.DecimalFormat.getBigIntegerMultiplier:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.multiply:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
astore 1
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.math.BigInteger.signum:()I
iconst_m1
if_icmpne 3
iconst_1
goto 4
StackMap locals:
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: istore 5
start local 5 5: iload 5
ifeq 7
6: aload 1
invokevirtual java.math.BigInteger.negate:()Ljava/math/BigInteger;
astore 1
7: StackMap locals: int
StackMap stack:
aload 0
getfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
dup
astore 6
monitorenter
8: iload 4
ifeq 15
9: aload 0
invokespecial java.text.NumberFormat.getMaximumIntegerDigits:()I
istore 7
start local 7 10: aload 0
invokespecial java.text.NumberFormat.getMinimumIntegerDigits:()I
istore 8
start local 8 11: aload 0
invokespecial java.text.NumberFormat.getMaximumFractionDigits:()I
istore 9
start local 9 12: aload 0
invokespecial java.text.NumberFormat.getMinimumFractionDigits:()I
istore 10
start local 10 13: iload 7
iload 9
iadd
istore 11
start local 11 14: goto 22
end local 11 end local 10 end local 9 end local 8 end local 7 15: StackMap locals: java.text.DigitList
StackMap stack:
aload 0
invokevirtual java.text.DecimalFormat.getMaximumIntegerDigits:()I
istore 7
start local 7 16: aload 0
invokevirtual java.text.DecimalFormat.getMinimumIntegerDigits:()I
istore 8
start local 8 17: aload 0
invokevirtual java.text.DecimalFormat.getMaximumFractionDigits:()I
istore 9
start local 9 18: aload 0
invokevirtual java.text.DecimalFormat.getMinimumFractionDigits:()I
istore 10
start local 10 19: iload 7
iload 9
iadd
istore 11
start local 11 20: iload 11
ifge 22
21: ldc 2147483647
istore 11
22: StackMap locals: java.text.DecimalFormat java.math.BigInteger java.lang.StringBuffer java.text.Format$FieldDelegate int int java.text.DigitList int int int int int
StackMap stack:
aload 0
getfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
iload 5
aload 1
23: aload 0
getfield java.text.DecimalFormat.useExponentialNotation:Z
ifeq 24
iload 11
goto 25
StackMap locals: java.text.DecimalFormat java.math.BigInteger java.lang.StringBuffer java.text.Format$FieldDelegate int int java.text.DigitList int int int int int
StackMap stack: java.text.DigitList int java.math.BigInteger
24: iconst_0
25: StackMap locals: java.text.DecimalFormat java.math.BigInteger java.lang.StringBuffer java.text.Format$FieldDelegate int int java.text.DigitList int int int int int
StackMap stack: java.text.DigitList int java.math.BigInteger int
invokevirtual java.text.DigitList.set:(ZLjava/math/BigInteger;I)V
26: aload 0
aload 2
aload 3
iload 5
iconst_1
27: iload 7
iload 8
iload 9
iload 10
28: invokevirtual java.text.DecimalFormat.subformat:(Ljava/lang/StringBuffer;Ljava/text/Format$FieldDelegate;ZZIIII)Ljava/lang/StringBuffer;
aload 6
monitorexit
29: areturn
end local 11 end local 10 end local 9 end local 8 end local 7 30: StackMap locals: java.text.DecimalFormat java.math.BigInteger java.lang.StringBuffer java.text.Format$FieldDelegate int int java.text.DigitList
StackMap stack: java.lang.Throwable
aload 6
monitorexit
31: athrow
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 32 0 this Ljava/text/DecimalFormat;
0 32 1 number Ljava/math/BigInteger;
0 32 2 result Ljava/lang/StringBuffer;
0 32 3 delegate Ljava/text/Format$FieldDelegate;
0 32 4 formatLong Z
5 32 5 isNegative Z
10 15 7 maxIntDigits I
16 30 7 maxIntDigits I
11 15 8 minIntDigits I
17 30 8 minIntDigits I
12 15 9 maxFraDigits I
18 30 9 maxFraDigits I
13 15 10 minFraDigits I
19 30 10 minFraDigits I
14 15 11 maximumDigits I
20 30 11 maximumDigits I
Exception table:
from to target type
8 29 30 any
30 31 30 any
MethodParameters:
Name Flags
number
result
delegate
formatLong
public java.text.AttributedCharacterIterator formatToCharacterIterator(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/text/AttributedCharacterIterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: new java.text.CharacterIteratorFieldDelegate
dup
invokespecial java.text.CharacterIteratorFieldDelegate.<init>:()V
1: astore 2
start local 2 2: new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 3
start local 3 3: aload 1
instanceof java.lang.Double
ifne 4
aload 1
instanceof java.lang.Float
ifeq 6
4: StackMap locals: java.text.CharacterIteratorFieldDelegate java.lang.StringBuffer
StackMap stack:
aload 0
aload 1
checkcast java.lang.Number
invokevirtual java.lang.Number.doubleValue:()D
aload 3
aload 2
invokevirtual java.text.DecimalFormat.format:(DLjava/lang/StringBuffer;Ljava/text/Format$FieldDelegate;)Ljava/lang/StringBuffer;
pop
5: goto 24
StackMap locals:
StackMap stack:
6: aload 1
instanceof java.lang.Long
ifne 9
aload 1
instanceof java.lang.Integer
ifne 9
7: aload 1
instanceof java.lang.Short
ifne 9
aload 1
instanceof java.lang.Byte
ifne 9
8: aload 1
instanceof java.util.concurrent.atomic.AtomicInteger
ifne 9
aload 1
instanceof java.util.concurrent.atomic.AtomicLong
ifeq 11
9: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast java.lang.Number
invokevirtual java.lang.Number.longValue:()J
aload 3
aload 2
invokevirtual java.text.DecimalFormat.format:(JLjava/lang/StringBuffer;Ljava/text/Format$FieldDelegate;)Ljava/lang/StringBuffer;
pop
10: goto 24
StackMap locals:
StackMap stack:
11: aload 1
instanceof java.math.BigDecimal
ifeq 14
12: aload 0
aload 1
checkcast java.math.BigDecimal
aload 3
aload 2
invokevirtual java.text.DecimalFormat.format:(Ljava/math/BigDecimal;Ljava/lang/StringBuffer;Ljava/text/Format$FieldDelegate;)Ljava/lang/StringBuffer;
pop
13: goto 24
StackMap locals:
StackMap stack:
14: aload 1
instanceof java.math.BigInteger
ifeq 17
15: aload 0
aload 1
checkcast java.math.BigInteger
aload 3
aload 2
iconst_0
invokevirtual java.text.DecimalFormat.format:(Ljava/math/BigInteger;Ljava/lang/StringBuffer;Ljava/text/Format$FieldDelegate;Z)Ljava/lang/StringBuffer;
pop
16: goto 24
StackMap locals:
StackMap stack:
17: aload 1
ifnonnull 21
18: new java.lang.NullPointerException
dup
19: ldc "formatToCharacterIterator must be passed non-null object"
20: invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
21: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
22: ldc "Cannot format given Object as a Number"
23: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
24: StackMap locals:
StackMap stack:
aload 2
aload 3
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
invokevirtual java.text.CharacterIteratorFieldDelegate.getIterator:(Ljava/lang/String;)Ljava/text/AttributedCharacterIterator;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Ljava/text/DecimalFormat;
0 25 1 obj Ljava/lang/Object;
2 25 2 delegate Ljava/text/CharacterIteratorFieldDelegate;
3 25 3 sb Ljava/lang/StringBuffer;
MethodParameters:
Name Flags
obj
private boolean checkAndSetFastPathStatus();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield java.text.DecimalFormat.isFastPath:Z
istore 1
start local 1 1: aload 0
getfield java.text.DecimalFormat.roundingMode:Ljava/math/RoundingMode;
getstatic java.math.RoundingMode.HALF_EVEN:Ljava/math/RoundingMode;
if_acmpne 21
2: aload 0
invokevirtual java.text.DecimalFormat.isGroupingUsed:()Z
ifeq 21
3: aload 0
getfield java.text.DecimalFormat.groupingSize:B
iconst_3
if_icmpne 21
4: aload 0
getfield java.text.DecimalFormat.multiplier:I
iconst_1
if_icmpne 21
5: aload 0
getfield java.text.DecimalFormat.decimalSeparatorAlwaysShown:Z
ifne 21
6: aload 0
getfield java.text.DecimalFormat.useExponentialNotation:Z
ifne 21
7: aload 0
aload 0
getfield java.text.DecimalFormat.minimumIntegerDigits:I
iconst_1
if_icmpne 9
8: aload 0
getfield java.text.DecimalFormat.maximumIntegerDigits:I
bipush 10
if_icmplt 9
iconst_1
goto 10
StackMap locals: java.text.DecimalFormat int
StackMap stack: java.text.DecimalFormat
9: iconst_0
10: StackMap locals: java.text.DecimalFormat int
StackMap stack: java.text.DecimalFormat int
putfield java.text.DecimalFormat.isFastPath:Z
11: aload 0
getfield java.text.DecimalFormat.isFastPath:Z
ifeq 22
12: aload 0
getfield java.text.DecimalFormat.isCurrencyFormat:Z
ifeq 17
13: aload 0
getfield java.text.DecimalFormat.minimumFractionDigits:I
iconst_2
if_icmpne 15
14: aload 0
getfield java.text.DecimalFormat.maximumFractionDigits:I
iconst_2
if_icmpeq 22
15: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield java.text.DecimalFormat.isFastPath:Z
16: goto 22
StackMap locals:
StackMap stack:
17: aload 0
getfield java.text.DecimalFormat.minimumFractionDigits:I
ifne 19
18: aload 0
getfield java.text.DecimalFormat.maximumFractionDigits:I
iconst_3
if_icmpeq 22
19: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield java.text.DecimalFormat.isFastPath:Z
20: goto 22
21: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield java.text.DecimalFormat.isFastPath:Z
22: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual java.text.DecimalFormat.resetFastPathData:(Z)V
23: aload 0
iconst_0
putfield java.text.DecimalFormat.fastPathCheckNeeded:Z
24: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Ljava/text/DecimalFormat;
1 25 1 fastPathWasOn Z
private void resetFastPathData(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield java.text.DecimalFormat.isFastPath:Z
ifeq 56
1: aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
ifnonnull 3
2: aload 0
new java.text.DecimalFormat$FastPathData
dup
invokespecial java.text.DecimalFormat$FastPathData.<init>:()V
putfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
3: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getZeroDigit:()C
bipush 48
isub
putfield java.text.DecimalFormat$FastPathData.zeroDelta:I
4: aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getGroupingSeparator:()C
putfield java.text.DecimalFormat$FastPathData.groupingChar:C
5: aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
aload 0
getfield java.text.DecimalFormat.isCurrencyFormat:Z
ifeq 7
6: bipush 99
goto 8
StackMap locals:
StackMap stack: java.text.DecimalFormat$FastPathData
7: sipush 999
8: StackMap locals: java.text.DecimalFormat int
StackMap stack: java.text.DecimalFormat$FastPathData int
putfield java.text.DecimalFormat$FastPathData.fractionalMaxIntBound:I
9: aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
aload 0
getfield java.text.DecimalFormat.isCurrencyFormat:Z
ifeq 11
10: ldc 100.0
goto 12
StackMap locals:
StackMap stack: java.text.DecimalFormat$FastPathData
11: ldc 1000.0
12: StackMap locals: java.text.DecimalFormat int
StackMap stack: java.text.DecimalFormat$FastPathData double
putfield java.text.DecimalFormat$FastPathData.fractionalScaleFactor:D
13: aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
14: aload 0
getfield java.text.DecimalFormat.positivePrefix:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
ifne 16
15: aload 0
getfield java.text.DecimalFormat.positiveSuffix:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
ifne 16
iconst_0
goto 17
StackMap locals:
StackMap stack: java.text.DecimalFormat$FastPathData
16: iconst_1
17: StackMap locals: java.text.DecimalFormat int
StackMap stack: java.text.DecimalFormat$FastPathData int
putfield java.text.DecimalFormat$FastPathData.positiveAffixesRequired:Z
18: aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
19: aload 0
getfield java.text.DecimalFormat.negativePrefix:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
ifne 21
20: aload 0
getfield java.text.DecimalFormat.negativeSuffix:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
ifne 21
iconst_0
goto 22
StackMap locals:
StackMap stack: java.text.DecimalFormat$FastPathData
21: iconst_1
22: StackMap locals: java.text.DecimalFormat int
StackMap stack: java.text.DecimalFormat$FastPathData int
putfield java.text.DecimalFormat$FastPathData.negativeAffixesRequired:Z
23: bipush 10
istore 2
start local 2 24: iconst_3
istore 3
start local 3 25: aload 0
getfield java.text.DecimalFormat.positivePrefix:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
aload 0
getfield java.text.DecimalFormat.negativePrefix:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
invokestatic java.lang.Math.max:(II)I
26: iload 2
27: iadd
28: iload 3
29: iadd
30: iconst_1
31: iadd
32: aload 0
getfield java.text.DecimalFormat.maximumFractionDigits:I
33: iadd
34: aload 0
getfield java.text.DecimalFormat.positiveSuffix:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
aload 0
getfield java.text.DecimalFormat.negativeSuffix:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
invokestatic java.lang.Math.max:(II)I
35: iadd
36: istore 4
start local 4 37: aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
iload 4
newarray 5
putfield java.text.DecimalFormat$FastPathData.fastPathContainer:[C
38: aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
aload 0
getfield java.text.DecimalFormat.positiveSuffix:Ljava/lang/String;
invokevirtual java.lang.String.toCharArray:()[C
putfield java.text.DecimalFormat$FastPathData.charsPositiveSuffix:[C
39: aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
aload 0
getfield java.text.DecimalFormat.negativeSuffix:Ljava/lang/String;
invokevirtual java.lang.String.toCharArray:()[C
putfield java.text.DecimalFormat$FastPathData.charsNegativeSuffix:[C
40: aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
aload 0
getfield java.text.DecimalFormat.positivePrefix:Ljava/lang/String;
invokevirtual java.lang.String.toCharArray:()[C
putfield java.text.DecimalFormat$FastPathData.charsPositivePrefix:[C
41: aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
aload 0
getfield java.text.DecimalFormat.negativePrefix:Ljava/lang/String;
invokevirtual java.lang.String.toCharArray:()[C
putfield java.text.DecimalFormat$FastPathData.charsNegativePrefix:[C
42: aload 0
getfield java.text.DecimalFormat.positivePrefix:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
43: aload 0
getfield java.text.DecimalFormat.negativePrefix:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
44: invokestatic java.lang.Math.max:(II)I
45: istore 5
start local 5 46: iload 2
iload 3
iadd
iload 5
iadd
47: istore 6
start local 6 48: aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
iload 6
iconst_1
isub
putfield java.text.DecimalFormat$FastPathData.integralLastIndex:I
49: aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
iload 6
iconst_1
iadd
putfield java.text.DecimalFormat$FastPathData.fractionalFirstIndex:I
50: aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
getfield java.text.DecimalFormat$FastPathData.fastPathContainer:[C
iload 6
51: aload 0
getfield java.text.DecimalFormat.isCurrencyFormat:Z
ifeq 53
52: aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getMonetaryDecimalSeparator:()C
goto 54
53: StackMap locals: java.text.DecimalFormat int int int int int int
StackMap stack: char[] int
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getDecimalSeparator:()C
54: StackMap locals: java.text.DecimalFormat int int int int int int
StackMap stack: char[] int int
castore
end local 6 end local 5 end local 4 end local 3 end local 2 55: goto 62
StackMap locals: java.text.DecimalFormat int
StackMap stack:
56: iload 1
ifeq 62
57: aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
aconst_null
putfield java.text.DecimalFormat$FastPathData.fastPathContainer:[C
58: aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
aconst_null
putfield java.text.DecimalFormat$FastPathData.charsPositiveSuffix:[C
59: aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
aconst_null
putfield java.text.DecimalFormat$FastPathData.charsNegativeSuffix:[C
60: aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
aconst_null
putfield java.text.DecimalFormat$FastPathData.charsPositivePrefix:[C
61: aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
aconst_null
putfield java.text.DecimalFormat$FastPathData.charsNegativePrefix:[C
62: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 63 0 this Ljava/text/DecimalFormat;
0 63 1 fastPathWasOn Z
24 55 2 maxNbIntegralDigits I
25 55 3 maxNbGroups I
37 55 4 containerSize I
46 55 5 longestPrefixLength I
48 55 6 decimalPointIndex I
MethodParameters:
Name Flags
fastPathWasOn
private boolean exactRoundUp(double, int);
descriptor: (DI)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=28, args_size=3
start local 0 start local 1 start local 3 0: dconst_0
dstore 10
start local 10 1: dconst_0
dstore 12
start local 12 2: dconst_0
dstore 14
start local 14 3: aload 0
getfield java.text.DecimalFormat.isCurrencyFormat:Z
ifeq 8
4: dload 1
ldc 128.0
dmul
dstore 4
start local 4 5: dload 1
ldc 32.0
dmul
dneg
dstore 6
start local 6 6: dload 1
ldc 4.0
dmul
dstore 8
start local 8 7: goto 11
end local 8 end local 6 end local 4 8: StackMap locals: java.text.DecimalFormat double int top top top top top top double double double
StackMap stack:
dload 1
ldc 1024.0
dmul
dstore 4
start local 4 9: dload 1
ldc 16.0
dmul
dneg
dstore 6
start local 6 10: dload 1
ldc 8.0
dmul
dneg
dstore 8
start local 8 11: StackMap locals: java.text.DecimalFormat double int double double double double double double
StackMap stack:
getstatic java.text.DecimalFormat.$assertionsDisabled:Z
ifne 12
dload 6
dneg
dload 8
invokestatic java.lang.Math.abs:(D)D
dcmpl
ifge 12
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
12: StackMap locals:
StackMap stack:
dload 6
dload 8
dadd
dstore 10
13: dload 10
dload 6
dsub
dstore 14
14: dload 8
dload 14
dsub
dstore 12
15: dload 10
dstore 16
start local 16 16: dload 12
dstore 18
start local 18 17: getstatic java.text.DecimalFormat.$assertionsDisabled:Z
ifne 18
dload 4
dload 16
invokestatic java.lang.Math.abs:(D)D
dcmpl
ifge 18
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
18: StackMap locals: double double
StackMap stack:
dload 4
dload 16
dadd
dstore 10
19: dload 10
dload 4
dsub
dstore 14
20: dload 16
dload 14
dsub
dstore 12
21: dload 12
dstore 20
start local 20 22: dload 10
dstore 22
start local 22 23: dload 18
dload 20
dadd
dstore 24
start local 24 24: getstatic java.text.DecimalFormat.$assertionsDisabled:Z
ifne 25
dload 22
dload 24
invokestatic java.lang.Math.abs:(D)D
dcmpl
ifge 25
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
25: StackMap locals: double double double
StackMap stack:
dload 22
dload 24
dadd
dstore 10
26: dload 10
dload 22
dsub
dstore 14
27: dload 24
dload 14
dsub
dstore 26
start local 26 28: dload 26
dconst_0
dcmpl
ifle 30
29: iconst_1
ireturn
30: StackMap locals: double
StackMap stack:
dload 26
dconst_0
dcmpg
ifge 32
31: iconst_0
ireturn
32: StackMap locals:
StackMap stack:
iload 3
iconst_1
iand
ifeq 34
33: iconst_1
ireturn
34: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 26 end local 24 end local 22 end local 20 end local 18 end local 16 end local 14 end local 12 end local 10 end local 8 end local 6 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Ljava/text/DecimalFormat;
0 35 1 fractionalPart D
0 35 3 scaledFractionalPartAsInt I
5 8 4 approxMax D
9 35 4 approxMax D
6 8 6 approxMedium D
10 35 6 approxMedium D
7 8 8 approxMin D
11 35 8 approxMin D
1 35 10 fastTwoSumApproximation D
2 35 12 fastTwoSumRoundOff D
3 35 14 bVirtual D
16 35 16 approxS1 D
17 35 18 roundoffS1 D
22 35 20 roundoff1000 D
23 35 22 approx1000 D
24 35 24 roundoffTotal D
28 35 26 scaledFractionalRoundoff D
MethodParameters:
Name Flags
fractionalPart
scaledFractionalPartAsInt
private void collectIntegralDigits(int, char[], int);
descriptor: (I[CI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
istore 4
start local 4 1: goto 9
2: StackMap locals: int
StackMap stack:
iload 1
sipush 1000
idiv
istore 5
start local 5 3: iload 1
iload 5
bipush 10
ishl
isub
iload 5
iconst_4
ishl
iadd
iload 5
iconst_3
ishl
iadd
istore 6
start local 6 4: iload 5
istore 1
5: aload 2
iload 4
iinc 4 -1
getstatic java.text.DecimalFormat$DigitArrays.DigitOnes1000:[C
iload 6
caload
castore
6: aload 2
iload 4
iinc 4 -1
getstatic java.text.DecimalFormat$DigitArrays.DigitTens1000:[C
iload 6
caload
castore
7: aload 2
iload 4
iinc 4 -1
getstatic java.text.DecimalFormat$DigitArrays.DigitHundreds1000:[C
iload 6
caload
castore
8: aload 2
iload 4
iinc 4 -1
aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
getfield java.text.DecimalFormat$FastPathData.groupingChar:C
castore
end local 6 end local 5 9: StackMap locals:
StackMap stack:
iload 1
sipush 999
if_icmpgt 2
10: aload 2
iload 4
getstatic java.text.DecimalFormat$DigitArrays.DigitOnes1000:[C
iload 1
caload
castore
11: iload 1
bipush 9
if_icmple 15
12: aload 2
iinc 4 -1
iload 4
getstatic java.text.DecimalFormat$DigitArrays.DigitTens1000:[C
iload 1
caload
castore
13: iload 1
bipush 99
if_icmple 15
14: aload 2
iinc 4 -1
iload 4
getstatic java.text.DecimalFormat$DigitArrays.DigitHundreds1000:[C
iload 1
caload
castore
15: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
iload 4
putfield java.text.DecimalFormat$FastPathData.firstUsedIndex:I
16: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ljava/text/DecimalFormat;
0 17 1 number I
0 17 2 digitsBuffer [C
0 17 3 backwardIndex I
1 17 4 index I
3 9 5 q I
4 9 6 r I
MethodParameters:
Name Flags
number
digitsBuffer
backwardIndex
private void collectFractionalDigits(int, char[], int);
descriptor: (I[CI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
istore 4
start local 4 1: getstatic java.text.DecimalFormat$DigitArrays.DigitOnes1000:[C
iload 1
caload
istore 5
start local 5 2: getstatic java.text.DecimalFormat$DigitArrays.DigitTens1000:[C
iload 1
caload
istore 6
start local 6 3: aload 0
getfield java.text.DecimalFormat.isCurrencyFormat:Z
ifeq 7
4: aload 2
iload 4
iinc 4 1
iload 6
castore
5: aload 2
iload 4
iinc 4 1
iload 5
castore
6: goto 17
StackMap locals: int int int
StackMap stack:
7: iload 1
ifeq 16
8: aload 2
iload 4
iinc 4 1
getstatic java.text.DecimalFormat$DigitArrays.DigitHundreds1000:[C
iload 1
caload
castore
9: iload 5
bipush 48
if_icmpeq 13
10: aload 2
iload 4
iinc 4 1
iload 6
castore
11: aload 2
iload 4
iinc 4 1
iload 5
castore
12: goto 17
StackMap locals:
StackMap stack:
13: iload 6
bipush 48
if_icmpeq 17
14: aload 2
iload 4
iinc 4 1
iload 6
castore
15: goto 17
16: StackMap locals:
StackMap stack:
iinc 4 -1
17: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
iload 4
putfield java.text.DecimalFormat$FastPathData.lastFreeIndex:I
18: return
end local 6 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 19 0 this Ljava/text/DecimalFormat;
0 19 1 number I
0 19 2 digitsBuffer [C
0 19 3 startIndex I
1 19 4 index I
2 19 5 digitOnes C
3 19 6 digitTens C
MethodParameters:
Name Flags
number
digitsBuffer
startIndex
private void addAffixes(char[], char[], char[]);
descriptor: ([C[C[C)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
arraylength
istore 4
start local 4 1: aload 3
arraylength
istore 5
start local 5 2: iload 4
ifeq 3
aload 0
aload 2
iload 4
aload 1
invokevirtual java.text.DecimalFormat.prependPrefix:([CI[C)V
3: StackMap locals: int int
StackMap stack:
iload 5
ifeq 4
aload 0
aload 3
iload 5
aload 1
invokevirtual java.text.DecimalFormat.appendSuffix:([CI[C)V
4: 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 5 0 this Ljava/text/DecimalFormat;
0 5 1 container [C
0 5 2 prefix [C
0 5 3 suffix [C
1 5 4 pl I
2 5 5 sl I
MethodParameters:
Name Flags
container
prefix
suffix
private void prependPrefix(char[], int, char[]);
descriptor: ([CI[C)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
dup
getfield java.text.DecimalFormat$FastPathData.firstUsedIndex:I
iload 2
isub
putfield java.text.DecimalFormat$FastPathData.firstUsedIndex:I
1: aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
getfield java.text.DecimalFormat$FastPathData.firstUsedIndex:I
istore 4
start local 4 2: iload 2
iconst_1
if_icmpne 4
3: aload 3
iload 4
aload 1
iconst_0
caload
castore
goto 16
4: StackMap locals: int
StackMap stack:
iload 2
iconst_4
if_icmpgt 15
5: iload 4
istore 5
start local 5 6: iload 5
iload 2
iadd
iconst_1
isub
istore 6
start local 6 7: iload 2
iconst_1
isub
istore 7
start local 7 8: aload 3
iload 5
aload 1
iconst_0
caload
castore
9: aload 3
iload 6
aload 1
iload 7
caload
castore
10: iload 2
iconst_2
if_icmple 12
11: aload 3
iinc 5 1
iload 5
aload 1
iconst_1
caload
castore
12: StackMap locals: int int int
StackMap stack:
iload 2
iconst_4
if_icmpne 16
13: aload 3
iinc 6 -1
iload 6
aload 1
iconst_2
caload
castore
end local 7 end local 6 end local 5 14: goto 16
15: StackMap locals:
StackMap stack:
aload 1
iconst_0
aload 3
iload 4
iload 2
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
16: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ljava/text/DecimalFormat;
0 17 1 prefix [C
0 17 2 len I
0 17 3 container [C
2 17 4 startIndex I
6 14 5 dstLower I
7 14 6 dstUpper I
8 14 7 srcUpper I
MethodParameters:
Name Flags
prefix
len
container
private void appendSuffix(char[], int, char[]);
descriptor: ([CI[C)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
getfield java.text.DecimalFormat$FastPathData.lastFreeIndex:I
istore 4
start local 4 1: iload 2
iconst_1
if_icmpne 3
2: aload 3
iload 4
aload 1
iconst_0
caload
castore
goto 15
3: StackMap locals: int
StackMap stack:
iload 2
iconst_4
if_icmpgt 14
4: iload 4
istore 5
start local 5 5: iload 5
iload 2
iadd
iconst_1
isub
istore 6
start local 6 6: iload 2
iconst_1
isub
istore 7
start local 7 7: aload 3
iload 5
aload 1
iconst_0
caload
castore
8: aload 3
iload 6
aload 1
iload 7
caload
castore
9: iload 2
iconst_2
if_icmple 11
10: aload 3
iinc 5 1
iload 5
aload 1
iconst_1
caload
castore
11: StackMap locals: int int int
StackMap stack:
iload 2
iconst_4
if_icmpne 15
12: aload 3
iinc 6 -1
iload 6
aload 1
iconst_2
caload
castore
end local 7 end local 6 end local 5 13: goto 15
14: StackMap locals:
StackMap stack:
aload 1
iconst_0
aload 3
iload 4
iload 2
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
15: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
dup
getfield java.text.DecimalFormat$FastPathData.lastFreeIndex:I
iload 2
iadd
putfield java.text.DecimalFormat$FastPathData.lastFreeIndex:I
16: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ljava/text/DecimalFormat;
0 17 1 suffix [C
0 17 2 len I
0 17 3 container [C
1 17 4 startIndex I
5 13 5 dstLower I
6 13 6 dstUpper I
7 13 7 srcUpper I
MethodParameters:
Name Flags
suffix
len
container
private void localizeDigits(char[]);
descriptor: ([C)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
getfield java.text.DecimalFormat$FastPathData.lastFreeIndex:I
aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
getfield java.text.DecimalFormat$FastPathData.fractionalFirstIndex:I
isub
1: istore 2
start local 2 2: iload 2
ifge 4
3: aload 0
getfield java.text.DecimalFormat.groupingSize:B
istore 2
4: StackMap locals: int
StackMap stack:
aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
getfield java.text.DecimalFormat$FastPathData.lastFreeIndex:I
iconst_1
isub
istore 3
start local 3 5: goto 12
6: StackMap locals: int
StackMap stack:
iload 2
ifeq 10
7: aload 1
iload 3
dup2
caload
aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
getfield java.text.DecimalFormat$FastPathData.zeroDelta:I
iadd
i2c
castore
8: iinc 2 -1
9: goto 11
10: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.groupingSize:B
istore 2
11: StackMap locals:
StackMap stack:
iinc 3 -1
12: StackMap locals:
StackMap stack:
iload 3
aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
getfield java.text.DecimalFormat$FastPathData.firstUsedIndex:I
13: if_icmpge 6
end local 3 14: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljava/text/DecimalFormat;
0 15 1 digitsBuffer [C
2 15 2 digitsCounter I
5 14 3 cursor I
MethodParameters:
Name Flags
digitsBuffer
private void fastDoubleFormat(double, boolean);
descriptor: (DZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=12, args_size=3
start local 0 start local 1 start local 3 0: aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
getfield java.text.DecimalFormat$FastPathData.fastPathContainer:[C
astore 4
start local 4 1: dload 1
d2i
istore 5
start local 5 2: dload 1
iload 5
i2d
dsub
dstore 6
start local 6 3: dload 6
aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
getfield java.text.DecimalFormat$FastPathData.fractionalScaleFactor:D
dmul
4: dstore 8
start local 8 5: dload 8
d2i
istore 10
start local 10 6: dload 8
iload 10
i2d
dsub
dstore 8
7: iconst_0
istore 11
start local 11 8: dload 8
ldc 0.5
dcmpl
iflt 18
9: dload 8
ldc 0.5
dcmpl
ifne 11
10: aload 0
dload 6
iload 10
invokevirtual java.text.DecimalFormat.exactRoundUp:(DI)Z
istore 11
goto 12
11: StackMap locals: java.text.DecimalFormat double int char[] int double double int int
StackMap stack:
iconst_1
istore 11
12: StackMap locals:
StackMap stack:
iload 11
ifeq 18
13: iload 10
aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
getfield java.text.DecimalFormat$FastPathData.fractionalMaxIntBound:I
if_icmpge 16
14: iinc 10 1
15: goto 18
16: StackMap locals:
StackMap stack:
iconst_0
istore 10
17: iinc 5 1
18: StackMap locals:
StackMap stack:
aload 0
iload 10
aload 4
19: aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
getfield java.text.DecimalFormat$FastPathData.fractionalFirstIndex:I
20: invokevirtual java.text.DecimalFormat.collectFractionalDigits:(I[CI)V
21: aload 0
iload 5
aload 4
22: aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
getfield java.text.DecimalFormat$FastPathData.integralLastIndex:I
23: invokevirtual java.text.DecimalFormat.collectIntegralDigits:(I[CI)V
24: aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
getfield java.text.DecimalFormat$FastPathData.zeroDelta:I
ifeq 26
25: aload 0
aload 4
invokevirtual java.text.DecimalFormat.localizeDigits:([C)V
26: StackMap locals:
StackMap stack:
iload 3
ifeq 33
27: aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
getfield java.text.DecimalFormat$FastPathData.negativeAffixesRequired:Z
ifeq 38
28: aload 0
aload 4
29: aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
getfield java.text.DecimalFormat$FastPathData.charsNegativePrefix:[C
30: aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
getfield java.text.DecimalFormat$FastPathData.charsNegativeSuffix:[C
31: invokevirtual java.text.DecimalFormat.addAffixes:([C[C[C)V
32: goto 38
StackMap locals:
StackMap stack:
33: aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
getfield java.text.DecimalFormat$FastPathData.positiveAffixesRequired:Z
ifeq 38
34: aload 0
aload 4
35: aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
getfield java.text.DecimalFormat$FastPathData.charsPositivePrefix:[C
36: aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
getfield java.text.DecimalFormat$FastPathData.charsPositiveSuffix:[C
37: invokevirtual java.text.DecimalFormat.addAffixes:([C[C[C)V
38: StackMap locals:
StackMap stack:
return
end local 11 end local 10 end local 8 end local 6 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 this Ljava/text/DecimalFormat;
0 39 1 d D
0 39 3 negative Z
1 39 4 container [C
2 39 5 integralPartAsInt I
3 39 6 exactFractionalPart D
5 39 8 scaledFractional D
6 39 10 fractionalPartAsInt I
8 39 11 roundItUp Z
MethodParameters:
Name Flags
d
negative
java.lang.String fastFormat(double);
descriptor: (D)Ljava/lang/String;
flags: (0x0000)
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: iconst_0
istore 3
start local 3 1: aload 0
getfield java.text.DecimalFormat.fastPathCheckNeeded:Z
ifeq 3
2: aload 0
invokevirtual java.text.DecimalFormat.checkAndSetFastPathStatus:()Z
istore 3
3: StackMap locals: int
StackMap stack:
aload 0
getfield java.text.DecimalFormat.isFastPath:Z
ifne 5
4: aconst_null
areturn
5: StackMap locals:
StackMap stack:
dload 1
invokestatic java.lang.Double.isFinite:(D)Z
ifne 7
6: aconst_null
areturn
7: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 8: dload 1
dconst_0
dcmpg
ifge 12
9: iconst_1
istore 4
10: dload 1
dneg
dstore 1
11: goto 17
StackMap locals: int
StackMap stack:
12: dload 1
dconst_0
dcmpl
ifne 17
13: dconst_1
dload 1
invokestatic java.lang.Math.copySign:(DD)D
ldc -1.0
dcmpl
ifne 14
iconst_1
goto 15
StackMap locals:
StackMap stack:
14: iconst_0
StackMap locals:
StackMap stack: int
15: istore 4
16: dconst_0
dstore 1
17: StackMap locals:
StackMap stack:
dload 1
ldc 2.147483647E9
dcmpl
ifle 19
18: aconst_null
areturn
19: StackMap locals:
StackMap stack:
iload 3
ifne 21
20: aload 0
aload 0
getfield java.text.DecimalFormat.isFastPath:Z
invokevirtual java.text.DecimalFormat.resetFastPathData:(Z)V
21: StackMap locals:
StackMap stack:
aload 0
dload 1
iload 4
invokevirtual java.text.DecimalFormat.fastDoubleFormat:(DZ)V
22: new java.lang.String
dup
aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
getfield java.text.DecimalFormat$FastPathData.fastPathContainer:[C
23: aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
getfield java.text.DecimalFormat$FastPathData.firstUsedIndex:I
24: aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
getfield java.text.DecimalFormat$FastPathData.lastFreeIndex:I
aload 0
getfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
getfield java.text.DecimalFormat$FastPathData.firstUsedIndex:I
isub
25: invokespecial java.lang.String.<init>:([CII)V
areturn
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Ljava/text/DecimalFormat;
0 26 1 d D
1 26 3 isDataSet Z
8 26 4 negative Z
MethodParameters:
Name Flags
d
private java.lang.StringBuffer subformat(java.lang.StringBuffer, java.text.Format$FieldDelegate, boolean, boolean, int, int, int, int);
descriptor: (Ljava/lang/StringBuffer;Ljava/text/Format$FieldDelegate;ZZIIII)Ljava/lang/StringBuffer;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=27, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getZeroDigit:()C
istore 9
start local 9 1: iload 9
bipush 48
isub
istore 10
start local 10 2: aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getGroupingSeparator:()C
istore 11
start local 11 3: aload 0
getfield java.text.DecimalFormat.isCurrencyFormat:Z
ifeq 5
4: aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getMonetaryDecimalSeparator:()C
goto 6
5: StackMap locals: int int int
StackMap stack:
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getDecimalSeparator:()C
6: StackMap locals:
StackMap stack: int
istore 12
start local 12 7: aload 0
getfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
invokevirtual java.text.DigitList.isZero:()Z
ifeq 9
8: aload 0
getfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
iconst_0
putfield java.text.DigitList.decimalAt:I
9: StackMap locals: int
StackMap stack:
iload 3
ifeq 14
10: aload 0
aload 1
aload 0
getfield java.text.DecimalFormat.negativePrefix:Ljava/lang/String;
aload 2
11: aload 0
invokevirtual java.text.DecimalFormat.getNegativePrefixFieldPositions:()[Ljava/text/FieldPosition;
getstatic java.text.NumberFormat$Field.SIGN:Ljava/text/NumberFormat$Field;
12: invokevirtual java.text.DecimalFormat.append:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/text/Format$FieldDelegate;[Ljava/text/FieldPosition;Ljava/text/Format$Field;)V
13: goto 17
14: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 0
getfield java.text.DecimalFormat.positivePrefix:Ljava/lang/String;
aload 2
15: aload 0
invokevirtual java.text.DecimalFormat.getPositivePrefixFieldPositions:()[Ljava/text/FieldPosition;
getstatic java.text.NumberFormat$Field.SIGN:Ljava/text/NumberFormat$Field;
16: invokevirtual java.text.DecimalFormat.append:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/text/Format$FieldDelegate;[Ljava/text/FieldPosition;Ljava/text/Format$Field;)V
17: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.useExponentialNotation:Z
ifeq 113
18: aload 1
invokevirtual java.lang.StringBuffer.length:()I
istore 13
start local 13 19: iconst_m1
istore 14
start local 14 20: iconst_m1
istore 15
start local 15 21: aload 0
getfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
getfield java.text.DigitList.decimalAt:I
istore 16
start local 16 22: iload 5
istore 17
start local 17 23: iload 6
istore 18
start local 18 24: iload 17
iconst_1
if_icmple 31
iload 17
iload 6
if_icmple 31
25: iload 16
iconst_1
if_icmplt 28
26: iload 16
iconst_1
isub
iload 17
idiv
iload 17
imul
istore 16
27: goto 29
28: StackMap locals: java.text.DecimalFormat java.lang.StringBuffer java.text.Format$FieldDelegate int int int int int int int int int int int int int int int int
StackMap stack:
iload 16
iload 17
isub
iload 17
idiv
iload 17
imul
istore 16
29: StackMap locals:
StackMap stack:
iconst_1
istore 18
30: goto 32
31: StackMap locals:
StackMap stack:
iload 16
iload 18
isub
istore 16
32: StackMap locals:
StackMap stack:
iload 6
iload 8
iadd
istore 19
start local 19 33: iload 19
ifge 35
34: ldc 2147483647
istore 19
35: StackMap locals: int
StackMap stack:
aload 0
getfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
invokevirtual java.text.DigitList.isZero:()Z
ifeq 36
iload 18
goto 37
36: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
getfield java.text.DigitList.decimalAt:I
iload 16
isub
37: StackMap locals:
StackMap stack: int
istore 20
start local 20 38: iload 19
iload 20
if_icmpge 40
39: iload 20
istore 19
40: StackMap locals: int
StackMap stack:
aload 0
getfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
getfield java.text.DigitList.count:I
istore 21
start local 21 41: iload 19
iload 21
if_icmple 43
42: iload 19
istore 21
43: StackMap locals: int
StackMap stack:
iconst_0
istore 22
start local 22 44: iconst_0
istore 23
start local 23 45: goto 56
46: StackMap locals: int int
StackMap stack:
iload 23
iload 20
if_icmpne 51
47: aload 1
invokevirtual java.lang.StringBuffer.length:()I
istore 14
48: aload 1
iload 12
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
49: iconst_1
istore 22
50: aload 1
invokevirtual java.lang.StringBuffer.length:()I
istore 15
51: StackMap locals:
StackMap stack:
aload 1
iload 23
aload 0
getfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
getfield java.text.DigitList.count:I
if_icmpge 53
52: aload 0
getfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
getfield java.text.DigitList.digits:[C
iload 23
caload
iload 10
iadd
i2c
goto 54
53: StackMap locals:
StackMap stack: java.lang.StringBuffer
iload 9
54: StackMap locals: java.text.DecimalFormat java.lang.StringBuffer java.text.Format$FieldDelegate int int int int int int int int int int int int int int int int int int int int int
StackMap stack: java.lang.StringBuffer int
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
55: iinc 23 1
StackMap locals:
StackMap stack:
56: iload 23
iload 21
if_icmplt 46
end local 23 57: aload 0
getfield java.text.DecimalFormat.decimalSeparatorAlwaysShown:Z
ifeq 62
iload 21
iload 20
if_icmpne 62
58: aload 1
invokevirtual java.lang.StringBuffer.length:()I
istore 14
59: aload 1
iload 12
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
60: iconst_1
istore 22
61: aload 1
invokevirtual java.lang.StringBuffer.length:()I
istore 15
62: StackMap locals:
StackMap stack:
iload 14
iconst_m1
if_icmpne 64
63: aload 1
invokevirtual java.lang.StringBuffer.length:()I
istore 14
64: StackMap locals:
StackMap stack:
aload 2
iconst_0
getstatic java.text.NumberFormat$Field.INTEGER:Ljava/text/NumberFormat$Field;
getstatic java.text.NumberFormat$Field.INTEGER:Ljava/text/NumberFormat$Field;
65: iload 13
iload 14
aload 1
66: invokeinterface java.text.Format$FieldDelegate.formatted:(ILjava/text/Format$Field;Ljava/lang/Object;IILjava/lang/StringBuffer;)V
67: iload 22
ifeq 72
68: aload 2
getstatic java.text.NumberFormat$Field.DECIMAL_SEPARATOR:Ljava/text/NumberFormat$Field;
69: getstatic java.text.NumberFormat$Field.DECIMAL_SEPARATOR:Ljava/text/NumberFormat$Field;
70: iload 14
iload 15
aload 1
71: invokeinterface java.text.Format$FieldDelegate.formatted:(Ljava/text/Format$Field;Ljava/lang/Object;IILjava/lang/StringBuffer;)V
72: StackMap locals:
StackMap stack:
iload 15
iconst_m1
if_icmpne 74
73: aload 1
invokevirtual java.lang.StringBuffer.length:()I
istore 15
74: StackMap locals:
StackMap stack:
aload 2
iconst_1
getstatic java.text.NumberFormat$Field.FRACTION:Ljava/text/NumberFormat$Field;
getstatic java.text.NumberFormat$Field.FRACTION:Ljava/text/NumberFormat$Field;
75: iload 15
aload 1
invokevirtual java.lang.StringBuffer.length:()I
aload 1
76: invokeinterface java.text.Format$FieldDelegate.formatted:(ILjava/text/Format$Field;Ljava/lang/Object;IILjava/lang/StringBuffer;)V
77: aload 1
invokevirtual java.lang.StringBuffer.length:()I
istore 23
start local 23 78: aload 1
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getExponentSeparator:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
79: aload 2
getstatic java.text.NumberFormat$Field.EXPONENT_SYMBOL:Ljava/text/NumberFormat$Field;
getstatic java.text.NumberFormat$Field.EXPONENT_SYMBOL:Ljava/text/NumberFormat$Field;
80: iload 23
aload 1
invokevirtual java.lang.StringBuffer.length:()I
aload 1
81: invokeinterface java.text.Format$FieldDelegate.formatted:(Ljava/text/Format$Field;Ljava/lang/Object;IILjava/lang/StringBuffer;)V
82: aload 0
getfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
invokevirtual java.text.DigitList.isZero:()Z
ifeq 84
83: iconst_0
istore 16
84: StackMap locals: int
StackMap stack:
iload 16
ifge 85
iconst_1
goto 86
StackMap locals:
StackMap stack:
85: iconst_0
StackMap locals:
StackMap stack: int
86: istore 24
start local 24 87: iload 24
ifeq 94
88: iload 16
ineg
istore 16
89: aload 1
invokevirtual java.lang.StringBuffer.length:()I
istore 23
90: aload 1
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getMinusSign:()C
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
91: aload 2
getstatic java.text.NumberFormat$Field.EXPONENT_SIGN:Ljava/text/NumberFormat$Field;
getstatic java.text.NumberFormat$Field.EXPONENT_SIGN:Ljava/text/NumberFormat$Field;
92: iload 23
aload 1
invokevirtual java.lang.StringBuffer.length:()I
aload 1
93: invokeinterface java.text.Format$FieldDelegate.formatted:(Ljava/text/Format$Field;Ljava/lang/Object;IILjava/lang/StringBuffer;)V
94: StackMap locals: int
StackMap stack:
aload 0
getfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
iload 24
iload 16
i2l
invokevirtual java.text.DigitList.set:(ZJ)V
95: aload 1
invokevirtual java.lang.StringBuffer.length:()I
istore 25
start local 25 96: aload 0
getfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
getfield java.text.DigitList.decimalAt:I
istore 26
start local 26 97: goto 100
98: StackMap locals: int int
StackMap stack:
aload 1
iload 9
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
99: iinc 26 1
StackMap locals:
StackMap stack:
100: iload 26
aload 0
getfield java.text.DecimalFormat.minExponentDigits:B
if_icmplt 98
end local 26 101: iconst_0
istore 26
start local 26 102: goto 108
103: StackMap locals:
StackMap stack:
aload 1
iload 26
aload 0
getfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
getfield java.text.DigitList.count:I
if_icmpge 105
104: aload 0
getfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
getfield java.text.DigitList.digits:[C
iload 26
caload
iload 10
iadd
i2c
goto 106
StackMap locals:
StackMap stack: java.lang.StringBuffer
105: iload 9
106: StackMap locals: java.text.DecimalFormat java.lang.StringBuffer java.text.Format$FieldDelegate int int int int int int int int int int int int int int int int int int int int int int int int
StackMap stack: java.lang.StringBuffer int
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
107: iinc 26 1
StackMap locals:
StackMap stack:
108: iload 26
aload 0
getfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
getfield java.text.DigitList.decimalAt:I
if_icmplt 103
end local 26 109: aload 2
getstatic java.text.NumberFormat$Field.EXPONENT:Ljava/text/NumberFormat$Field;
getstatic java.text.NumberFormat$Field.EXPONENT:Ljava/text/NumberFormat$Field;
iload 25
110: aload 1
invokevirtual java.lang.StringBuffer.length:()I
aload 1
111: invokeinterface java.text.Format$FieldDelegate.formatted:(Ljava/text/Format$Field;Ljava/lang/Object;IILjava/lang/StringBuffer;)V
end local 25 end local 24 end local 23 end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 112: goto 175
113: StackMap locals: java.text.DecimalFormat java.lang.StringBuffer java.text.Format$FieldDelegate int int int int int int int int int int
StackMap stack:
aload 1
invokevirtual java.lang.StringBuffer.length:()I
istore 13
start local 13 114: iload 6
istore 14
start local 14 115: iconst_0
istore 15
start local 15 116: aload 0
getfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
getfield java.text.DigitList.decimalAt:I
ifle 118
iload 14
aload 0
getfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
getfield java.text.DigitList.decimalAt:I
if_icmpge 118
117: aload 0
getfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
getfield java.text.DigitList.decimalAt:I
istore 14
118: StackMap locals: int int int
StackMap stack:
iload 14
iload 5
if_icmple 121
119: iload 5
istore 14
120: aload 0
getfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
getfield java.text.DigitList.decimalAt:I
iload 14
isub
istore 15
121: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.StringBuffer.length:()I
istore 16
start local 16 122: iload 14
iconst_1
isub
istore 17
start local 17 123: goto 137
124: StackMap locals: int int
StackMap stack:
iload 17
aload 0
getfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
getfield java.text.DigitList.decimalAt:I
if_icmpge 127
iload 15
aload 0
getfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
getfield java.text.DigitList.count:I
if_icmpge 127
125: aload 1
aload 0
getfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
getfield java.text.DigitList.digits:[C
iload 15
iinc 15 1
caload
iload 10
iadd
i2c
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
126: goto 128
127: StackMap locals:
StackMap stack:
aload 1
iload 9
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
128: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.text.DecimalFormat.isGroupingUsed:()Z
ifeq 136
iload 17
ifle 136
aload 0
getfield java.text.DecimalFormat.groupingSize:B
ifeq 136
129: iload 17
aload 0
getfield java.text.DecimalFormat.groupingSize:B
irem
ifne 136
130: aload 1
invokevirtual java.lang.StringBuffer.length:()I
istore 18
start local 18 131: aload 1
iload 11
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
132: aload 2
getstatic java.text.NumberFormat$Field.GROUPING_SEPARATOR:Ljava/text/NumberFormat$Field;
133: getstatic java.text.NumberFormat$Field.GROUPING_SEPARATOR:Ljava/text/NumberFormat$Field;
iload 18
134: aload 1
invokevirtual java.lang.StringBuffer.length:()I
aload 1
135: invokeinterface java.text.Format$FieldDelegate.formatted:(Ljava/text/Format$Field;Ljava/lang/Object;IILjava/lang/StringBuffer;)V
end local 18 136: StackMap locals:
StackMap stack:
iinc 17 -1
StackMap locals:
StackMap stack:
137: iload 17
ifge 124
end local 17 138: iload 8
ifgt 142
139: iload 4
ifne 141
iload 15
aload 0
getfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
getfield java.text.DigitList.count:I
140: if_icmplt 142
StackMap locals:
StackMap stack:
141: iconst_0
goto 143
StackMap locals:
StackMap stack:
142: iconst_1
StackMap locals:
StackMap stack: int
143: istore 17
start local 17 144: iload 17
ifne 146
aload 1
invokevirtual java.lang.StringBuffer.length:()I
iload 16
if_icmpne 146
145: aload 1
iload 9
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
146: StackMap locals: int
StackMap stack:
aload 2
iconst_0
getstatic java.text.NumberFormat$Field.INTEGER:Ljava/text/NumberFormat$Field;
getstatic java.text.NumberFormat$Field.INTEGER:Ljava/text/NumberFormat$Field;
147: iload 13
aload 1
invokevirtual java.lang.StringBuffer.length:()I
aload 1
148: invokeinterface java.text.Format$FieldDelegate.formatted:(ILjava/text/Format$Field;Ljava/lang/Object;IILjava/lang/StringBuffer;)V
149: aload 1
invokevirtual java.lang.StringBuffer.length:()I
istore 18
start local 18 150: aload 0
getfield java.text.DecimalFormat.decimalSeparatorAlwaysShown:Z
ifne 151
iload 17
ifeq 152
151: StackMap locals: int
StackMap stack:
aload 1
iload 12
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
152: StackMap locals:
StackMap stack:
iload 18
aload 1
invokevirtual java.lang.StringBuffer.length:()I
if_icmpeq 157
153: aload 2
getstatic java.text.NumberFormat$Field.DECIMAL_SEPARATOR:Ljava/text/NumberFormat$Field;
154: getstatic java.text.NumberFormat$Field.DECIMAL_SEPARATOR:Ljava/text/NumberFormat$Field;
155: iload 18
aload 1
invokevirtual java.lang.StringBuffer.length:()I
aload 1
156: invokeinterface java.text.Format$FieldDelegate.formatted:(Ljava/text/Format$Field;Ljava/lang/Object;IILjava/lang/StringBuffer;)V
157: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.StringBuffer.length:()I
istore 19
start local 19 158: iconst_0
istore 20
start local 20 159: goto 171
160: StackMap locals: int int
StackMap stack:
iload 20
iload 8
if_icmplt 163
161: iload 4
ifne 172
iload 15
aload 0
getfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
getfield java.text.DigitList.count:I
if_icmplt 163
162: goto 172
163: StackMap locals:
StackMap stack:
iconst_m1
iload 20
isub
aload 0
getfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
getfield java.text.DigitList.decimalAt:I
iconst_1
isub
if_icmple 166
164: aload 1
iload 9
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
165: goto 170
166: StackMap locals:
StackMap stack:
iload 4
ifne 169
iload 15
aload 0
getfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
getfield java.text.DigitList.count:I
if_icmpge 169
167: aload 1
aload 0
getfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
getfield java.text.DigitList.digits:[C
iload 15
iinc 15 1
caload
iload 10
iadd
i2c
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
168: goto 170
169: StackMap locals:
StackMap stack:
aload 1
iload 9
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
170: StackMap locals:
StackMap stack:
iinc 20 1
StackMap locals:
StackMap stack:
171: iload 20
iload 7
if_icmplt 160
end local 20 172: StackMap locals:
StackMap stack:
aload 2
iconst_1
getstatic java.text.NumberFormat$Field.FRACTION:Ljava/text/NumberFormat$Field;
getstatic java.text.NumberFormat$Field.FRACTION:Ljava/text/NumberFormat$Field;
173: iload 19
aload 1
invokevirtual java.lang.StringBuffer.length:()I
aload 1
174: invokeinterface java.text.Format$FieldDelegate.formatted:(ILjava/text/Format$Field;Ljava/lang/Object;IILjava/lang/StringBuffer;)V
end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 175: StackMap locals: java.text.DecimalFormat java.lang.StringBuffer java.text.Format$FieldDelegate int int int int int int int int int int
StackMap stack:
iload 3
ifeq 180
176: aload 0
aload 1
aload 0
getfield java.text.DecimalFormat.negativeSuffix:Ljava/lang/String;
aload 2
177: aload 0
invokevirtual java.text.DecimalFormat.getNegativeSuffixFieldPositions:()[Ljava/text/FieldPosition;
getstatic java.text.NumberFormat$Field.SIGN:Ljava/text/NumberFormat$Field;
178: invokevirtual java.text.DecimalFormat.append:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/text/Format$FieldDelegate;[Ljava/text/FieldPosition;Ljava/text/Format$Field;)V
179: goto 183
180: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 0
getfield java.text.DecimalFormat.positiveSuffix:Ljava/lang/String;
aload 2
181: aload 0
invokevirtual java.text.DecimalFormat.getPositiveSuffixFieldPositions:()[Ljava/text/FieldPosition;
getstatic java.text.NumberFormat$Field.SIGN:Ljava/text/NumberFormat$Field;
182: invokevirtual java.text.DecimalFormat.append:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/text/Format$FieldDelegate;[Ljava/text/FieldPosition;Ljava/text/Format$Field;)V
183: StackMap locals:
StackMap stack:
aload 1
areturn
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 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 184 0 this Ljava/text/DecimalFormat;
0 184 1 result Ljava/lang/StringBuffer;
0 184 2 delegate Ljava/text/Format$FieldDelegate;
0 184 3 isNegative Z
0 184 4 isInteger Z
0 184 5 maxIntDigits I
0 184 6 minIntDigits I
0 184 7 maxFraDigits I
0 184 8 minFraDigits I
1 184 9 zero C
2 184 10 zeroDelta I
3 184 11 grouping C
7 184 12 decimal C
19 112 13 iFieldStart I
20 112 14 iFieldEnd I
21 112 15 fFieldStart I
22 112 16 exponent I
23 112 17 repeat I
24 112 18 minimumIntegerDigits I
33 112 19 minimumDigits I
38 112 20 integerDigits I
41 112 21 totalDigits I
44 112 22 addedDecimalSeparator Z
45 57 23 i I
78 112 23 fieldStart I
87 112 24 negativeExponent Z
96 112 25 eFieldStart I
97 101 26 i I
102 109 26 i I
114 175 13 iFieldStart I
115 175 14 count I
116 175 15 digitIndex I
122 175 16 sizeBeforeIntegerPart I
123 138 17 i I
131 136 18 gStart I
144 175 17 fractionPresent Z
150 175 18 sStart I
158 175 19 fFieldStart I
159 172 20 i I
MethodParameters:
Name Flags
result
delegate
isNegative
isInteger
maxIntDigits
minIntDigits
maxFraDigits
minFraDigits
private void append(java.lang.StringBuffer, java.lang.String, java.text.Format$FieldDelegate, java.text.FieldPosition[], java.text.Format$Field);
descriptor: (Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/text/Format$FieldDelegate;[Ljava/text/FieldPosition;Ljava/text/Format$Field;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=11, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 1
invokevirtual java.lang.StringBuffer.length:()I
istore 6
start local 6 1: aload 2
invokevirtual java.lang.String.length:()I
ifle 16
2: aload 1
aload 2
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
3: iconst_0
istore 7
start local 7 4: aload 4
arraylength
istore 8
start local 8 5: goto 15
6: StackMap locals: int int int
StackMap stack:
aload 4
iload 7
aaload
astore 9
start local 9 7: aload 9
invokevirtual java.text.FieldPosition.getFieldAttribute:()Ljava/text/Format$Field;
astore 10
start local 10 8: aload 10
getstatic java.text.NumberFormat$Field.SIGN:Ljava/text/NumberFormat$Field;
if_acmpne 10
9: aload 5
astore 10
10: StackMap locals: java.text.FieldPosition java.text.Format$Field
StackMap stack:
aload 3
aload 10
aload 10
11: iload 6
aload 9
invokevirtual java.text.FieldPosition.getBeginIndex:()I
iadd
12: iload 6
aload 9
invokevirtual java.text.FieldPosition.getEndIndex:()I
iadd
aload 1
13: invokeinterface java.text.Format$FieldDelegate.formatted:(Ljava/text/Format$Field;Ljava/lang/Object;IILjava/lang/StringBuffer;)V
end local 10 end local 9 14: iinc 7 1
15: StackMap locals:
StackMap stack:
iload 7
iload 8
if_icmplt 6
end local 8 end local 7 16: StackMap locals:
StackMap stack:
return
end local 6 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 17 0 this Ljava/text/DecimalFormat;
0 17 1 result Ljava/lang/StringBuffer;
0 17 2 string Ljava/lang/String;
0 17 3 delegate Ljava/text/Format$FieldDelegate;
0 17 4 positions [Ljava/text/FieldPosition;
0 17 5 signAttribute Ljava/text/Format$Field;
1 17 6 start I
4 16 7 counter I
5 16 8 max I
7 14 9 fp Ljava/text/FieldPosition;
8 14 10 attribute Ljava/text/Format$Field;
MethodParameters:
Name Flags
result
string
delegate
positions
signAttribute
public java.lang.Number parse(java.lang.String, java.text.ParsePosition);
descriptor: (Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/lang/Number;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
getfield java.text.ParsePosition.index:I
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getNaN:()Ljava/lang/String;
iconst_0
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getNaN:()Ljava/lang/String;
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.regionMatches:(ILjava/lang/String;II)Z
ifeq 3
1: aload 2
aload 2
getfield java.text.ParsePosition.index:I
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getNaN:()Ljava/lang/String;
invokevirtual java.lang.String.length:()I
iadd
putfield java.text.ParsePosition.index:I
2: new java.lang.Double
dup
ldc NaN
invokespecial java.lang.Double.<init>:(D)V
areturn
3: StackMap locals:
StackMap stack:
iconst_2
newarray 4
astore 3
start local 3 4: aload 0
aload 1
aload 2
aload 0
getfield java.text.DecimalFormat.positivePrefix:Ljava/lang/String;
aload 0
getfield java.text.DecimalFormat.negativePrefix:Ljava/lang/String;
aload 0
getfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
iconst_0
aload 3
invokevirtual java.text.DecimalFormat.subparse:(Ljava/lang/String;Ljava/text/ParsePosition;Ljava/lang/String;Ljava/lang/String;Ljava/text/DigitList;Z[Z)Z
ifne 6
5: aconst_null
areturn
6: StackMap locals: boolean[]
StackMap stack:
aload 3
iconst_0
baload
ifeq 12
7: aload 3
iconst_1
baload
aload 0
getfield java.text.DecimalFormat.multiplier:I
iflt 8
iconst_1
goto 9
StackMap locals:
StackMap stack: int
8: iconst_0
StackMap locals: java.text.DecimalFormat java.lang.String java.text.ParsePosition boolean[]
StackMap stack: int int
9: if_icmpne 11
10: new java.lang.Double
dup
ldc Infinity
invokespecial java.lang.Double.<init>:(D)V
areturn
11: StackMap locals:
StackMap stack:
new java.lang.Double
dup
ldc -Infinity
invokespecial java.lang.Double.<init>:(D)V
areturn
12: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.multiplier:I
ifne 18
13: aload 0
getfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
invokevirtual java.text.DigitList.isZero:()Z
ifeq 15
14: new java.lang.Double
dup
ldc NaN
invokespecial java.lang.Double.<init>:(D)V
areturn
15: StackMap locals:
StackMap stack:
aload 3
iconst_1
baload
ifeq 17
16: new java.lang.Double
dup
ldc Infinity
invokespecial java.lang.Double.<init>:(D)V
areturn
17: StackMap locals:
StackMap stack:
new java.lang.Double
dup
ldc -Infinity
invokespecial java.lang.Double.<init>:(D)V
areturn
18: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.text.DecimalFormat.isParseBigDecimal:()Z
ifeq 28
19: aload 0
getfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
invokevirtual java.text.DigitList.getBigDecimal:()Ljava/math/BigDecimal;
astore 4
start local 4 20: aload 0
getfield java.text.DecimalFormat.multiplier:I
iconst_1
if_icmpeq 25
21: aload 4
aload 0
invokevirtual java.text.DecimalFormat.getBigDecimalMultiplier:()Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.divide:(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;
astore 4
22: goto 25
23: StackMap locals: java.text.DecimalFormat java.lang.String java.text.ParsePosition boolean[] java.math.BigDecimal
StackMap stack: java.lang.ArithmeticException
pop
24: aload 4
aload 0
invokevirtual java.text.DecimalFormat.getBigDecimalMultiplier:()Ljava/math/BigDecimal;
aload 0
getfield java.text.DecimalFormat.roundingMode:Ljava/math/RoundingMode;
invokevirtual java.math.BigDecimal.divide:(Ljava/math/BigDecimal;Ljava/math/RoundingMode;)Ljava/math/BigDecimal;
astore 4
25: StackMap locals:
StackMap stack:
aload 3
iconst_1
baload
ifne 27
26: aload 4
invokevirtual java.math.BigDecimal.negate:()Ljava/math/BigDecimal;
astore 4
27: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 28: StackMap locals:
StackMap stack:
iconst_1
istore 4
start local 4 29: iconst_0
istore 5
start local 5 30: dconst_0
dstore 6
start local 6 31: lconst_0
lstore 8
start local 8 32: aload 0
getfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
aload 3
iconst_1
baload
aload 0
invokevirtual java.text.DecimalFormat.isParseIntegerOnly:()Z
invokevirtual java.text.DigitList.fitsIntoLong:(ZZ)Z
ifeq 38
33: iconst_0
istore 4
34: aload 0
getfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
invokevirtual java.text.DigitList.getLong:()J
lstore 8
35: lload 8
lconst_0
lcmp
ifge 39
36: iconst_1
istore 5
37: goto 39
38: StackMap locals: java.text.DecimalFormat java.lang.String java.text.ParsePosition boolean[] int int double long
StackMap stack:
aload 0
getfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
invokevirtual java.text.DigitList.getDouble:()D
dstore 6
39: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.multiplier:I
iconst_1
if_icmpeq 48
40: iload 4
ifeq 43
41: dload 6
aload 0
getfield java.text.DecimalFormat.multiplier:I
i2d
ddiv
dstore 6
42: goto 48
43: StackMap locals:
StackMap stack:
lload 8
aload 0
getfield java.text.DecimalFormat.multiplier:I
i2l
lrem
lconst_0
lcmp
ifne 46
44: lload 8
aload 0
getfield java.text.DecimalFormat.multiplier:I
i2l
ldiv
lstore 8
45: goto 48
46: StackMap locals:
StackMap stack:
lload 8
l2d
aload 0
getfield java.text.DecimalFormat.multiplier:I
i2d
ddiv
dstore 6
47: iconst_1
istore 4
48: StackMap locals:
StackMap stack:
aload 3
iconst_1
baload
ifne 51
iload 5
ifne 51
49: dload 6
dneg
dstore 6
50: lload 8
lneg
lstore 8
51: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.multiplier:I
iconst_1
if_icmpeq 59
iload 4
ifeq 59
52: dload 6
d2l
lstore 8
53: dload 6
lload 8
l2d
dcmpl
ifne 55
54: dload 6
dconst_0
dcmpl
ifne 57
dconst_1
dload 6
ddiv
dconst_0
dcmpg
ifge 57
55: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.text.DecimalFormat.isParseIntegerOnly:()Z
ifne 57
56: iconst_1
goto 58
StackMap locals:
StackMap stack:
57: iconst_0
StackMap locals:
StackMap stack: int
58: istore 4
59: StackMap locals:
StackMap stack:
iload 4
ifeq 61
60: new java.lang.Double
dup
dload 6
invokespecial java.lang.Double.<init>:(D)V
goto 62
StackMap locals:
StackMap stack:
61: new java.lang.Long
dup
lload 8
invokespecial java.lang.Long.<init>:(J)V
62: StackMap locals:
StackMap stack: java.lang.Number
areturn
end local 8 end local 6 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 63 0 this Ljava/text/DecimalFormat;
0 63 1 text Ljava/lang/String;
0 63 2 pos Ljava/text/ParsePosition;
4 63 3 status [Z
20 28 4 bigDecimalResult Ljava/math/BigDecimal;
29 63 4 gotDouble Z
30 63 5 gotLongMinimum Z
31 63 6 doubleResult D
32 63 8 longResult J
Exception table:
from to target type
21 22 23 Class java.lang.ArithmeticException
MethodParameters:
Name Flags
text
pos
private java.math.BigInteger getBigIntegerMultiplier();
descriptor: ()Ljava/math/BigInteger;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield java.text.DecimalFormat.bigIntegerMultiplier:Ljava/math/BigInteger;
ifnonnull 2
1: aload 0
aload 0
getfield java.text.DecimalFormat.multiplier:I
i2l
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
putfield java.text.DecimalFormat.bigIntegerMultiplier:Ljava/math/BigInteger;
2: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.bigIntegerMultiplier:Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/text/DecimalFormat;
private java.math.BigDecimal getBigDecimalMultiplier();
descriptor: ()Ljava/math/BigDecimal;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield java.text.DecimalFormat.bigDecimalMultiplier:Ljava/math/BigDecimal;
ifnonnull 2
1: aload 0
new java.math.BigDecimal
dup
aload 0
getfield java.text.DecimalFormat.multiplier:I
invokespecial java.math.BigDecimal.<init>:(I)V
putfield java.text.DecimalFormat.bigDecimalMultiplier:Ljava/math/BigDecimal;
2: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.bigDecimalMultiplier:Ljava/math/BigDecimal;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/text/DecimalFormat;
private final boolean subparse(java.lang.String, java.text.ParsePosition, java.lang.String, java.lang.String, java.text.DigitList, boolean, boolean[]);
descriptor: (Ljava/lang/String;Ljava/text/ParsePosition;Ljava/lang/String;Ljava/lang/String;Ljava/text/DigitList;Z[Z)Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Code:
stack=8, locals=27, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 2
getfield java.text.ParsePosition.index:I
istore 8
start local 8 1: aload 2
getfield java.text.ParsePosition.index:I
istore 9
start local 9 2: aload 1
iload 8
aload 3
iconst_0
3: aload 3
invokevirtual java.lang.String.length:()I
4: invokevirtual java.lang.String.regionMatches:(ILjava/lang/String;II)Z
istore 11
start local 11 5: aload 1
iload 8
aload 4
iconst_0
6: aload 4
invokevirtual java.lang.String.length:()I
7: invokevirtual java.lang.String.regionMatches:(ILjava/lang/String;II)Z
istore 12
start local 12 8: iload 11
ifeq 14
iload 12
ifeq 14
9: aload 3
invokevirtual java.lang.String.length:()I
aload 4
invokevirtual java.lang.String.length:()I
if_icmple 12
10: iconst_0
istore 12
11: goto 14
StackMap locals: java.text.DecimalFormat java.lang.String java.text.ParsePosition java.lang.String java.lang.String java.text.DigitList int boolean[] int int top int int
StackMap stack:
12: aload 3
invokevirtual java.lang.String.length:()I
aload 4
invokevirtual java.lang.String.length:()I
if_icmpge 14
13: iconst_0
istore 11
14: StackMap locals:
StackMap stack:
iload 11
ifeq 17
15: iload 8
aload 3
invokevirtual java.lang.String.length:()I
iadd
istore 8
16: goto 22
StackMap locals:
StackMap stack:
17: iload 12
ifeq 20
18: iload 8
aload 4
invokevirtual java.lang.String.length:()I
iadd
istore 8
19: goto 22
20: StackMap locals:
StackMap stack:
aload 2
iload 8
putfield java.text.ParsePosition.errorIndex:I
21: iconst_0
ireturn
22: StackMap locals:
StackMap stack:
aload 7
iconst_0
iconst_0
bastore
23: iload 6
ifne 30
aload 1
iload 8
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getInfinity:()Ljava/lang/String;
iconst_0
24: aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getInfinity:()Ljava/lang/String;
invokevirtual java.lang.String.length:()I
25: invokevirtual java.lang.String.regionMatches:(ILjava/lang/String;II)Z
26: ifeq 30
27: iload 8
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getInfinity:()Ljava/lang/String;
invokevirtual java.lang.String.length:()I
iadd
istore 8
28: aload 7
iconst_0
iconst_1
bastore
29: goto 101
30: StackMap locals:
StackMap stack:
aload 5
aload 5
iconst_0
dup_x1
putfield java.text.DigitList.count:I
putfield java.text.DigitList.decimalAt:I
31: aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getZeroDigit:()C
istore 13
start local 13 32: aload 0
getfield java.text.DecimalFormat.isCurrencyFormat:Z
ifeq 34
33: aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getMonetaryDecimalSeparator:()C
goto 35
34: StackMap locals: int
StackMap stack:
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getDecimalSeparator:()C
35: StackMap locals:
StackMap stack: int
istore 14
start local 14 36: aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getGroupingSeparator:()C
istore 15
start local 15 37: aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getExponentSeparator:()Ljava/lang/String;
astore 16
start local 16 38: iconst_0
istore 17
start local 17 39: iconst_0
istore 18
start local 18 40: iconst_0
istore 19
start local 19 41: iconst_0
istore 20
start local 20 42: iconst_0
istore 21
start local 21 43: iconst_m1
istore 10
start local 10 44: goto 91
45: StackMap locals: java.text.DecimalFormat java.lang.String java.text.ParsePosition java.lang.String java.lang.String java.text.DigitList int boolean[] int int int int int int int int java.lang.String int int int int int
StackMap stack:
aload 1
iload 8
invokevirtual java.lang.String.charAt:(I)C
istore 22
start local 22 46: iload 22
iload 13
isub
istore 23
start local 23 47: iload 23
iflt 48
iload 23
bipush 9
if_icmple 49
48: StackMap locals: int int
StackMap stack:
iload 22
bipush 10
invokestatic java.lang.Character.digit:(CI)I
istore 23
49: StackMap locals:
StackMap stack:
iload 23
ifne 60
50: iconst_m1
istore 10
51: iconst_1
istore 19
52: aload 5
getfield java.text.DigitList.count:I
ifne 57
53: iload 17
ifne 55
54: goto 90
55: StackMap locals:
StackMap stack:
aload 5
dup
getfield java.text.DigitList.decimalAt:I
iconst_1
isub
putfield java.text.DigitList.decimalAt:I
56: goto 90
57: StackMap locals:
StackMap stack:
iinc 21 1
58: aload 5
iload 23
bipush 48
iadd
i2c
invokevirtual java.text.DigitList.append:(C)V
59: goto 90
StackMap locals:
StackMap stack:
60: iload 23
ifle 66
iload 23
bipush 9
if_icmpgt 66
61: iconst_1
istore 19
62: iinc 21 1
63: aload 5
iload 23
bipush 48
iadd
i2c
invokevirtual java.text.DigitList.append:(C)V
64: iconst_m1
istore 10
65: goto 90
StackMap locals:
StackMap stack:
66: iload 6
ifne 72
iload 22
iload 14
if_icmpne 72
67: aload 0
invokevirtual java.text.DecimalFormat.isParseIntegerOnly:()Z
ifne 92
iload 17
ifeq 69
68: goto 92
69: StackMap locals:
StackMap stack:
aload 5
iload 21
putfield java.text.DigitList.decimalAt:I
70: iconst_1
istore 17
71: goto 90
StackMap locals:
StackMap stack:
72: iload 6
ifne 77
iload 22
iload 15
if_icmpne 77
aload 0
invokevirtual java.text.DecimalFormat.isGroupingUsed:()Z
ifeq 77
73: iload 17
ifeq 75
74: goto 92
75: StackMap locals:
StackMap stack:
iload 8
istore 10
76: goto 90
StackMap locals:
StackMap stack:
77: iload 6
ifne 92
aload 1
iload 8
aload 16
iconst_0
aload 16
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.regionMatches:(ILjava/lang/String;II)Z
ifeq 92
78: iload 18
ifne 92
79: new java.text.ParsePosition
dup
iload 8
aload 16
invokevirtual java.lang.String.length:()I
iadd
invokespecial java.text.ParsePosition.<init>:(I)V
astore 24
start local 24 80: iconst_2
newarray 4
astore 25
start local 25 81: new java.text.DigitList
dup
invokespecial java.text.DigitList.<init>:()V
astore 26
start local 26 82: aload 0
aload 1
aload 24
ldc ""
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getMinusSign:()C
invokestatic java.lang.Character.toString:(C)Ljava/lang/String;
aload 26
iconst_1
aload 25
invokevirtual java.text.DecimalFormat.subparse:(Ljava/lang/String;Ljava/text/ParsePosition;Ljava/lang/String;Ljava/lang/String;Ljava/text/DigitList;Z[Z)Z
ifeq 92
83: aload 26
aload 25
iconst_1
baload
iconst_1
invokevirtual java.text.DigitList.fitsIntoLong:(ZZ)Z
ifeq 92
84: aload 24
getfield java.text.ParsePosition.index:I
istore 8
85: aload 26
invokevirtual java.text.DigitList.getLong:()J
l2i
istore 20
86: aload 25
iconst_1
baload
ifne 88
87: iload 20
ineg
istore 20
88: StackMap locals: java.text.ParsePosition boolean[] java.text.DigitList
StackMap stack:
iconst_1
istore 18
89: goto 92
end local 26 end local 25 end local 24 end local 23 end local 22 90: StackMap locals: java.text.DecimalFormat java.lang.String java.text.ParsePosition java.lang.String java.lang.String java.text.DigitList int boolean[] int int int int int int int int java.lang.String int int int int int
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
91: iload 8
aload 1
invokevirtual java.lang.String.length:()I
if_icmplt 45
92: StackMap locals:
StackMap stack:
iload 10
iconst_m1
if_icmpeq 94
93: iload 10
istore 8
94: StackMap locals:
StackMap stack:
iload 17
ifne 96
95: aload 5
iload 21
putfield java.text.DigitList.decimalAt:I
96: StackMap locals:
StackMap stack:
aload 5
dup
getfield java.text.DigitList.decimalAt:I
iload 20
iadd
putfield java.text.DigitList.decimalAt:I
97: iload 19
ifne 101
iload 21
ifne 101
98: aload 2
iload 9
putfield java.text.ParsePosition.index:I
99: aload 2
iload 9
putfield java.text.ParsePosition.errorIndex:I
100: iconst_0
ireturn
end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 10 101: StackMap locals: java.text.DecimalFormat java.lang.String java.text.ParsePosition java.lang.String java.lang.String java.text.DigitList int boolean[] int int top int int
StackMap stack:
iload 6
ifne 125
102: iload 11
ifeq 106
103: aload 1
iload 8
aload 0
getfield java.text.DecimalFormat.positiveSuffix:Ljava/lang/String;
iconst_0
104: aload 0
getfield java.text.DecimalFormat.positiveSuffix:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
105: invokevirtual java.lang.String.regionMatches:(ILjava/lang/String;II)Z
istore 11
106: StackMap locals:
StackMap stack:
iload 12
ifeq 110
107: aload 1
iload 8
aload 0
getfield java.text.DecimalFormat.negativeSuffix:Ljava/lang/String;
iconst_0
108: aload 0
getfield java.text.DecimalFormat.negativeSuffix:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
109: invokevirtual java.lang.String.regionMatches:(ILjava/lang/String;II)Z
istore 12
110: StackMap locals:
StackMap stack:
iload 11
ifeq 116
iload 12
ifeq 116
111: aload 0
getfield java.text.DecimalFormat.positiveSuffix:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
aload 0
getfield java.text.DecimalFormat.negativeSuffix:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
if_icmple 114
112: iconst_0
istore 12
113: goto 116
StackMap locals:
StackMap stack:
114: aload 0
getfield java.text.DecimalFormat.positiveSuffix:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
aload 0
getfield java.text.DecimalFormat.negativeSuffix:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
if_icmpge 116
115: iconst_0
istore 11
116: StackMap locals:
StackMap stack:
iload 11
iload 12
if_icmpne 119
117: aload 2
iload 8
putfield java.text.ParsePosition.errorIndex:I
118: iconst_0
ireturn
119: StackMap locals:
StackMap stack:
aload 2
iload 8
120: iload 11
ifeq 121
aload 0
getfield java.text.DecimalFormat.positiveSuffix:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
goto 122
StackMap locals: java.text.DecimalFormat java.lang.String java.text.ParsePosition java.lang.String java.lang.String java.text.DigitList int boolean[] int int top int int
StackMap stack: java.text.ParsePosition int
121: aload 0
getfield java.text.DecimalFormat.negativeSuffix:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
StackMap locals: java.text.DecimalFormat java.lang.String java.text.ParsePosition java.lang.String java.lang.String java.text.DigitList int boolean[] int int top int int
StackMap stack: java.text.ParsePosition int int
122: iadd
123: putfield java.text.ParsePosition.index:I
124: goto 126
125: StackMap locals:
StackMap stack:
aload 2
iload 8
putfield java.text.ParsePosition.index:I
126: StackMap locals:
StackMap stack:
aload 7
iconst_1
iload 11
bastore
127: aload 2
getfield java.text.ParsePosition.index:I
iload 9
if_icmpne 130
128: aload 2
iload 8
putfield java.text.ParsePosition.errorIndex:I
129: iconst_0
ireturn
130: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 12 end local 11 end local 9 end local 8 end local 7 end local 6 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 131 0 this Ljava/text/DecimalFormat;
0 131 1 text Ljava/lang/String;
0 131 2 parsePosition Ljava/text/ParsePosition;
0 131 3 positivePrefix Ljava/lang/String;
0 131 4 negativePrefix Ljava/lang/String;
0 131 5 digits Ljava/text/DigitList;
0 131 6 isExponent Z
0 131 7 status [Z
1 131 8 position I
2 131 9 oldStart I
44 101 10 backup I
5 131 11 gotPositive Z
8 131 12 gotNegative Z
32 101 13 zero C
36 101 14 decimal C
37 101 15 grouping C
38 101 16 exponentString Ljava/lang/String;
39 101 17 sawDecimal Z
40 101 18 sawExponent Z
41 101 19 sawDigit Z
42 101 20 exponent I
43 101 21 digitCount I
46 90 22 ch C
47 90 23 digit I
80 90 24 pos Ljava/text/ParsePosition;
81 90 25 stat [Z
82 90 26 exponentDigits Ljava/text/DigitList;
MethodParameters:
Name Flags
text
parsePosition
positivePrefix
negativePrefix
digits
isExponent
status
public java.text.DecimalFormatSymbols getDecimalFormatSymbols();
descriptor: ()Ljava/text/DecimalFormatSymbols;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.clone:()Ljava/lang/Object;
checkcast java.text.DecimalFormatSymbols
1: areturn
2: StackMap locals:
StackMap stack: java.lang.Exception
pop
3: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/text/DecimalFormat;
Exception table:
from to target type
0 1 2 Class java.lang.Exception
public void setDecimalFormatSymbols(java.text.DecimalFormatSymbols);
descriptor: (Ljava/text/DecimalFormatSymbols;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.text.DecimalFormatSymbols.clone:()Ljava/lang/Object;
checkcast java.text.DecimalFormatSymbols
putfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
1: aload 0
invokevirtual java.text.DecimalFormat.expandAffixes:()V
2: aload 0
iconst_1
putfield java.text.DecimalFormat.fastPathCheckNeeded:Z
3: goto 5
StackMap locals:
StackMap stack: java.lang.Exception
4: pop
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/text/DecimalFormat;
0 6 1 newSymbols Ljava/text/DecimalFormatSymbols;
Exception table:
from to target type
0 3 4 Class java.lang.Exception
MethodParameters:
Name Flags
newSymbols
public java.lang.String getPositivePrefix();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.text.DecimalFormat.positivePrefix:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/text/DecimalFormat;
public void setPositivePrefix(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield java.text.DecimalFormat.positivePrefix:Ljava/lang/String;
1: aload 0
aconst_null
putfield java.text.DecimalFormat.posPrefixPattern:Ljava/lang/String;
2: aload 0
aconst_null
putfield java.text.DecimalFormat.positivePrefixFieldPositions:[Ljava/text/FieldPosition;
3: aload 0
iconst_1
putfield java.text.DecimalFormat.fastPathCheckNeeded:Z
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/text/DecimalFormat;
0 5 1 newValue Ljava/lang/String;
MethodParameters:
Name Flags
newValue
private java.text.FieldPosition[] getPositivePrefixFieldPositions();
descriptor: ()[Ljava/text/FieldPosition;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield java.text.DecimalFormat.positivePrefixFieldPositions:[Ljava/text/FieldPosition;
ifnonnull 5
1: aload 0
getfield java.text.DecimalFormat.posPrefixPattern:Ljava/lang/String;
ifnull 4
2: aload 0
aload 0
aload 0
getfield java.text.DecimalFormat.posPrefixPattern:Ljava/lang/String;
invokevirtual java.text.DecimalFormat.expandAffix:(Ljava/lang/String;)[Ljava/text/FieldPosition;
putfield java.text.DecimalFormat.positivePrefixFieldPositions:[Ljava/text/FieldPosition;
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
getstatic java.text.DecimalFormat.EmptyFieldPositionArray:[Ljava/text/FieldPosition;
putfield java.text.DecimalFormat.positivePrefixFieldPositions:[Ljava/text/FieldPosition;
5: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.positivePrefixFieldPositions:[Ljava/text/FieldPosition;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/text/DecimalFormat;
public java.lang.String getNegativePrefix();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.text.DecimalFormat.negativePrefix:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/text/DecimalFormat;
public void setNegativePrefix(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield java.text.DecimalFormat.negativePrefix:Ljava/lang/String;
1: aload 0
aconst_null
putfield java.text.DecimalFormat.negPrefixPattern:Ljava/lang/String;
2: aload 0
iconst_1
putfield java.text.DecimalFormat.fastPathCheckNeeded:Z
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/text/DecimalFormat;
0 4 1 newValue Ljava/lang/String;
MethodParameters:
Name Flags
newValue
private java.text.FieldPosition[] getNegativePrefixFieldPositions();
descriptor: ()[Ljava/text/FieldPosition;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield java.text.DecimalFormat.negativePrefixFieldPositions:[Ljava/text/FieldPosition;
ifnonnull 5
1: aload 0
getfield java.text.DecimalFormat.negPrefixPattern:Ljava/lang/String;
ifnull 4
2: aload 0
aload 0
aload 0
getfield java.text.DecimalFormat.negPrefixPattern:Ljava/lang/String;
invokevirtual java.text.DecimalFormat.expandAffix:(Ljava/lang/String;)[Ljava/text/FieldPosition;
putfield java.text.DecimalFormat.negativePrefixFieldPositions:[Ljava/text/FieldPosition;
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
getstatic java.text.DecimalFormat.EmptyFieldPositionArray:[Ljava/text/FieldPosition;
putfield java.text.DecimalFormat.negativePrefixFieldPositions:[Ljava/text/FieldPosition;
5: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.negativePrefixFieldPositions:[Ljava/text/FieldPosition;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/text/DecimalFormat;
public java.lang.String getPositiveSuffix();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.text.DecimalFormat.positiveSuffix:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/text/DecimalFormat;
public void setPositiveSuffix(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield java.text.DecimalFormat.positiveSuffix:Ljava/lang/String;
1: aload 0
aconst_null
putfield java.text.DecimalFormat.posSuffixPattern:Ljava/lang/String;
2: aload 0
iconst_1
putfield java.text.DecimalFormat.fastPathCheckNeeded:Z
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/text/DecimalFormat;
0 4 1 newValue Ljava/lang/String;
MethodParameters:
Name Flags
newValue
private java.text.FieldPosition[] getPositiveSuffixFieldPositions();
descriptor: ()[Ljava/text/FieldPosition;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield java.text.DecimalFormat.positiveSuffixFieldPositions:[Ljava/text/FieldPosition;
ifnonnull 5
1: aload 0
getfield java.text.DecimalFormat.posSuffixPattern:Ljava/lang/String;
ifnull 4
2: aload 0
aload 0
aload 0
getfield java.text.DecimalFormat.posSuffixPattern:Ljava/lang/String;
invokevirtual java.text.DecimalFormat.expandAffix:(Ljava/lang/String;)[Ljava/text/FieldPosition;
putfield java.text.DecimalFormat.positiveSuffixFieldPositions:[Ljava/text/FieldPosition;
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
getstatic java.text.DecimalFormat.EmptyFieldPositionArray:[Ljava/text/FieldPosition;
putfield java.text.DecimalFormat.positiveSuffixFieldPositions:[Ljava/text/FieldPosition;
5: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.positiveSuffixFieldPositions:[Ljava/text/FieldPosition;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/text/DecimalFormat;
public java.lang.String getNegativeSuffix();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.text.DecimalFormat.negativeSuffix:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/text/DecimalFormat;
public void setNegativeSuffix(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield java.text.DecimalFormat.negativeSuffix:Ljava/lang/String;
1: aload 0
aconst_null
putfield java.text.DecimalFormat.negSuffixPattern:Ljava/lang/String;
2: aload 0
iconst_1
putfield java.text.DecimalFormat.fastPathCheckNeeded:Z
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/text/DecimalFormat;
0 4 1 newValue Ljava/lang/String;
MethodParameters:
Name Flags
newValue
private java.text.FieldPosition[] getNegativeSuffixFieldPositions();
descriptor: ()[Ljava/text/FieldPosition;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield java.text.DecimalFormat.negativeSuffixFieldPositions:[Ljava/text/FieldPosition;
ifnonnull 5
1: aload 0
getfield java.text.DecimalFormat.negSuffixPattern:Ljava/lang/String;
ifnull 4
2: aload 0
aload 0
aload 0
getfield java.text.DecimalFormat.negSuffixPattern:Ljava/lang/String;
invokevirtual java.text.DecimalFormat.expandAffix:(Ljava/lang/String;)[Ljava/text/FieldPosition;
putfield java.text.DecimalFormat.negativeSuffixFieldPositions:[Ljava/text/FieldPosition;
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
getstatic java.text.DecimalFormat.EmptyFieldPositionArray:[Ljava/text/FieldPosition;
putfield java.text.DecimalFormat.negativeSuffixFieldPositions:[Ljava/text/FieldPosition;
5: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.negativeSuffixFieldPositions:[Ljava/text/FieldPosition;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/text/DecimalFormat;
public int getMultiplier();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.text.DecimalFormat.multiplier:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/text/DecimalFormat;
public void setMultiplier(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield java.text.DecimalFormat.multiplier:I
1: aload 0
aconst_null
putfield java.text.DecimalFormat.bigDecimalMultiplier:Ljava/math/BigDecimal;
2: aload 0
aconst_null
putfield java.text.DecimalFormat.bigIntegerMultiplier:Ljava/math/BigInteger;
3: aload 0
iconst_1
putfield java.text.DecimalFormat.fastPathCheckNeeded:Z
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/text/DecimalFormat;
0 5 1 newValue I
MethodParameters:
Name Flags
newValue
public void setGroupingUsed(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokespecial java.text.NumberFormat.setGroupingUsed:(Z)V
1: aload 0
iconst_1
putfield java.text.DecimalFormat.fastPathCheckNeeded:Z
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/text/DecimalFormat;
0 3 1 newValue Z
MethodParameters:
Name Flags
newValue
public int getGroupingSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.text.DecimalFormat.groupingSize:B
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/text/DecimalFormat;
public void setGroupingSize(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
i2b
putfield java.text.DecimalFormat.groupingSize:B
1: aload 0
iconst_1
putfield java.text.DecimalFormat.fastPathCheckNeeded:Z
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/text/DecimalFormat;
0 3 1 newValue I
MethodParameters:
Name Flags
newValue
public boolean isDecimalSeparatorAlwaysShown();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.text.DecimalFormat.decimalSeparatorAlwaysShown:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/text/DecimalFormat;
public void setDecimalSeparatorAlwaysShown(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield java.text.DecimalFormat.decimalSeparatorAlwaysShown:Z
1: aload 0
iconst_1
putfield java.text.DecimalFormat.fastPathCheckNeeded:Z
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/text/DecimalFormat;
0 3 1 newValue Z
MethodParameters:
Name Flags
newValue
public boolean isParseBigDecimal();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.text.DecimalFormat.parseBigDecimal:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/text/DecimalFormat;
public void setParseBigDecimal(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield java.text.DecimalFormat.parseBigDecimal:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/text/DecimalFormat;
0 2 1 newValue Z
MethodParameters:
Name Flags
newValue
public java.lang.Object clone();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokespecial java.text.NumberFormat.clone:()Ljava/lang/Object;
checkcast java.text.DecimalFormat
astore 1
start local 1 1: aload 1
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.clone:()Ljava/lang/Object;
checkcast java.text.DecimalFormatSymbols
putfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
2: aload 1
aload 0
getfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
invokevirtual java.text.DigitList.clone:()Ljava/lang/Object;
checkcast java.text.DigitList
putfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
3: aload 1
iconst_1
putfield java.text.DecimalFormat.fastPathCheckNeeded:Z
4: aload 1
iconst_0
putfield java.text.DecimalFormat.isFastPath:Z
5: aload 1
aconst_null
putfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
6: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/text/DecimalFormat;
1 7 1 other Ljava/text/DecimalFormat;
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial java.text.NumberFormat.equals:(Ljava/lang/Object;)Z
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast java.text.DecimalFormat
astore 2
start local 2 5: aload 0
getfield java.text.DecimalFormat.posPrefixPattern:Ljava/lang/String;
aload 2
getfield java.text.DecimalFormat.posPrefixPattern:Ljava/lang/String;
if_acmpne 7
6: aload 0
getfield java.text.DecimalFormat.positivePrefix:Ljava/lang/String;
aload 2
getfield java.text.DecimalFormat.positivePrefix:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 9
7: StackMap locals: java.text.DecimalFormat
StackMap stack:
aload 0
getfield java.text.DecimalFormat.posPrefixPattern:Ljava/lang/String;
ifnull 35
8: aload 0
getfield java.text.DecimalFormat.posPrefixPattern:Ljava/lang/String;
aload 2
getfield java.text.DecimalFormat.posPrefixPattern:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 35
9: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.posSuffixPattern:Ljava/lang/String;
aload 2
getfield java.text.DecimalFormat.posSuffixPattern:Ljava/lang/String;
if_acmpne 11
10: aload 0
getfield java.text.DecimalFormat.positiveSuffix:Ljava/lang/String;
aload 2
getfield java.text.DecimalFormat.positiveSuffix:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 13
11: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.posSuffixPattern:Ljava/lang/String;
ifnull 35
12: aload 0
getfield java.text.DecimalFormat.posSuffixPattern:Ljava/lang/String;
aload 2
getfield java.text.DecimalFormat.posSuffixPattern:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 35
13: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.negPrefixPattern:Ljava/lang/String;
aload 2
getfield java.text.DecimalFormat.negPrefixPattern:Ljava/lang/String;
if_acmpne 15
14: aload 0
getfield java.text.DecimalFormat.negativePrefix:Ljava/lang/String;
aload 2
getfield java.text.DecimalFormat.negativePrefix:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 17
15: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.negPrefixPattern:Ljava/lang/String;
ifnull 35
16: aload 0
getfield java.text.DecimalFormat.negPrefixPattern:Ljava/lang/String;
aload 2
getfield java.text.DecimalFormat.negPrefixPattern:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 35
17: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.negSuffixPattern:Ljava/lang/String;
aload 2
getfield java.text.DecimalFormat.negSuffixPattern:Ljava/lang/String;
if_acmpne 19
18: aload 0
getfield java.text.DecimalFormat.negativeSuffix:Ljava/lang/String;
aload 2
getfield java.text.DecimalFormat.negativeSuffix:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 21
19: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.negSuffixPattern:Ljava/lang/String;
ifnull 35
20: aload 0
getfield java.text.DecimalFormat.negSuffixPattern:Ljava/lang/String;
aload 2
getfield java.text.DecimalFormat.negSuffixPattern:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 35
21: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.multiplier:I
aload 2
getfield java.text.DecimalFormat.multiplier:I
if_icmpne 35
22: aload 0
getfield java.text.DecimalFormat.groupingSize:B
aload 2
getfield java.text.DecimalFormat.groupingSize:B
if_icmpne 35
23: aload 0
getfield java.text.DecimalFormat.decimalSeparatorAlwaysShown:Z
aload 2
getfield java.text.DecimalFormat.decimalSeparatorAlwaysShown:Z
if_icmpne 35
24: aload 0
getfield java.text.DecimalFormat.parseBigDecimal:Z
aload 2
getfield java.text.DecimalFormat.parseBigDecimal:Z
if_icmpne 35
25: aload 0
getfield java.text.DecimalFormat.useExponentialNotation:Z
aload 2
getfield java.text.DecimalFormat.useExponentialNotation:Z
if_icmpne 35
26: aload 0
getfield java.text.DecimalFormat.useExponentialNotation:Z
ifeq 28
27: aload 0
getfield java.text.DecimalFormat.minExponentDigits:B
aload 2
getfield java.text.DecimalFormat.minExponentDigits:B
if_icmpne 35
28: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.maximumIntegerDigits:I
aload 2
getfield java.text.DecimalFormat.maximumIntegerDigits:I
if_icmpne 35
29: aload 0
getfield java.text.DecimalFormat.minimumIntegerDigits:I
aload 2
getfield java.text.DecimalFormat.minimumIntegerDigits:I
if_icmpne 35
30: aload 0
getfield java.text.DecimalFormat.maximumFractionDigits:I
aload 2
getfield java.text.DecimalFormat.maximumFractionDigits:I
if_icmpne 35
31: aload 0
getfield java.text.DecimalFormat.minimumFractionDigits:I
aload 2
getfield java.text.DecimalFormat.minimumFractionDigits:I
if_icmpne 35
32: aload 0
getfield java.text.DecimalFormat.roundingMode:Ljava/math/RoundingMode;
aload 2
getfield java.text.DecimalFormat.roundingMode:Ljava/math/RoundingMode;
if_acmpne 35
33: aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
aload 2
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.equals:(Ljava/lang/Object;)Z
ifeq 35
34: iconst_1
ireturn
StackMap locals:
StackMap stack:
35: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Ljava/text/DecimalFormat;
0 36 1 obj Ljava/lang/Object;
5 36 2 other Ljava/text/DecimalFormat;
MethodParameters:
Name Flags
obj
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.text.NumberFormat.hashCode:()I
bipush 37
imul
aload 0
getfield java.text.DecimalFormat.positivePrefix:Ljava/lang/String;
invokevirtual java.lang.String.hashCode:()I
iadd
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/text/DecimalFormat;
public java.lang.String toPattern();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokevirtual java.text.DecimalFormat.toPattern:(Z)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/text/DecimalFormat;
public java.lang.String toLocalizedPattern();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokevirtual java.text.DecimalFormat.toPattern:(Z)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/text/DecimalFormat;
private void expandAffixes();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=1
start local 0 0: new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 1
start local 1 1: aload 0
getfield java.text.DecimalFormat.posPrefixPattern:Ljava/lang/String;
ifnull 4
2: aload 0
aload 0
aload 0
getfield java.text.DecimalFormat.posPrefixPattern:Ljava/lang/String;
aload 1
invokevirtual java.text.DecimalFormat.expandAffix:(Ljava/lang/String;Ljava/lang/StringBuffer;)Ljava/lang/String;
putfield java.text.DecimalFormat.positivePrefix:Ljava/lang/String;
3: aload 0
aconst_null
putfield java.text.DecimalFormat.positivePrefixFieldPositions:[Ljava/text/FieldPosition;
4: StackMap locals: java.lang.StringBuffer
StackMap stack:
aload 0
getfield java.text.DecimalFormat.posSuffixPattern:Ljava/lang/String;
ifnull 7
5: aload 0
aload 0
aload 0
getfield java.text.DecimalFormat.posSuffixPattern:Ljava/lang/String;
aload 1
invokevirtual java.text.DecimalFormat.expandAffix:(Ljava/lang/String;Ljava/lang/StringBuffer;)Ljava/lang/String;
putfield java.text.DecimalFormat.positiveSuffix:Ljava/lang/String;
6: aload 0
aconst_null
putfield java.text.DecimalFormat.positiveSuffixFieldPositions:[Ljava/text/FieldPosition;
7: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.negPrefixPattern:Ljava/lang/String;
ifnull 10
8: aload 0
aload 0
aload 0
getfield java.text.DecimalFormat.negPrefixPattern:Ljava/lang/String;
aload 1
invokevirtual java.text.DecimalFormat.expandAffix:(Ljava/lang/String;Ljava/lang/StringBuffer;)Ljava/lang/String;
putfield java.text.DecimalFormat.negativePrefix:Ljava/lang/String;
9: aload 0
aconst_null
putfield java.text.DecimalFormat.negativePrefixFieldPositions:[Ljava/text/FieldPosition;
10: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.negSuffixPattern:Ljava/lang/String;
ifnull 13
11: aload 0
aload 0
aload 0
getfield java.text.DecimalFormat.negSuffixPattern:Ljava/lang/String;
aload 1
invokevirtual java.text.DecimalFormat.expandAffix:(Ljava/lang/String;Ljava/lang/StringBuffer;)Ljava/lang/String;
putfield java.text.DecimalFormat.negativeSuffix:Ljava/lang/String;
12: aload 0
aconst_null
putfield java.text.DecimalFormat.negativeSuffixFieldPositions:[Ljava/text/FieldPosition;
13: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljava/text/DecimalFormat;
1 14 1 buffer Ljava/lang/StringBuffer;
private java.lang.String expandAffix(java.lang.String, java.lang.StringBuffer);
descriptor: (Ljava/lang/String;Ljava/lang/StringBuffer;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
iconst_0
invokevirtual java.lang.StringBuffer.setLength:(I)V
1: iconst_0
istore 3
start local 3 2: goto 20
3: StackMap locals: int
StackMap stack:
aload 1
iload 3
iinc 3 1
invokevirtual java.lang.String.charAt:(I)C
istore 4
start local 4 4: iload 4
bipush 39
if_icmpne 19
5: aload 1
iload 3
iinc 3 1
invokevirtual java.lang.String.charAt:(I)C
istore 4
6: iload 4
lookupswitch { // 4
37: 14
45: 18
164: 7
8240: 16
default: 19
}
7: StackMap locals: int
StackMap stack:
iload 3
aload 1
invokevirtual java.lang.String.length:()I
if_icmpge 12
8: aload 1
iload 3
invokevirtual java.lang.String.charAt:(I)C
sipush 164
if_icmpne 12
9: iinc 3 1
10: aload 2
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getInternationalCurrencySymbol:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
11: goto 20
12: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getCurrencySymbol:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
13: goto 20
14: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getPercent:()C
istore 4
15: goto 19
16: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getPerMill:()C
istore 4
17: goto 19
18: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getMinusSign:()C
istore 4
19: StackMap locals:
StackMap stack:
aload 2
iload 4
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
end local 4 20: StackMap locals:
StackMap stack:
iload 3
aload 1
invokevirtual java.lang.String.length:()I
if_icmplt 3
end local 3 21: aload 2
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Ljava/text/DecimalFormat;
0 22 1 pattern Ljava/lang/String;
0 22 2 buffer Ljava/lang/StringBuffer;
2 21 3 i I
4 20 4 c C
MethodParameters:
Name Flags
pattern
buffer
private java.text.FieldPosition[] expandAffix(java.lang.String);
descriptor: (Ljava/lang/String;)[Ljava/text/FieldPosition;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 44
4: StackMap locals: java.util.ArrayList int int
StackMap stack:
aload 1
iload 4
iinc 4 1
invokevirtual java.lang.String.charAt:(I)C
istore 5
start local 5 5: iload 5
bipush 39
if_icmpne 43
6: iconst_m1
istore 6
start local 6 7: aconst_null
astore 7
start local 7 8: aload 1
iload 4
iinc 4 1
invokevirtual java.lang.String.charAt:(I)C
istore 5
9: iload 5
lookupswitch { // 4
37: 25
45: 33
164: 10
8240: 29
default: 36
}
10: StackMap locals: int int java.text.Format$Field
StackMap stack:
iload 4
aload 1
invokevirtual java.lang.String.length:()I
if_icmpge 15
11: aload 1
iload 4
invokevirtual java.lang.String.charAt:(I)C
sipush 164
if_icmpne 15
12: iinc 4 1
13: aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getInternationalCurrencySymbol:()Ljava/lang/String;
astore 8
start local 8 14: goto 16
end local 8 15: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getCurrencySymbol:()Ljava/lang/String;
astore 8
start local 8 16: StackMap locals: java.lang.String
StackMap stack:
aload 8
invokevirtual java.lang.String.length:()I
ifle 44
17: aload 2
ifnonnull 19
18: new java.util.ArrayList
dup
iconst_2
invokespecial java.util.ArrayList.<init>:(I)V
astore 2
19: StackMap locals:
StackMap stack:
new java.text.FieldPosition
dup
getstatic java.text.NumberFormat$Field.CURRENCY:Ljava/text/NumberFormat$Field;
invokespecial java.text.FieldPosition.<init>:(Ljava/text/Format$Field;)V
astore 9
start local 9 20: aload 9
iload 3
invokevirtual java.text.FieldPosition.setBeginIndex:(I)V
21: aload 9
iload 3
aload 8
invokevirtual java.lang.String.length:()I
iadd
invokevirtual java.text.FieldPosition.setEndIndex:(I)V
22: aload 2
aload 9
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
23: iload 3
aload 8
invokevirtual java.lang.String.length:()I
iadd
istore 3
end local 9 24: goto 44
end local 8 25: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getPercent:()C
istore 5
26: iconst_m1
istore 6
27: getstatic java.text.NumberFormat$Field.PERCENT:Ljava/text/NumberFormat$Field;
astore 7
28: goto 36
29: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getPerMill:()C
istore 5
30: iconst_m1
istore 6
31: getstatic java.text.NumberFormat$Field.PERMILLE:Ljava/text/NumberFormat$Field;
astore 7
32: goto 36
33: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getMinusSign:()C
istore 5
34: iconst_m1
istore 6
35: getstatic java.text.NumberFormat$Field.SIGN:Ljava/text/NumberFormat$Field;
astore 7
36: StackMap locals:
StackMap stack:
aload 7
ifnull 43
37: aload 2
ifnonnull 39
38: new java.util.ArrayList
dup
iconst_2
invokespecial java.util.ArrayList.<init>:(I)V
astore 2
39: StackMap locals:
StackMap stack:
new java.text.FieldPosition
dup
aload 7
iload 6
invokespecial java.text.FieldPosition.<init>:(Ljava/text/Format$Field;I)V
astore 8
start local 8 40: aload 8
iload 3
invokevirtual java.text.FieldPosition.setBeginIndex:(I)V
41: aload 8
iload 3
iconst_1
iadd
invokevirtual java.text.FieldPosition.setEndIndex:(I)V
42: aload 2
aload 8
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 8 end local 7 end local 6 43: StackMap locals:
StackMap stack:
iinc 3 1
end local 5 44: StackMap locals:
StackMap stack:
iload 4
aload 1
invokevirtual java.lang.String.length:()I
if_icmplt 4
end local 4 45: aload 2
ifnull 47
46: aload 2
getstatic java.text.DecimalFormat.EmptyFieldPositionArray:[Ljava/text/FieldPosition;
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.text.FieldPosition[]
areturn
47: StackMap locals:
StackMap stack:
getstatic java.text.DecimalFormat.EmptyFieldPositionArray:[Ljava/text/FieldPosition;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 48 0 this Ljava/text/DecimalFormat;
0 48 1 pattern Ljava/lang/String;
1 48 2 positions Ljava/util/ArrayList<Ljava/text/FieldPosition;>;
2 48 3 stringIndex I
3 45 4 i I
5 44 5 c C
7 43 6 field I
8 43 7 fieldID Ljava/text/Format$Field;
14 15 8 string Ljava/lang/String;
16 25 8 string Ljava/lang/String;
20 24 9 fp Ljava/text/FieldPosition;
40 43 8 fp Ljava/text/FieldPosition;
MethodParameters:
Name Flags
pattern
private void appendAffix(java.lang.StringBuffer, java.lang.String, java.lang.String, boolean);
descriptor: (Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
ifnonnull 3
1: aload 0
aload 1
aload 3
iload 4
invokevirtual java.text.DecimalFormat.appendAffix:(Ljava/lang/StringBuffer;Ljava/lang/String;Z)V
2: goto 32
3: StackMap locals:
StackMap stack:
iconst_0
istore 6
start local 6 4: goto 31
5: StackMap locals: java.text.DecimalFormat java.lang.StringBuffer java.lang.String java.lang.String int top int
StackMap stack:
aload 2
bipush 39
iload 6
invokevirtual java.lang.String.indexOf:(II)I
istore 5
start local 5 6: iload 5
ifge 9
7: aload 0
aload 1
aload 2
iload 6
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
iload 4
invokevirtual java.text.DecimalFormat.appendAffix:(Ljava/lang/StringBuffer;Ljava/lang/String;Z)V
8: goto 32
9: StackMap locals: java.text.DecimalFormat java.lang.StringBuffer java.lang.String java.lang.String int int int
StackMap stack:
iload 5
iload 6
if_icmple 11
10: aload 0
aload 1
aload 2
iload 6
iload 5
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
iload 4
invokevirtual java.text.DecimalFormat.appendAffix:(Ljava/lang/StringBuffer;Ljava/lang/String;Z)V
11: StackMap locals:
StackMap stack:
aload 2
iinc 5 1
iload 5
invokevirtual java.lang.String.charAt:(I)C
istore 7
start local 7 12: iinc 5 1
13: iload 7
bipush 39
if_icmpne 16
14: aload 1
iload 7
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
15: goto 29
StackMap locals: int
StackMap stack:
16: iload 7
sipush 164
if_icmpne 22
17: iload 5
aload 2
invokevirtual java.lang.String.length:()I
if_icmpge 22
18: aload 2
iload 5
invokevirtual java.lang.String.charAt:(I)C
sipush 164
if_icmpne 22
19: iinc 5 1
20: aload 1
iload 7
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
21: goto 29
StackMap locals:
StackMap stack:
22: iload 4
ifeq 29
23: iload 7
lookupswitch { // 3
37: 24
45: 28
8240: 26
default: 29
}
24: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getPercent:()C
istore 7
25: goto 29
26: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getPerMill:()C
istore 7
27: goto 29
28: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getMinusSign:()C
istore 7
29: StackMap locals:
StackMap stack:
aload 1
iload 7
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
end local 7 30: iload 5
istore 6
end local 5 StackMap locals: java.text.DecimalFormat java.lang.StringBuffer java.lang.String java.lang.String int top int
StackMap stack:
31: iload 6
aload 2
invokevirtual java.lang.String.length:()I
if_icmplt 5
end local 6 32: StackMap locals: java.text.DecimalFormat java.lang.StringBuffer java.lang.String java.lang.String int
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Ljava/text/DecimalFormat;
0 33 1 buffer Ljava/lang/StringBuffer;
0 33 2 affixPattern Ljava/lang/String;
0 33 3 expAffix Ljava/lang/String;
0 33 4 localized Z
6 31 5 i I
4 32 6 pos I
12 30 7 c C
MethodParameters:
Name Flags
buffer
affixPattern
expAffix
localized
private void appendAffix(java.lang.StringBuffer, java.lang.String, boolean);
descriptor: (Ljava/lang/StringBuffer;Ljava/lang/String;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
ifeq 14
1: aload 2
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getZeroDigit:()C
invokevirtual java.lang.String.indexOf:(I)I
ifge 11
2: aload 2
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getGroupingSeparator:()C
invokevirtual java.lang.String.indexOf:(I)I
ifge 11
3: aload 2
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getDecimalSeparator:()C
invokevirtual java.lang.String.indexOf:(I)I
ifge 11
4: aload 2
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getPercent:()C
invokevirtual java.lang.String.indexOf:(I)I
ifge 11
5: aload 2
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getPerMill:()C
invokevirtual java.lang.String.indexOf:(I)I
ifge 11
6: aload 2
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getDigit:()C
invokevirtual java.lang.String.indexOf:(I)I
ifge 11
7: aload 2
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getPatternSeparator:()C
invokevirtual java.lang.String.indexOf:(I)I
ifge 11
8: aload 2
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getMinusSign:()C
invokevirtual java.lang.String.indexOf:(I)I
ifge 11
9: aload 2
sipush 164
invokevirtual java.lang.String.indexOf:(I)I
10: ifge 11
iconst_0
goto 12
StackMap locals:
StackMap stack:
11: iconst_1
StackMap locals:
StackMap stack: int
12: istore 4
start local 4 13: goto 26
end local 4 14: StackMap locals:
StackMap stack:
aload 2
bipush 48
invokevirtual java.lang.String.indexOf:(I)I
ifge 24
15: aload 2
bipush 44
invokevirtual java.lang.String.indexOf:(I)I
ifge 24
16: aload 2
bipush 46
invokevirtual java.lang.String.indexOf:(I)I
ifge 24
17: aload 2
bipush 37
invokevirtual java.lang.String.indexOf:(I)I
ifge 24
18: aload 2
sipush 8240
invokevirtual java.lang.String.indexOf:(I)I
ifge 24
19: aload 2
bipush 35
invokevirtual java.lang.String.indexOf:(I)I
ifge 24
20: aload 2
bipush 59
invokevirtual java.lang.String.indexOf:(I)I
ifge 24
21: aload 2
bipush 45
invokevirtual java.lang.String.indexOf:(I)I
ifge 24
22: aload 2
sipush 164
invokevirtual java.lang.String.indexOf:(I)I
23: ifge 24
iconst_0
goto 25
StackMap locals:
StackMap stack:
24: iconst_1
StackMap locals:
StackMap stack: int
25: istore 4
start local 4 26: StackMap locals: int
StackMap stack:
iload 4
ifeq 27
aload 1
bipush 39
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
27: StackMap locals:
StackMap stack:
aload 2
bipush 39
invokevirtual java.lang.String.indexOf:(I)I
ifge 28
aload 1
aload 2
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
goto 35
28: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 29: goto 34
30: StackMap locals: int
StackMap stack:
aload 2
iload 5
invokevirtual java.lang.String.charAt:(I)C
istore 6
start local 6 31: aload 1
iload 6
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
32: iload 6
bipush 39
if_icmpne 33
aload 1
iload 6
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
end local 6 33: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
34: iload 5
aload 2
invokevirtual java.lang.String.length:()I
if_icmplt 30
end local 5 35: StackMap locals:
StackMap stack:
iload 4
ifeq 36
aload 1
bipush 39
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
36: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Ljava/text/DecimalFormat;
0 37 1 buffer Ljava/lang/StringBuffer;
0 37 2 affix Ljava/lang/String;
0 37 3 localized Z
13 14 4 needQuote Z
26 37 4 needQuote Z
29 35 5 j I
31 33 6 c C
MethodParameters:
Name Flags
buffer
affix
localized
private java.lang.String toPattern(boolean);
descriptor: (Z)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 2
start local 2 1: iconst_1
istore 3
start local 3 2: goto 67
3: StackMap locals: java.lang.StringBuffer int
StackMap stack:
iload 3
iconst_1
if_icmpne 5
4: aload 0
aload 2
aload 0
getfield java.text.DecimalFormat.posPrefixPattern:Ljava/lang/String;
aload 0
getfield java.text.DecimalFormat.positivePrefix:Ljava/lang/String;
iload 1
invokevirtual java.text.DecimalFormat.appendAffix:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;Z)V
goto 6
5: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 0
getfield java.text.DecimalFormat.negPrefixPattern:Ljava/lang/String;
aload 0
getfield java.text.DecimalFormat.negativePrefix:Ljava/lang/String;
iload 1
invokevirtual java.text.DecimalFormat.appendAffix:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;Z)V
6: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.useExponentialNotation:Z
ifeq 8
7: aload 0
invokevirtual java.text.DecimalFormat.getMaximumIntegerDigits:()I
goto 9
8: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.groupingSize:B
aload 0
invokevirtual java.text.DecimalFormat.getMinimumIntegerDigits:()I
invokestatic java.lang.Math.max:(II)I
iconst_1
iadd
9: StackMap locals:
StackMap stack: int
istore 5
start local 5 10: iload 5
istore 4
start local 4 11: goto 24
12: StackMap locals: int int
StackMap stack:
iload 4
iload 5
if_icmpeq 17
aload 0
invokevirtual java.text.DecimalFormat.isGroupingUsed:()Z
ifeq 17
aload 0
getfield java.text.DecimalFormat.groupingSize:B
ifeq 17
13: iload 4
aload 0
getfield java.text.DecimalFormat.groupingSize:B
irem
ifne 17
14: aload 2
iload 1
ifeq 15
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getGroupingSeparator:()C
goto 16
15: StackMap locals:
StackMap stack: java.lang.StringBuffer
bipush 44
16: StackMap locals: java.text.DecimalFormat int java.lang.StringBuffer int int int
StackMap stack: java.lang.StringBuffer int
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
17: StackMap locals:
StackMap stack:
aload 2
iload 4
aload 0
invokevirtual java.text.DecimalFormat.getMinimumIntegerDigits:()I
if_icmpgt 20
18: iload 1
ifeq 19
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getZeroDigit:()C
goto 22
StackMap locals:
StackMap stack: java.lang.StringBuffer
19: bipush 48
goto 22
20: StackMap locals:
StackMap stack: java.lang.StringBuffer
iload 1
ifeq 21
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getDigit:()C
goto 22
StackMap locals:
StackMap stack: java.lang.StringBuffer
21: bipush 35
22: StackMap locals: java.text.DecimalFormat int java.lang.StringBuffer int int int
StackMap stack: java.lang.StringBuffer int
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
23: iinc 4 -1
StackMap locals:
StackMap stack:
24: iload 4
ifgt 12
25: aload 0
invokevirtual java.text.DecimalFormat.getMaximumFractionDigits:()I
ifgt 26
aload 0
getfield java.text.DecimalFormat.decimalSeparatorAlwaysShown:Z
ifeq 29
26: StackMap locals:
StackMap stack:
aload 2
iload 1
ifeq 27
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getDecimalSeparator:()C
goto 28
27: StackMap locals:
StackMap stack: java.lang.StringBuffer
bipush 46
28: StackMap locals: java.text.DecimalFormat int java.lang.StringBuffer int int int
StackMap stack: java.lang.StringBuffer int
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
29: StackMap locals:
StackMap stack:
iconst_0
istore 4
goto 39
30: StackMap locals:
StackMap stack:
iload 4
aload 0
invokevirtual java.text.DecimalFormat.getMinimumFractionDigits:()I
if_icmpge 35
31: aload 2
iload 1
ifeq 32
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getZeroDigit:()C
goto 33
32: StackMap locals:
StackMap stack: java.lang.StringBuffer
bipush 48
33: StackMap locals: java.text.DecimalFormat int java.lang.StringBuffer int int int
StackMap stack: java.lang.StringBuffer int
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
34: goto 38
35: StackMap locals:
StackMap stack:
aload 2
iload 1
ifeq 36
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getDigit:()C
goto 37
36: StackMap locals:
StackMap stack: java.lang.StringBuffer
bipush 35
37: StackMap locals: java.text.DecimalFormat int java.lang.StringBuffer int int int
StackMap stack: java.lang.StringBuffer int
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
38: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
39: iload 4
aload 0
invokevirtual java.text.DecimalFormat.getMaximumFractionDigits:()I
if_icmplt 30
40: aload 0
getfield java.text.DecimalFormat.useExponentialNotation:Z
ifeq 50
41: aload 2
iload 1
ifeq 42
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getExponentSeparator:()Ljava/lang/String;
goto 43
42: StackMap locals:
StackMap stack: java.lang.StringBuffer
ldc "E"
43: StackMap locals: java.text.DecimalFormat int java.lang.StringBuffer int int int
StackMap stack: java.lang.StringBuffer java.lang.String
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
44: iconst_0
istore 4
goto 49
45: StackMap locals:
StackMap stack:
aload 2
iload 1
ifeq 46
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getZeroDigit:()C
goto 47
46: StackMap locals:
StackMap stack: java.lang.StringBuffer
bipush 48
47: StackMap locals: java.text.DecimalFormat int java.lang.StringBuffer int int int
StackMap stack: java.lang.StringBuffer int
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
48: iinc 4 1
StackMap locals:
StackMap stack:
49: iload 4
aload 0
getfield java.text.DecimalFormat.minExponentDigits:B
if_icmplt 45
50: StackMap locals:
StackMap stack:
iload 3
iconst_1
if_icmpne 65
51: aload 0
aload 2
aload 0
getfield java.text.DecimalFormat.posSuffixPattern:Ljava/lang/String;
aload 0
getfield java.text.DecimalFormat.positiveSuffix:Ljava/lang/String;
iload 1
invokevirtual java.text.DecimalFormat.appendAffix:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;Z)V
52: aload 0
getfield java.text.DecimalFormat.negSuffixPattern:Ljava/lang/String;
aload 0
getfield java.text.DecimalFormat.posSuffixPattern:Ljava/lang/String;
if_acmpne 54
53: aload 0
getfield java.text.DecimalFormat.negativeSuffix:Ljava/lang/String;
aload 0
getfield java.text.DecimalFormat.positiveSuffix:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 56
54: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.negSuffixPattern:Ljava/lang/String;
ifnull 61
55: aload 0
getfield java.text.DecimalFormat.negSuffixPattern:Ljava/lang/String;
aload 0
getfield java.text.DecimalFormat.posSuffixPattern:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 61
56: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.negPrefixPattern:Ljava/lang/String;
ifnull 58
aload 0
getfield java.text.DecimalFormat.posPrefixPattern:Ljava/lang/String;
ifnull 58
57: aload 0
getfield java.text.DecimalFormat.negPrefixPattern:Ljava/lang/String;
new java.lang.StringBuilder
dup
ldc "'-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield java.text.DecimalFormat.posPrefixPattern:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 68
58: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.negPrefixPattern:Ljava/lang/String;
aload 0
getfield java.text.DecimalFormat.posPrefixPattern:Ljava/lang/String;
if_acmpne 61
59: aload 0
getfield java.text.DecimalFormat.negativePrefix:Ljava/lang/String;
new java.lang.StringBuilder
dup
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getMinusSign:()C
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield java.text.DecimalFormat.positivePrefix:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 61
60: goto 68
61: StackMap locals:
StackMap stack:
aload 2
iload 1
ifeq 62
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getPatternSeparator:()C
goto 63
62: StackMap locals:
StackMap stack: java.lang.StringBuffer
bipush 59
63: StackMap locals: java.text.DecimalFormat int java.lang.StringBuffer int int int
StackMap stack: java.lang.StringBuffer int
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
64: goto 66
StackMap locals:
StackMap stack:
65: aload 0
aload 2
aload 0
getfield java.text.DecimalFormat.negSuffixPattern:Ljava/lang/String;
aload 0
getfield java.text.DecimalFormat.negativeSuffix:Ljava/lang/String;
iload 1
invokevirtual java.text.DecimalFormat.appendAffix:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;Z)V
end local 5 end local 4 66: StackMap locals:
StackMap stack:
iinc 3 -1
StackMap locals:
StackMap stack:
67: iload 3
ifge 3
end local 3 68: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 69 0 this Ljava/text/DecimalFormat;
0 69 1 localized Z
1 69 2 result Ljava/lang/StringBuffer;
2 68 3 j I
11 66 4 i I
10 66 5 digitCount I
MethodParameters:
Name Flags
localized
public void applyPattern(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokevirtual java.text.DecimalFormat.applyPattern:(Ljava/lang/String;Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/text/DecimalFormat;
0 2 1 pattern Ljava/lang/String;
MethodParameters:
Name Flags
pattern
public void applyLocalizedPattern(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
invokevirtual java.text.DecimalFormat.applyPattern:(Ljava/lang/String;Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/text/DecimalFormat;
0 2 1 pattern Ljava/lang/String;
MethodParameters:
Name Flags
pattern
private void applyPattern(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=30, args_size=3
start local 0 start local 1 start local 2 0: bipush 48
istore 3
start local 3 1: bipush 44
istore 4
start local 4 2: bipush 46
istore 5
start local 5 3: bipush 37
istore 6
start local 6 4: sipush 8240
istore 7
start local 7 5: bipush 35
istore 8
start local 8 6: bipush 59
istore 9
start local 9 7: ldc "E"
astore 10
start local 10 8: bipush 45
istore 11
start local 11 9: iload 2
ifeq 19
10: aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getZeroDigit:()C
istore 3
11: aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getGroupingSeparator:()C
istore 4
12: aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getDecimalSeparator:()C
istore 5
13: aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getPercent:()C
istore 6
14: aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getPerMill:()C
istore 7
15: aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getDigit:()C
istore 8
16: aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getPatternSeparator:()C
istore 9
17: aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getExponentSeparator:()Ljava/lang/String;
astore 10
18: aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getMinusSign:()C
istore 11
19: StackMap locals: java.text.DecimalFormat java.lang.String int int int int int int int int java.lang.String int
StackMap stack:
iconst_0
istore 12
start local 12 20: aload 0
iconst_0
putfield java.text.DecimalFormat.decimalSeparatorAlwaysShown:Z
21: aload 0
iconst_0
putfield java.text.DecimalFormat.isCurrencyFormat:Z
22: aload 0
iconst_0
putfield java.text.DecimalFormat.useExponentialNotation:Z
23: iconst_0
istore 13
start local 13 24: iconst_0
istore 14
start local 14 25: iconst_1
istore 15
start local 15 26: goto 227
27: StackMap locals: java.text.DecimalFormat java.lang.String int int int int int int int int java.lang.String int int int int int
StackMap stack:
iconst_0
istore 16
start local 16 28: new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 17
start local 17 29: new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 18
start local 18 30: iconst_m1
istore 19
start local 19 31: iconst_1
istore 20
start local 20 32: iconst_0
istore 21
start local 21 33: iconst_0
istore 22
start local 22 34: iconst_0
istore 23
start local 23 35: iconst_m1
istore 24
start local 24 36: iconst_0
istore 25
start local 25 37: aload 17
astore 26
start local 26 38: iload 14
istore 27
start local 27 39: goto 173
40: StackMap locals: java.text.DecimalFormat java.lang.String int int int int int int int int java.lang.String int int int int int int java.lang.StringBuffer java.lang.StringBuffer int int int int int int int java.lang.StringBuffer int
StackMap stack:
aload 1
iload 27
invokevirtual java.lang.String.charAt:(I)C
istore 28
start local 28 41: iload 25
tableswitch { // 0 - 2
0: 42
1: 111
2: 42
default: 172
}
42: StackMap locals: int
StackMap stack:
iload 16
ifeq 51
43: iload 28
bipush 39
if_icmpne 109
44: iload 27
iconst_1
iadd
aload 1
invokevirtual java.lang.String.length:()I
if_icmpge 49
45: aload 1
iload 27
iconst_1
iadd
invokevirtual java.lang.String.charAt:(I)C
bipush 39
if_icmpne 49
46: iinc 27 1
47: aload 26
ldc "''"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
48: goto 172
49: StackMap locals:
StackMap stack:
iconst_0
istore 16
50: goto 172
51: StackMap locals:
StackMap stack:
iload 28
iload 8
if_icmpeq 55
52: iload 28
iload 3
if_icmpeq 55
53: iload 28
iload 4
if_icmpeq 55
54: iload 28
iload 5
if_icmpne 60
55: StackMap locals:
StackMap stack:
iconst_1
istore 25
56: iload 15
iconst_1
if_icmpne 58
57: iload 27
pop
58: StackMap locals:
StackMap stack:
iinc 27 -1
59: goto 172
60: StackMap locals:
StackMap stack:
iload 28
sipush 164
if_icmpne 73
61: iload 27
iconst_1
iadd
aload 1
invokevirtual java.lang.String.length:()I
if_icmpge 64
62: aload 1
iload 27
iconst_1
iadd
invokevirtual java.lang.String.charAt:(I)C
sipush 164
if_icmpne 64
63: iconst_1
goto 65
StackMap locals:
StackMap stack:
64: iconst_0
StackMap locals:
StackMap stack: int
65: istore 29
start local 29 66: iload 29
ifeq 68
67: iinc 27 1
68: StackMap locals: int
StackMap stack:
aload 0
iconst_1
putfield java.text.DecimalFormat.isCurrencyFormat:Z
69: aload 26
iload 29
ifeq 70
ldc "'\u00A4\u00A4"
goto 71
StackMap locals:
StackMap stack: java.lang.StringBuffer
70: ldc "'\u00A4"
StackMap locals: java.text.DecimalFormat java.lang.String int int int int int int int int java.lang.String int int int int int int java.lang.StringBuffer java.lang.StringBuffer int int int int int int int java.lang.StringBuffer int int int
StackMap stack: java.lang.StringBuffer java.lang.String
71: invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
72: goto 172
end local 29 73: StackMap locals:
StackMap stack:
iload 28
bipush 39
if_icmpne 82
74: iload 28
bipush 39
if_icmpne 109
75: iload 27
iconst_1
iadd
aload 1
invokevirtual java.lang.String.length:()I
if_icmpge 80
76: aload 1
iload 27
iconst_1
iadd
invokevirtual java.lang.String.charAt:(I)C
bipush 39
if_icmpne 80
77: iinc 27 1
78: aload 26
ldc "''"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
79: goto 172
80: StackMap locals:
StackMap stack:
iconst_1
istore 16
81: goto 172
82: StackMap locals:
StackMap stack:
iload 28
iload 9
if_icmpne 90
83: iload 25
ifeq 84
iload 15
ifne 87
84: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Unquoted special character '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
85: iload 28
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "' in pattern \""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 34
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
86: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
87: StackMap locals:
StackMap stack:
iload 27
iconst_1
iadd
istore 14
88: aload 1
invokevirtual java.lang.String.length:()I
istore 27
89: goto 172
90: StackMap locals:
StackMap stack:
iload 28
iload 6
if_icmpne 98
91: iload 20
iconst_1
if_icmpeq 95
92: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Too many percent/per mille characters in pattern \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
93: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 34
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
94: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
95: StackMap locals:
StackMap stack:
bipush 100
istore 20
96: aload 26
ldc "'%"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
97: goto 172
98: StackMap locals:
StackMap stack:
iload 28
iload 7
if_icmpne 106
99: iload 20
iconst_1
if_icmpeq 103
100: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Too many percent/per mille characters in pattern \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
101: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 34
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
102: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
103: StackMap locals:
StackMap stack:
sipush 1000
istore 20
104: aload 26
ldc "'\u2030"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
105: goto 172
106: StackMap locals:
StackMap stack:
iload 28
iload 11
if_icmpne 109
107: aload 26
ldc "'-"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
108: goto 172
109: StackMap locals:
StackMap stack:
aload 26
iload 28
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
110: goto 172
111: StackMap locals:
StackMap stack:
iload 15
iconst_1
if_icmpne 114
112: iinc 13 1
113: goto 118
114: StackMap locals:
StackMap stack:
iinc 13 -1
iload 13
ifne 172
115: iconst_2
istore 25
116: aload 18
astore 26
117: goto 172
118: StackMap locals:
StackMap stack:
iload 28
iload 8
if_icmpne 126
119: iload 22
ifle 122
120: iinc 23 1
121: goto 123
122: StackMap locals:
StackMap stack:
iinc 21 1
123: StackMap locals:
StackMap stack:
iload 24
iflt 172
iload 19
ifge 172
124: iload 24
iconst_1
iadd
i2b
istore 24
125: goto 172
StackMap locals:
StackMap stack:
126: iload 28
iload 3
if_icmpne 135
127: iload 23
ifle 131
128: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Unexpected '0' in pattern \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
129: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 34
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
130: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
131: StackMap locals:
StackMap stack:
iinc 22 1
132: iload 24
iflt 172
iload 19
ifge 172
133: iload 24
iconst_1
iadd
i2b
istore 24
134: goto 172
StackMap locals:
StackMap stack:
135: iload 28
iload 4
if_icmpne 138
136: iconst_0
istore 24
137: goto 172
StackMap locals:
StackMap stack:
138: iload 28
iload 5
if_icmpne 145
139: iload 19
iflt 143
140: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Multiple decimal separators in pattern \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
141: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 34
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
142: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
143: StackMap locals:
StackMap stack:
iload 21
iload 22
iadd
iload 23
iadd
istore 19
144: goto 172
StackMap locals:
StackMap stack:
145: aload 1
iload 27
aload 10
iconst_0
aload 10
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.regionMatches:(ILjava/lang/String;II)Z
ifeq 168
146: aload 0
getfield java.text.DecimalFormat.useExponentialNotation:Z
ifeq 150
147: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Multiple exponential symbols in pattern \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
148: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 34
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
149: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
150: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield java.text.DecimalFormat.useExponentialNotation:Z
151: aload 0
iconst_0
putfield java.text.DecimalFormat.minExponentDigits:B
152: iload 27
aload 10
invokevirtual java.lang.String.length:()I
iadd
istore 27
153: goto 157
154: StackMap locals:
StackMap stack:
aload 0
dup
getfield java.text.DecimalFormat.minExponentDigits:B
iconst_1
iadd
i2b
putfield java.text.DecimalFormat.minExponentDigits:B
155: iinc 13 1
156: iinc 27 1
157: StackMap locals:
StackMap stack:
iload 27
aload 1
invokevirtual java.lang.String.length:()I
if_icmpge 159
158: aload 1
iload 27
invokevirtual java.lang.String.charAt:(I)C
iload 3
if_icmpeq 154
159: StackMap locals:
StackMap stack:
iload 21
iload 22
iadd
iconst_1
if_icmplt 161
160: aload 0
getfield java.text.DecimalFormat.minExponentDigits:B
iconst_1
if_icmpge 164
161: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Malformed exponential pattern \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
162: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 34
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
163: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
164: StackMap locals:
StackMap stack:
iconst_2
istore 25
165: aload 18
astore 26
166: iinc 27 -1
167: goto 172
168: StackMap locals:
StackMap stack:
iconst_2
istore 25
169: aload 18
astore 26
170: iinc 27 -1
171: iinc 13 -1
end local 28 172: StackMap locals:
StackMap stack:
iinc 27 1
StackMap locals:
StackMap stack:
173: iload 27
aload 1
invokevirtual java.lang.String.length:()I
if_icmplt 40
end local 27 174: iload 22
ifne 181
iload 21
ifle 181
iload 19
iflt 181
175: iload 19
istore 27
start local 27 176: iload 27
ifne 178
177: iinc 27 1
178: StackMap locals:
StackMap stack:
iload 21
iload 27
isub
istore 23
179: iload 27
iconst_1
isub
istore 21
180: iconst_1
istore 22
end local 27 181: StackMap locals:
StackMap stack:
iload 19
ifge 182
iload 23
ifgt 185
182: StackMap locals:
StackMap stack:
iload 19
iflt 184
iload 19
iload 21
if_icmplt 185
183: iload 19
iload 21
iload 22
iadd
if_icmpgt 185
184: StackMap locals:
StackMap stack:
iload 24
ifeq 185
iload 16
ifeq 188
185: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Malformed pattern \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
186: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 34
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
187: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
188: StackMap locals:
StackMap stack:
iload 15
iconst_1
if_icmpne 223
189: aload 0
aload 17
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
putfield java.text.DecimalFormat.posPrefixPattern:Ljava/lang/String;
190: aload 0
aload 18
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
putfield java.text.DecimalFormat.posSuffixPattern:Ljava/lang/String;
191: aload 0
aload 0
getfield java.text.DecimalFormat.posPrefixPattern:Ljava/lang/String;
putfield java.text.DecimalFormat.negPrefixPattern:Ljava/lang/String;
192: aload 0
aload 0
getfield java.text.DecimalFormat.posSuffixPattern:Ljava/lang/String;
putfield java.text.DecimalFormat.negSuffixPattern:Ljava/lang/String;
193: iload 21
iload 22
iadd
iload 23
iadd
istore 27
start local 27 194: iload 19
iflt 196
195: iload 19
goto 197
StackMap locals: int
StackMap stack:
196: iload 27
197: StackMap locals:
StackMap stack: int
istore 28
start local 28 198: aload 0
iload 28
iload 21
isub
invokevirtual java.text.DecimalFormat.setMinimumIntegerDigits:(I)V
199: aload 0
aload 0
getfield java.text.DecimalFormat.useExponentialNotation:Z
ifeq 201
200: iload 21
aload 0
invokevirtual java.text.DecimalFormat.getMinimumIntegerDigits:()I
iadd
goto 202
201: StackMap locals: java.text.DecimalFormat java.lang.String int int int int int int int int java.lang.String int int int int int int java.lang.StringBuffer java.lang.StringBuffer int int int int int int int java.lang.StringBuffer int int
StackMap stack: java.text.DecimalFormat
ldc 2147483647
202: StackMap locals: java.text.DecimalFormat java.lang.String int int int int int int int int java.lang.String int int int int int int java.lang.StringBuffer java.lang.StringBuffer int int int int int int int java.lang.StringBuffer int int
StackMap stack: java.text.DecimalFormat int
invokevirtual java.text.DecimalFormat.setMaximumIntegerDigits:(I)V
203: aload 0
iload 19
iflt 205
204: iload 27
iload 19
isub
goto 206
StackMap locals:
StackMap stack: java.text.DecimalFormat
205: iconst_0
206: StackMap locals: java.text.DecimalFormat java.lang.String int int int int int int int int java.lang.String int int int int int int java.lang.StringBuffer java.lang.StringBuffer int int int int int int int java.lang.StringBuffer int int
StackMap stack: java.text.DecimalFormat int
invokevirtual java.text.DecimalFormat.setMaximumFractionDigits:(I)V
207: aload 0
iload 19
iflt 209
208: iload 21
iload 22
iadd
iload 19
isub
goto 210
StackMap locals:
StackMap stack: java.text.DecimalFormat
209: iconst_0
210: StackMap locals: java.text.DecimalFormat java.lang.String int int int int int int int int java.lang.String int int int int int int java.lang.StringBuffer java.lang.StringBuffer int int int int int int int java.lang.StringBuffer int int
StackMap stack: java.text.DecimalFormat int
invokevirtual java.text.DecimalFormat.setMinimumFractionDigits:(I)V
211: aload 0
iload 24
ifle 212
iconst_1
goto 213
StackMap locals:
StackMap stack: java.text.DecimalFormat
212: iconst_0
StackMap locals: java.text.DecimalFormat java.lang.String int int int int int int int int java.lang.String int int int int int int java.lang.StringBuffer java.lang.StringBuffer int int int int int int int java.lang.StringBuffer int int
StackMap stack: java.text.DecimalFormat int
213: invokevirtual java.text.DecimalFormat.setGroupingUsed:(Z)V
214: aload 0
iload 24
ifle 215
iload 24
goto 216
StackMap locals:
StackMap stack: java.text.DecimalFormat
215: iconst_0
StackMap locals: java.text.DecimalFormat java.lang.String int int int int int int int int java.lang.String int int int int int int java.lang.StringBuffer java.lang.StringBuffer int int int int int int int java.lang.StringBuffer int int
StackMap stack: java.text.DecimalFormat int
216: putfield java.text.DecimalFormat.groupingSize:B
217: aload 0
iload 20
putfield java.text.DecimalFormat.multiplier:I
218: aload 0
iload 19
ifeq 220
219: iload 19
iload 27
if_icmpeq 220
iconst_0
goto 221
StackMap locals:
StackMap stack: java.text.DecimalFormat
220: iconst_1
221: StackMap locals: java.text.DecimalFormat java.lang.String int int int int int int int int java.lang.String int int int int int int java.lang.StringBuffer java.lang.StringBuffer int int int int int int int java.lang.StringBuffer int int
StackMap stack: java.text.DecimalFormat int
invokevirtual java.text.DecimalFormat.setDecimalSeparatorAlwaysShown:(Z)V
end local 28 end local 27 222: goto 226
223: StackMap locals:
StackMap stack:
aload 0
aload 17
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
putfield java.text.DecimalFormat.negPrefixPattern:Ljava/lang/String;
224: aload 0
aload 18
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
putfield java.text.DecimalFormat.negSuffixPattern:Ljava/lang/String;
225: iconst_1
istore 12
end local 26 end local 25 end local 24 end local 23 end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 226: StackMap locals: java.text.DecimalFormat java.lang.String int int int int int int int int java.lang.String int int int int int
StackMap stack:
iinc 15 -1
StackMap locals:
StackMap stack:
227: iload 15
iflt 228
iload 14
aload 1
invokevirtual java.lang.String.length:()I
if_icmplt 27
end local 15 228: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.String.length:()I
ifne 234
229: aload 0
aload 0
ldc ""
dup_x1
putfield java.text.DecimalFormat.posSuffixPattern:Ljava/lang/String;
putfield java.text.DecimalFormat.posPrefixPattern:Ljava/lang/String;
230: aload 0
iconst_0
invokevirtual java.text.DecimalFormat.setMinimumIntegerDigits:(I)V
231: aload 0
ldc 2147483647
invokevirtual java.text.DecimalFormat.setMaximumIntegerDigits:(I)V
232: aload 0
iconst_0
invokevirtual java.text.DecimalFormat.setMinimumFractionDigits:(I)V
233: aload 0
ldc 2147483647
invokevirtual java.text.DecimalFormat.setMaximumFractionDigits:(I)V
234: StackMap locals:
StackMap stack:
iload 12
ifeq 237
235: aload 0
getfield java.text.DecimalFormat.negPrefixPattern:Ljava/lang/String;
aload 0
getfield java.text.DecimalFormat.posPrefixPattern:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 239
236: aload 0
getfield java.text.DecimalFormat.negSuffixPattern:Ljava/lang/String;
aload 0
getfield java.text.DecimalFormat.posSuffixPattern:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 239
237: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield java.text.DecimalFormat.posSuffixPattern:Ljava/lang/String;
putfield java.text.DecimalFormat.negSuffixPattern:Ljava/lang/String;
238: aload 0
new java.lang.StringBuilder
dup
ldc "'-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield java.text.DecimalFormat.posPrefixPattern:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putfield java.text.DecimalFormat.negPrefixPattern:Ljava/lang/String;
239: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.text.DecimalFormat.expandAffixes:()V
240: return
end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 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 241 0 this Ljava/text/DecimalFormat;
0 241 1 pattern Ljava/lang/String;
0 241 2 localized Z
1 241 3 zeroDigit C
2 241 4 groupingSeparator C
3 241 5 decimalSeparator C
4 241 6 percent C
5 241 7 perMill C
6 241 8 digit C
7 241 9 separator C
8 241 10 exponent Ljava/lang/String;
9 241 11 minus C
20 241 12 gotNegative Z
24 241 13 phaseOneLength I
25 241 14 start I
26 228 15 j I
28 226 16 inQuote Z
29 226 17 prefix Ljava/lang/StringBuffer;
30 226 18 suffix Ljava/lang/StringBuffer;
31 226 19 decimalPos I
32 226 20 multiplier I
33 226 21 digitLeftCount I
34 226 22 zeroDigitCount I
35 226 23 digitRightCount I
36 226 24 groupingCount B
37 226 25 phase I
38 226 26 affix Ljava/lang/StringBuffer;
39 174 27 pos I
41 172 28 ch C
66 73 29 doubled Z
176 181 27 n I
194 222 27 digitTotalCount I
198 222 28 effectiveDecimalPos I
MethodParameters:
Name Flags
pattern
localized
public void setMaximumIntegerDigits(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
iload 1
invokestatic java.lang.Math.max:(II)I
ldc 2147483647
invokestatic java.lang.Math.min:(II)I
putfield java.text.DecimalFormat.maximumIntegerDigits:I
1: aload 0
aload 0
getfield java.text.DecimalFormat.maximumIntegerDigits:I
sipush 309
if_icmple 3
2: sipush 309
goto 4
StackMap locals:
StackMap stack: java.text.DecimalFormat
3: aload 0
getfield java.text.DecimalFormat.maximumIntegerDigits:I
4: StackMap locals: java.text.DecimalFormat int
StackMap stack: java.text.DecimalFormat int
invokespecial java.text.NumberFormat.setMaximumIntegerDigits:(I)V
5: aload 0
getfield java.text.DecimalFormat.minimumIntegerDigits:I
aload 0
getfield java.text.DecimalFormat.maximumIntegerDigits:I
if_icmple 11
6: aload 0
aload 0
getfield java.text.DecimalFormat.maximumIntegerDigits:I
putfield java.text.DecimalFormat.minimumIntegerDigits:I
7: aload 0
aload 0
getfield java.text.DecimalFormat.minimumIntegerDigits:I
sipush 309
if_icmple 9
8: sipush 309
goto 10
StackMap locals:
StackMap stack: java.text.DecimalFormat
9: aload 0
getfield java.text.DecimalFormat.minimumIntegerDigits:I
10: StackMap locals: java.text.DecimalFormat int
StackMap stack: java.text.DecimalFormat int
invokespecial java.text.NumberFormat.setMinimumIntegerDigits:(I)V
11: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield java.text.DecimalFormat.fastPathCheckNeeded:Z
12: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljava/text/DecimalFormat;
0 13 1 newValue I
MethodParameters:
Name Flags
newValue
public void setMinimumIntegerDigits(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
iload 1
invokestatic java.lang.Math.max:(II)I
ldc 2147483647
invokestatic java.lang.Math.min:(II)I
putfield java.text.DecimalFormat.minimumIntegerDigits:I
1: aload 0
aload 0
getfield java.text.DecimalFormat.minimumIntegerDigits:I
sipush 309
if_icmple 3
2: sipush 309
goto 4
StackMap locals:
StackMap stack: java.text.DecimalFormat
3: aload 0
getfield java.text.DecimalFormat.minimumIntegerDigits:I
4: StackMap locals: java.text.DecimalFormat int
StackMap stack: java.text.DecimalFormat int
invokespecial java.text.NumberFormat.setMinimumIntegerDigits:(I)V
5: aload 0
getfield java.text.DecimalFormat.minimumIntegerDigits:I
aload 0
getfield java.text.DecimalFormat.maximumIntegerDigits:I
if_icmple 11
6: aload 0
aload 0
getfield java.text.DecimalFormat.minimumIntegerDigits:I
putfield java.text.DecimalFormat.maximumIntegerDigits:I
7: aload 0
aload 0
getfield java.text.DecimalFormat.maximumIntegerDigits:I
sipush 309
if_icmple 9
8: sipush 309
goto 10
StackMap locals:
StackMap stack: java.text.DecimalFormat
9: aload 0
getfield java.text.DecimalFormat.maximumIntegerDigits:I
10: StackMap locals: java.text.DecimalFormat int
StackMap stack: java.text.DecimalFormat int
invokespecial java.text.NumberFormat.setMaximumIntegerDigits:(I)V
11: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield java.text.DecimalFormat.fastPathCheckNeeded:Z
12: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljava/text/DecimalFormat;
0 13 1 newValue I
MethodParameters:
Name Flags
newValue
public void setMaximumFractionDigits(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
iload 1
invokestatic java.lang.Math.max:(II)I
ldc 2147483647
invokestatic java.lang.Math.min:(II)I
putfield java.text.DecimalFormat.maximumFractionDigits:I
1: aload 0
aload 0
getfield java.text.DecimalFormat.maximumFractionDigits:I
sipush 340
if_icmple 3
2: sipush 340
goto 4
StackMap locals:
StackMap stack: java.text.DecimalFormat
3: aload 0
getfield java.text.DecimalFormat.maximumFractionDigits:I
4: StackMap locals: java.text.DecimalFormat int
StackMap stack: java.text.DecimalFormat int
invokespecial java.text.NumberFormat.setMaximumFractionDigits:(I)V
5: aload 0
getfield java.text.DecimalFormat.minimumFractionDigits:I
aload 0
getfield java.text.DecimalFormat.maximumFractionDigits:I
if_icmple 11
6: aload 0
aload 0
getfield java.text.DecimalFormat.maximumFractionDigits:I
putfield java.text.DecimalFormat.minimumFractionDigits:I
7: aload 0
aload 0
getfield java.text.DecimalFormat.minimumFractionDigits:I
sipush 340
if_icmple 9
8: sipush 340
goto 10
StackMap locals:
StackMap stack: java.text.DecimalFormat
9: aload 0
getfield java.text.DecimalFormat.minimumFractionDigits:I
10: StackMap locals: java.text.DecimalFormat int
StackMap stack: java.text.DecimalFormat int
invokespecial java.text.NumberFormat.setMinimumFractionDigits:(I)V
11: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield java.text.DecimalFormat.fastPathCheckNeeded:Z
12: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljava/text/DecimalFormat;
0 13 1 newValue I
MethodParameters:
Name Flags
newValue
public void setMinimumFractionDigits(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
iload 1
invokestatic java.lang.Math.max:(II)I
ldc 2147483647
invokestatic java.lang.Math.min:(II)I
putfield java.text.DecimalFormat.minimumFractionDigits:I
1: aload 0
aload 0
getfield java.text.DecimalFormat.minimumFractionDigits:I
sipush 340
if_icmple 3
2: sipush 340
goto 4
StackMap locals:
StackMap stack: java.text.DecimalFormat
3: aload 0
getfield java.text.DecimalFormat.minimumFractionDigits:I
4: StackMap locals: java.text.DecimalFormat int
StackMap stack: java.text.DecimalFormat int
invokespecial java.text.NumberFormat.setMinimumFractionDigits:(I)V
5: aload 0
getfield java.text.DecimalFormat.minimumFractionDigits:I
aload 0
getfield java.text.DecimalFormat.maximumFractionDigits:I
if_icmple 11
6: aload 0
aload 0
getfield java.text.DecimalFormat.minimumFractionDigits:I
putfield java.text.DecimalFormat.maximumFractionDigits:I
7: aload 0
aload 0
getfield java.text.DecimalFormat.maximumFractionDigits:I
sipush 340
if_icmple 9
8: sipush 340
goto 10
StackMap locals:
StackMap stack: java.text.DecimalFormat
9: aload 0
getfield java.text.DecimalFormat.maximumFractionDigits:I
10: StackMap locals: java.text.DecimalFormat int
StackMap stack: java.text.DecimalFormat int
invokespecial java.text.NumberFormat.setMaximumFractionDigits:(I)V
11: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield java.text.DecimalFormat.fastPathCheckNeeded:Z
12: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljava/text/DecimalFormat;
0 13 1 newValue I
MethodParameters:
Name Flags
newValue
public int getMaximumIntegerDigits();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.text.DecimalFormat.maximumIntegerDigits:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/text/DecimalFormat;
public int getMinimumIntegerDigits();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.text.DecimalFormat.minimumIntegerDigits:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/text/DecimalFormat;
public int getMaximumFractionDigits();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.text.DecimalFormat.maximumFractionDigits:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/text/DecimalFormat;
public int getMinimumFractionDigits();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.text.DecimalFormat.minimumFractionDigits:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/text/DecimalFormat;
public java.util.Currency getCurrency();
descriptor: ()Ljava/util/Currency;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getCurrency:()Ljava/util/Currency;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/text/DecimalFormat;
public void setCurrency(java.util.Currency);
descriptor: (Ljava/util/Currency;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
invokevirtual java.text.DecimalFormatSymbols.getCurrency:()Ljava/util/Currency;
if_acmpeq 4
1: aload 0
getfield java.text.DecimalFormat.symbols:Ljava/text/DecimalFormatSymbols;
aload 1
invokevirtual java.text.DecimalFormatSymbols.setCurrency:(Ljava/util/Currency;)V
2: aload 0
getfield java.text.DecimalFormat.isCurrencyFormat:Z
ifeq 4
3: aload 0
invokevirtual java.text.DecimalFormat.expandAffixes:()V
4: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield java.text.DecimalFormat.fastPathCheckNeeded:Z
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/text/DecimalFormat;
0 6 1 currency Ljava/util/Currency;
MethodParameters:
Name Flags
currency
public java.math.RoundingMode getRoundingMode();
descriptor: ()Ljava/math/RoundingMode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.text.DecimalFormat.roundingMode:Ljava/math/RoundingMode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/text/DecimalFormat;
public void setRoundingMode(java.math.RoundingMode);
descriptor: (Ljava/math/RoundingMode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield java.text.DecimalFormat.roundingMode:Ljava/math/RoundingMode;
3: aload 0
getfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
aload 1
invokevirtual java.text.DigitList.setRoundingMode:(Ljava/math/RoundingMode;)V
4: aload 0
iconst_1
putfield java.text.DecimalFormat.fastPathCheckNeeded:Z
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/text/DecimalFormat;
0 6 1 roundingMode Ljava/math/RoundingMode;
MethodParameters:
Name Flags
roundingMode
private void readObject(java.io.ObjectInputStream);
descriptor: (Ljava/io/ObjectInputStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.io.ObjectInputStream.defaultReadObject:()V
1: aload 0
new java.text.DigitList
dup
invokespecial java.text.DigitList.<init>:()V
putfield java.text.DecimalFormat.digitList:Ljava/text/DigitList;
2: aload 0
iconst_1
putfield java.text.DecimalFormat.fastPathCheckNeeded:Z
3: aload 0
iconst_0
putfield java.text.DecimalFormat.isFastPath:Z
4: aload 0
aconst_null
putfield java.text.DecimalFormat.fastPathData:Ljava/text/DecimalFormat$FastPathData;
5: aload 0
getfield java.text.DecimalFormat.serialVersionOnStream:I
iconst_4
if_icmpge 8
6: aload 0
getstatic java.math.RoundingMode.HALF_EVEN:Ljava/math/RoundingMode;
invokevirtual java.text.DecimalFormat.setRoundingMode:(Ljava/math/RoundingMode;)V
7: goto 9
8: StackMap locals:
StackMap stack:
aload 0
aload 0
invokevirtual java.text.DecimalFormat.getRoundingMode:()Ljava/math/RoundingMode;
invokevirtual java.text.DecimalFormat.setRoundingMode:(Ljava/math/RoundingMode;)V
9: StackMap locals:
StackMap stack:
aload 0
invokespecial java.text.NumberFormat.getMaximumIntegerDigits:()I
sipush 309
if_icmpgt 11
10: aload 0
invokespecial java.text.NumberFormat.getMaximumFractionDigits:()I
sipush 340
if_icmple 12
11: StackMap locals:
StackMap stack:
new java.io.InvalidObjectException
dup
ldc "Digit count out of range"
invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.serialVersionOnStream:I
iconst_3
if_icmpge 17
13: aload 0
aload 0
invokespecial java.text.NumberFormat.getMaximumIntegerDigits:()I
invokevirtual java.text.DecimalFormat.setMaximumIntegerDigits:(I)V
14: aload 0
aload 0
invokespecial java.text.NumberFormat.getMinimumIntegerDigits:()I
invokevirtual java.text.DecimalFormat.setMinimumIntegerDigits:(I)V
15: aload 0
aload 0
invokespecial java.text.NumberFormat.getMaximumFractionDigits:()I
invokevirtual java.text.DecimalFormat.setMaximumFractionDigits:(I)V
16: aload 0
aload 0
invokespecial java.text.NumberFormat.getMinimumFractionDigits:()I
invokevirtual java.text.DecimalFormat.setMinimumFractionDigits:(I)V
17: StackMap locals:
StackMap stack:
aload 0
getfield java.text.DecimalFormat.serialVersionOnStream:I
iconst_1
if_icmpge 19
18: aload 0
iconst_0
putfield java.text.DecimalFormat.useExponentialNotation:Z
19: StackMap locals:
StackMap stack:
aload 0
iconst_4
putfield java.text.DecimalFormat.serialVersionOnStream:I
20: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Ljava/text/DecimalFormat;
0 21 1 stream Ljava/io/ObjectInputStream;
Exceptions:
throws java.io.IOException, java.lang.ClassNotFoundException
MethodParameters:
Name Flags
stream
}
SourceFile: "DecimalFormat.java"
NestMembers:
java.text.DecimalFormat$DigitArrays java.text.DecimalFormat$FastPathData
InnerClasses:
private DigitArrays = java.text.DecimalFormat$DigitArrays of java.text.DecimalFormat
private FastPathData = java.text.DecimalFormat$FastPathData of java.text.DecimalFormat
public Field = java.text.Format$Field of java.text.Format
abstract FieldDelegate = java.text.Format$FieldDelegate of java.text.Format
public Field = java.text.NumberFormat$Field of java.text.NumberFormat
public final Category = java.util.Locale$Category of java.util.Locale