public class org.h2.value.ValueDecimal extends org.h2.value.Value
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.h2.value.ValueDecimal
super_class: org.h2.value.Value
{
public static final java.lang.Object ZERO;
descriptor: Ljava/lang/Object;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.lang.Object ONE;
descriptor: Ljava/lang/Object;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
static final int DEFAULT_PRECISION;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 65535
static final int DEFAULT_SCALE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 32767
static final int DEFAULT_DISPLAY_SIZE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 65535
private static final int DIVIDE_SCALE_ADD;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 25
private static final int BIG_DECIMAL_SCALE_MAX;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 100000
private final java.math.BigDecimal value;
descriptor: Ljava/math/BigDecimal;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private org.h2.value.TypeInfo type;
descriptor: Lorg/h2/value/TypeInfo;
flags: (0x0002) ACC_PRIVATE
private java.lang.String valueString;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new org.h2.value.ValueDecimal
dup
getstatic java.math.BigDecimal.ZERO:Ljava/math/BigDecimal;
invokespecial org.h2.value.ValueDecimal.<init>:(Ljava/math/BigDecimal;)V
putstatic org.h2.value.ValueDecimal.ZERO:Ljava/lang/Object;
1: new org.h2.value.ValueDecimal
dup
getstatic java.math.BigDecimal.ONE:Ljava/math/BigDecimal;
invokespecial org.h2.value.ValueDecimal.<init>:(Ljava/math/BigDecimal;)V
putstatic org.h2.value.ValueDecimal.ONE:Ljava/lang/Object;
2: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(java.math.BigDecimal);
descriptor: (Ljava/math/BigDecimal;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.h2.value.Value.<init>:()V
1: aload 1
ifnonnull 3
2: new java.lang.IllegalArgumentException
dup
ldc "null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: org.h2.value.ValueDecimal java.math.BigDecimal
StackMap stack:
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
ldc Ljava/math/BigDecimal;
if_acmpeq 7
4: ldc 90125
iconst_2
anewarray java.lang.String
dup
iconst_0
5: ldc Ljava/math/BigDecimal;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
dup
iconst_1
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
6: invokestatic org.h2.message.DbException.get:(I[Ljava/lang/String;)Lorg/h2/message/DbException;
athrow
7: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield org.h2.value.ValueDecimal.value:Ljava/math/BigDecimal;
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/h2/value/ValueDecimal;
0 9 1 value Ljava/math/BigDecimal;
MethodParameters:
Name Flags
value
public org.h2.value.Value add(org.h2.value.Value);
descriptor: (Lorg/h2/value/Value;)Lorg/h2/value/Value;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
checkcast org.h2.value.ValueDecimal
astore 2
start local 2 1: aload 0
getfield org.h2.value.ValueDecimal.value:Ljava/math/BigDecimal;
aload 2
getfield org.h2.value.ValueDecimal.value:Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.add:(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;
invokestatic org.h2.value.ValueDecimal.get:(Ljava/math/BigDecimal;)Lorg/h2/value/ValueDecimal;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/value/ValueDecimal;
0 2 1 v Lorg/h2/value/Value;
1 2 2 dec Lorg/h2/value/ValueDecimal;
MethodParameters:
Name Flags
v
public org.h2.value.Value subtract(org.h2.value.Value);
descriptor: (Lorg/h2/value/Value;)Lorg/h2/value/Value;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
checkcast org.h2.value.ValueDecimal
astore 2
start local 2 1: aload 0
getfield org.h2.value.ValueDecimal.value:Ljava/math/BigDecimal;
aload 2
getfield org.h2.value.ValueDecimal.value:Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.subtract:(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;
invokestatic org.h2.value.ValueDecimal.get:(Ljava/math/BigDecimal;)Lorg/h2/value/ValueDecimal;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/value/ValueDecimal;
0 2 1 v Lorg/h2/value/Value;
1 2 2 dec Lorg/h2/value/ValueDecimal;
MethodParameters:
Name Flags
v
public org.h2.value.Value negate();
descriptor: ()Lorg/h2/value/Value;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.value.ValueDecimal.value:Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.negate:()Ljava/math/BigDecimal;
invokestatic org.h2.value.ValueDecimal.get:(Ljava/math/BigDecimal;)Lorg/h2/value/ValueDecimal;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/value/ValueDecimal;
public org.h2.value.Value multiply(org.h2.value.Value);
descriptor: (Lorg/h2/value/Value;)Lorg/h2/value/Value;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
checkcast org.h2.value.ValueDecimal
astore 2
start local 2 1: aload 0
getfield org.h2.value.ValueDecimal.value:Ljava/math/BigDecimal;
aload 2
getfield org.h2.value.ValueDecimal.value:Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.multiply:(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;
invokestatic org.h2.value.ValueDecimal.get:(Ljava/math/BigDecimal;)Lorg/h2/value/ValueDecimal;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/value/ValueDecimal;
0 2 1 v Lorg/h2/value/Value;
1 2 2 dec Lorg/h2/value/ValueDecimal;
MethodParameters:
Name Flags
v
public org.h2.value.Value divide(org.h2.value.Value);
descriptor: (Lorg/h2/value/Value;)Lorg/h2/value/Value;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
checkcast org.h2.value.ValueDecimal
astore 2
start local 2 1: aload 2
getfield org.h2.value.ValueDecimal.value:Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.signum:()I
ifne 3
2: sipush 22012
aload 0
invokevirtual org.h2.value.ValueDecimal.getSQL:()Ljava/lang/String;
invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
athrow
3: StackMap locals: org.h2.value.ValueDecimal
StackMap stack:
aload 0
getfield org.h2.value.ValueDecimal.value:Ljava/math/BigDecimal;
aload 2
getfield org.h2.value.ValueDecimal.value:Ljava/math/BigDecimal;
4: aload 0
getfield org.h2.value.ValueDecimal.value:Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.scale:()I
bipush 25
iadd
5: getstatic java.math.RoundingMode.HALF_DOWN:Ljava/math/RoundingMode;
6: invokevirtual java.math.BigDecimal.divide:(Ljava/math/BigDecimal;ILjava/math/RoundingMode;)Ljava/math/BigDecimal;
astore 3
start local 3 7: aload 3
invokevirtual java.math.BigDecimal.signum:()I
ifne 10
8: getstatic java.math.BigDecimal.ZERO:Ljava/math/BigDecimal;
astore 3
9: goto 13
StackMap locals: java.math.BigDecimal
StackMap stack:
10: aload 3
invokevirtual java.math.BigDecimal.scale:()I
ifle 13
11: aload 3
invokevirtual java.math.BigDecimal.unscaledValue:()Ljava/math/BigInteger;
iconst_0
invokevirtual java.math.BigInteger.testBit:(I)Z
ifne 13
12: aload 3
invokevirtual java.math.BigDecimal.stripTrailingZeros:()Ljava/math/BigDecimal;
astore 3
13: StackMap locals:
StackMap stack:
aload 3
invokestatic org.h2.value.ValueDecimal.get:(Ljava/math/BigDecimal;)Lorg/h2/value/ValueDecimal;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/h2/value/ValueDecimal;
0 14 1 v Lorg/h2/value/Value;
1 14 2 dec Lorg/h2/value/ValueDecimal;
7 14 3 bd Ljava/math/BigDecimal;
MethodParameters:
Name Flags
v
public org.h2.value.ValueDecimal modulus(org.h2.value.Value);
descriptor: (Lorg/h2/value/Value;)Lorg/h2/value/ValueDecimal;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
checkcast org.h2.value.ValueDecimal
astore 2
start local 2 1: aload 2
getfield org.h2.value.ValueDecimal.value:Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.signum:()I
ifne 3
2: sipush 22012
aload 0
invokevirtual org.h2.value.ValueDecimal.getSQL:()Ljava/lang/String;
invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
athrow
3: StackMap locals: org.h2.value.ValueDecimal
StackMap stack:
aload 0
getfield org.h2.value.ValueDecimal.value:Ljava/math/BigDecimal;
aload 2
getfield org.h2.value.ValueDecimal.value:Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.remainder:(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;
astore 3
start local 3 4: aload 3
invokestatic org.h2.value.ValueDecimal.get:(Ljava/math/BigDecimal;)Lorg/h2/value/ValueDecimal;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/h2/value/ValueDecimal;
0 5 1 v Lorg/h2/value/Value;
1 5 2 dec Lorg/h2/value/ValueDecimal;
4 5 3 bd Ljava/math/BigDecimal;
MethodParameters:
Name Flags
v
public java.lang.StringBuilder getSQL(java.lang.StringBuilder);
descriptor: (Ljava/lang/StringBuilder;)Ljava/lang/StringBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual org.h2.value.ValueDecimal.getString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/value/ValueDecimal;
0 1 1 builder Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
builder
public org.h2.value.TypeInfo getType();
descriptor: ()Lorg/h2/value/TypeInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=11, locals=4, args_size=1
start local 0 0: aload 0
getfield org.h2.value.ValueDecimal.type:Lorg/h2/value/TypeInfo;
astore 1
start local 1 1: aload 1
ifnonnull 6
2: aload 0
getfield org.h2.value.ValueDecimal.value:Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.precision:()I
i2l
lstore 2
start local 2 3: aload 0
new org.h2.value.TypeInfo
dup
bipush 6
lload 2
aload 0
getfield org.h2.value.ValueDecimal.value:Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.scale:()I
4: lload 2
ldc 2
ladd
invokestatic org.h2.util.MathUtils.convertLongToInt:(J)I
aconst_null
invokespecial org.h2.value.TypeInfo.<init>:(IJIILorg/h2/value/ExtTypeInfo;)V
dup
astore 1
5: putfield org.h2.value.ValueDecimal.type:Lorg/h2/value/TypeInfo;
end local 2 6: StackMap locals: org.h2.value.TypeInfo
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/h2/value/ValueDecimal;
1 7 1 type Lorg/h2/value/TypeInfo;
3 6 2 precision J
public int getValueType();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: bipush 6
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/value/ValueDecimal;
public int compareTypeSafe(org.h2.value.Value, org.h2.value.CompareMode);
descriptor: (Lorg/h2/value/Value;Lorg/h2/value/CompareMode;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.h2.value.ValueDecimal.value:Ljava/math/BigDecimal;
aload 1
checkcast org.h2.value.ValueDecimal
getfield org.h2.value.ValueDecimal.value:Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.compareTo:(Ljava/math/BigDecimal;)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/value/ValueDecimal;
0 1 1 o Lorg/h2/value/Value;
0 1 2 mode Lorg/h2/value/CompareMode;
MethodParameters:
Name Flags
o
mode
public int getSignum();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.value.ValueDecimal.value:Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.signum:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/value/ValueDecimal;
public java.math.BigDecimal getBigDecimal();
descriptor: ()Ljava/math/BigDecimal;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.value.ValueDecimal.value:Ljava/math/BigDecimal;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/value/ValueDecimal;
public java.lang.String getString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.h2.value.ValueDecimal.valueString:Ljava/lang/String;
ifnonnull 6
1: aload 0
getfield org.h2.value.ValueDecimal.value:Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.toPlainString:()Ljava/lang/String;
astore 1
start local 1 2: aload 1
invokevirtual java.lang.String.length:()I
bipush 40
if_icmpge 5
3: aload 0
aload 1
putfield org.h2.value.ValueDecimal.valueString:Ljava/lang/String;
4: goto 6
5: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 0
getfield org.h2.value.ValueDecimal.value:Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.toString:()Ljava/lang/String;
putfield org.h2.value.ValueDecimal.valueString:Ljava/lang/String;
end local 1 6: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.value.ValueDecimal.valueString:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/h2/value/ValueDecimal;
2 6 1 p Ljava/lang/String;
public boolean checkPrecision(long);
descriptor: (J)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: lload 1
ldc 65535
lcmp
ifne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.value.ValueDecimal.value:Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.precision:()I
i2l
lload 1
lcmp
ifgt 3
iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/h2/value/ValueDecimal;
0 4 1 prec J
MethodParameters:
Name Flags
prec
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.value.ValueDecimal.value:Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.hashCode:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/value/ValueDecimal;
public java.lang.Object getObject();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.value.ValueDecimal.value:Ljava/math/BigDecimal;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/value/ValueDecimal;
public void set(java.sql.PreparedStatement, int);
descriptor: (Ljava/sql/PreparedStatement;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iload 2
aload 0
getfield org.h2.value.ValueDecimal.value:Ljava/math/BigDecimal;
invokeinterface java.sql.PreparedStatement.setBigDecimal:(ILjava/math/BigDecimal;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/value/ValueDecimal;
0 2 1 prep Ljava/sql/PreparedStatement;
0 2 2 parameterIndex I
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
prep
parameterIndex
public org.h2.value.Value convertScale(boolean, int);
descriptor: (ZI)Lorg/h2/value/Value;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.h2.value.ValueDecimal.value:Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.scale:()I
iload 2
if_icmpne 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
iload 1
ifne 3
iload 2
sipush 32767
if_icmplt 5
3: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.value.ValueDecimal.value:Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.scale:()I
iload 2
if_icmpge 5
4: aload 0
areturn
5: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.value.ValueDecimal.value:Ljava/math/BigDecimal;
iload 2
invokestatic org.h2.value.ValueDecimal.setScale:(Ljava/math/BigDecimal;I)Ljava/math/BigDecimal;
astore 3
start local 3 6: aload 3
invokestatic org.h2.value.ValueDecimal.get:(Ljava/math/BigDecimal;)Lorg/h2/value/ValueDecimal;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/h2/value/ValueDecimal;
0 7 1 onlyToSmallerScale Z
0 7 2 targetScale I
6 7 3 bd Ljava/math/BigDecimal;
MethodParameters:
Name Flags
onlyToSmallerScale
targetScale
public org.h2.value.Value convertPrecision(long, boolean);
descriptor: (JZ)Lorg/h2/value/Value;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 3 0: aload 0
getfield org.h2.value.ValueDecimal.value:Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.precision:()I
i2l
lload 1
lcmp
ifgt 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
iload 3
ifeq 4
3: aload 0
getfield org.h2.value.ValueDecimal.value:Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.doubleValue:()D
invokestatic java.math.BigDecimal.valueOf:(D)Ljava/math/BigDecimal;
invokestatic org.h2.value.ValueDecimal.get:(Ljava/math/BigDecimal;)Lorg/h2/value/ValueDecimal;
areturn
4: StackMap locals:
StackMap stack:
sipush 22003
5: lload 1
invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
6: invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
athrow
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/h2/value/ValueDecimal;
0 7 1 precision J
0 7 3 force Z
MethodParameters:
Name Flags
precision
force
public static org.h2.value.ValueDecimal get(java.math.BigDecimal);
descriptor: (Ljava/math/BigDecimal;)Lorg/h2/value/ValueDecimal;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic java.math.BigDecimal.ZERO:Ljava/math/BigDecimal;
aload 0
invokevirtual java.math.BigDecimal.equals:(Ljava/lang/Object;)Z
ifeq 2
1: getstatic org.h2.value.ValueDecimal.ZERO:Ljava/lang/Object;
checkcast org.h2.value.ValueDecimal
areturn
2: StackMap locals:
StackMap stack:
getstatic java.math.BigDecimal.ONE:Ljava/math/BigDecimal;
aload 0
invokevirtual java.math.BigDecimal.equals:(Ljava/lang/Object;)Z
ifeq 4
3: getstatic org.h2.value.ValueDecimal.ONE:Ljava/lang/Object;
checkcast org.h2.value.ValueDecimal
areturn
4: StackMap locals:
StackMap stack:
new org.h2.value.ValueDecimal
dup
aload 0
invokespecial org.h2.value.ValueDecimal.<init>:(Ljava/math/BigDecimal;)V
invokestatic org.h2.value.Value.cache:(Lorg/h2/value/Value;)Lorg/h2/value/Value;
checkcast org.h2.value.ValueDecimal
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 dec Ljava/math/BigDecimal;
MethodParameters:
Name Flags
dec
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.h2.value.ValueDecimal
ifeq 3
1: aload 0
getfield org.h2.value.ValueDecimal.value:Ljava/math/BigDecimal;
aload 1
checkcast org.h2.value.ValueDecimal
getfield org.h2.value.ValueDecimal.value:Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.equals:(Ljava/lang/Object;)Z
ifeq 3
2: iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/h2/value/ValueDecimal;
0 4 1 other Ljava/lang/Object;
MethodParameters:
Name Flags
other
public int getMemory();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.value.ValueDecimal.value:Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.precision:()I
bipush 120
iadd
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/value/ValueDecimal;
public static java.math.BigDecimal setScale(java.math.BigDecimal, int);
descriptor: (Ljava/math/BigDecimal;I)Ljava/math/BigDecimal;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ldc 100000
if_icmpgt 1
iload 1
ldc -100000
if_icmpge 2
1: StackMap locals:
StackMap stack:
ldc "scale"
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokestatic org.h2.message.DbException.getInvalidValueException:(Ljava/lang/String;Ljava/lang/Object;)Lorg/h2/message/DbException;
athrow
2: StackMap locals:
StackMap stack:
aload 0
iload 1
getstatic java.math.RoundingMode.HALF_UP:Ljava/math/RoundingMode;
invokevirtual java.math.BigDecimal.setScale:(ILjava/math/RoundingMode;)Ljava/math/BigDecimal;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 bd Ljava/math/BigDecimal;
0 3 1 scale I
MethodParameters:
Name Flags
bd
scale
public org.h2.value.Value modulus(org.h2.value.Value);
descriptor: (Lorg/h2/value/Value;)Lorg/h2/value/Value;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual org.h2.value.ValueDecimal.modulus:(Lorg/h2/value/Value;)Lorg/h2/value/ValueDecimal;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "ValueDecimal.java"