public final class org.hsqldb.types.NumberType extends org.hsqldb.types.Type
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.hsqldb.types.NumberType
super_class: org.hsqldb.types.Type
{
static final int tinyintPrecision;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 3
static final int smallintPrecision;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 5
static final int integerPrecision;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 10
static final int bigintPrecision;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 19
static final int doublePrecision;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int defaultNumericPrecision;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 128
public static final int defaultNumericScale;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 32
public static final int maxNumericPrecision;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2147483647
static final int bigintSquareNumericPrecision;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 40
public static final int TINYINT_WIDTH;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 8
public static final int SMALLINT_WIDTH;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 16
public static final int INTEGER_WIDTH;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 32
public static final int BIGINT_WIDTH;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 64
public static final int DOUBLE_WIDTH;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 128
public static final int DECIMAL_WIDTH;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 256
public static final org.hsqldb.types.Type SQL_NUMERIC_DEFAULT_INT;
descriptor: Lorg/hsqldb/types/Type;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.math.BigDecimal MAX_DOUBLE;
descriptor: Ljava/math/BigDecimal;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.math.BigDecimal MAX_LONG;
descriptor: Ljava/math/BigDecimal;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.math.BigDecimal MIN_LONG;
descriptor: Ljava/math/BigDecimal;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.math.BigDecimal MAX_INT;
descriptor: Ljava/math/BigDecimal;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.math.BigDecimal MIN_INT;
descriptor: Ljava/math/BigDecimal;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.math.BigInteger MIN_LONG_BI;
descriptor: Ljava/math/BigInteger;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.math.BigInteger MAX_LONG_BI;
descriptor: Ljava/math/BigInteger;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
final int typeWidth;
descriptor: I
flags: (0x0010) ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=0, args_size=0
0: new org.hsqldb.types.NumberType
dup
iconst_2
ldc 128
iconst_0
invokespecial org.hsqldb.types.NumberType.<init>:(IJI)V
1: putstatic org.hsqldb.types.NumberType.SQL_NUMERIC_DEFAULT_INT:Lorg/hsqldb/types/Type;
2: ldc 1.7976931348623157E308
invokestatic java.math.BigDecimal.valueOf:(D)Ljava/math/BigDecimal;
3: putstatic org.hsqldb.types.NumberType.MAX_DOUBLE:Ljava/math/BigDecimal;
4: ldc 9223372036854775807
invokestatic java.math.BigDecimal.valueOf:(J)Ljava/math/BigDecimal;
5: putstatic org.hsqldb.types.NumberType.MAX_LONG:Ljava/math/BigDecimal;
6: ldc -9223372036854775808
invokestatic java.math.BigDecimal.valueOf:(J)Ljava/math/BigDecimal;
7: putstatic org.hsqldb.types.NumberType.MIN_LONG:Ljava/math/BigDecimal;
8: ldc 2147483647
invokestatic java.math.BigDecimal.valueOf:(J)Ljava/math/BigDecimal;
9: putstatic org.hsqldb.types.NumberType.MAX_INT:Ljava/math/BigDecimal;
10: ldc -2147483648
invokestatic java.math.BigDecimal.valueOf:(J)Ljava/math/BigDecimal;
11: putstatic org.hsqldb.types.NumberType.MIN_INT:Ljava/math/BigDecimal;
12: getstatic org.hsqldb.types.NumberType.MIN_LONG:Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.toBigInteger:()Ljava/math/BigInteger;
putstatic org.hsqldb.types.NumberType.MIN_LONG_BI:Ljava/math/BigInteger;
13: getstatic org.hsqldb.types.NumberType.MAX_LONG:Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.toBigInteger:()Ljava/math/BigInteger;
putstatic org.hsqldb.types.NumberType.MAX_LONG_BI:Ljava/math/BigInteger;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(int, long, int);
descriptor: (IJI)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
iconst_2
iload 1
lload 2
iload 4
invokespecial org.hsqldb.types.Type.<init>:(IIJI)V
1: iload 1
lookupswitch { // 9
-6: 2
2: 12
3: 12
4: 6
5: 4
6: 10
7: 10
8: 10
25: 8
default: 14
}
2: StackMap locals: org.hsqldb.types.NumberType int long int
StackMap stack:
aload 0
bipush 8
putfield org.hsqldb.types.NumberType.typeWidth:I
3: goto 15
4: StackMap locals:
StackMap stack:
aload 0
bipush 16
putfield org.hsqldb.types.NumberType.typeWidth:I
5: goto 15
6: StackMap locals:
StackMap stack:
aload 0
bipush 32
putfield org.hsqldb.types.NumberType.typeWidth:I
7: goto 15
8: StackMap locals:
StackMap stack:
aload 0
bipush 64
putfield org.hsqldb.types.NumberType.typeWidth:I
9: goto 15
10: StackMap locals:
StackMap stack:
aload 0
sipush 128
putfield org.hsqldb.types.NumberType.typeWidth:I
11: goto 15
12: StackMap locals:
StackMap stack:
aload 0
sipush 256
putfield org.hsqldb.types.NumberType.typeWidth:I
13: goto 15
14: StackMap locals:
StackMap stack:
sipush 201
ldc "NumberType"
invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
athrow
15: StackMap locals:
StackMap stack:
return
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/hsqldb/types/NumberType;
0 16 1 type I
0 16 2 precision J
0 16 4 scale I
MethodParameters:
Name Flags
type
precision
scale
public int getPrecision();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
lookupswitch { // 9
-6: 1
2: 3
3: 3
4: 1
5: 1
6: 2
7: 2
8: 2
25: 1
default: 4
}
1: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.types.NumberType.typeWidth:I
ireturn
2: StackMap locals:
StackMap stack:
bipush 64
ireturn
3: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.types.NumberType.precision:J
l2i
ireturn
4: StackMap locals:
StackMap stack:
sipush 201
ldc "NumberType"
invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/hsqldb/types/NumberType;
public int getDecimalPrecision();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
lookupswitch { // 9
-6: 1
2: 6
3: 6
4: 3
5: 2
6: 5
7: 5
8: 5
25: 4
default: 7
}
1: StackMap locals:
StackMap stack:
iconst_3
ireturn
2: StackMap locals:
StackMap stack:
iconst_5
ireturn
3: StackMap locals:
StackMap stack:
bipush 10
ireturn
4: StackMap locals:
StackMap stack:
bipush 19
ireturn
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.hsqldb.types.NumberType.displaySize:()I
iconst_1
isub
ireturn
6: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.types.NumberType.precision:J
l2i
ireturn
7: StackMap locals:
StackMap stack:
sipush 201
ldc "NumberType"
invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/hsqldb/types/NumberType;
public int displaySize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
lookupswitch { // 9
-6: 12
2: 1
3: 1
4: 10
5: 11
6: 8
7: 8
8: 8
25: 9
default: 13
}
1: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.types.NumberType.scale:I
ifne 5
2: aload 0
getfield org.hsqldb.types.NumberType.precision:J
lconst_0
lcmp
ifne 4
3: ldc 646456995
ireturn
4: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.types.NumberType.precision:J
l2i
iconst_1
iadd
ireturn
5: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.types.NumberType.precision:J
aload 0
getfield org.hsqldb.types.NumberType.scale:I
i2l
lcmp
ifne 7
6: aload 0
getfield org.hsqldb.types.NumberType.precision:J
l2i
iconst_3
iadd
ireturn
7: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.types.NumberType.precision:J
l2i
iconst_2
iadd
ireturn
8: StackMap locals:
StackMap stack:
bipush 23
ireturn
9: StackMap locals:
StackMap stack:
bipush 20
ireturn
10: StackMap locals:
StackMap stack:
bipush 11
ireturn
11: StackMap locals:
StackMap stack:
bipush 6
ireturn
12: StackMap locals:
StackMap stack:
iconst_4
ireturn
13: StackMap locals:
StackMap stack:
sipush 201
ldc "NumberType"
invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/hsqldb/types/NumberType;
public int getJDBCTypeCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
bipush 25
if_icmpne 1
bipush -5
goto 2
1: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
2: StackMap locals:
StackMap stack: int
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/hsqldb/types/NumberType;
public java.lang.Class getJDBCClass();
descriptor: ()Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
lookupswitch { // 9
-6: 1
2: 4
3: 4
4: 1
5: 1
6: 3
7: 3
8: 3
25: 2
default: 5
}
1: StackMap locals:
StackMap stack:
ldc Ljava/lang/Integer;
areturn
2: StackMap locals:
StackMap stack:
ldc Ljava/lang/Long;
areturn
3: StackMap locals:
StackMap stack:
ldc Ljava/lang/Double;
areturn
4: StackMap locals:
StackMap stack:
ldc Ljava/math/BigDecimal;
areturn
5: StackMap locals:
StackMap stack:
sipush 201
ldc "NumberType"
invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/hsqldb/types/NumberType;
public java.lang.String getJDBCClassName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
lookupswitch { // 9
-6: 1
2: 4
3: 4
4: 1
5: 1
6: 3
7: 3
8: 3
25: 2
default: 5
}
1: StackMap locals:
StackMap stack:
ldc "java.lang.Integer"
areturn
2: StackMap locals:
StackMap stack:
ldc "java.lang.Long"
areturn
3: StackMap locals:
StackMap stack:
ldc "java.lang.Double"
areturn
4: StackMap locals:
StackMap stack:
ldc "java.math.BigDecimal"
areturn
5: StackMap locals:
StackMap stack:
sipush 201
ldc "NumberType"
invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/hsqldb/types/NumberType;
public int getJDBCPrecision();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.hsqldb.types.NumberType.getPrecision:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hsqldb/types/NumberType;
public java.lang.String getNameString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
lookupswitch { // 9
-6: 1
2: 8
3: 9
4: 3
5: 2
6: 6
7: 5
8: 7
25: 4
default: 10
}
1: StackMap locals:
StackMap stack:
ldc "TINYINT"
areturn
2: StackMap locals:
StackMap stack:
ldc "SMALLINT"
areturn
3: StackMap locals:
StackMap stack:
ldc "INTEGER"
areturn
4: StackMap locals:
StackMap stack:
ldc "BIGINT"
areturn
5: StackMap locals:
StackMap stack:
ldc "REAL"
areturn
6: StackMap locals:
StackMap stack:
ldc "FLOAT"
areturn
7: StackMap locals:
StackMap stack:
ldc "DOUBLE"
areturn
8: StackMap locals:
StackMap stack:
ldc "NUMERIC"
areturn
9: StackMap locals:
StackMap stack:
ldc "DECIMAL"
areturn
10: StackMap locals:
StackMap stack:
sipush 201
ldc "NumberType"
invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/hsqldb/types/NumberType;
public java.lang.String getFullNameString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
tableswitch { // 8 - 8
8: 1
default: 2
}
1: StackMap locals:
StackMap stack:
ldc "DOUBLE PRECISION"
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.hsqldb.types.NumberType.getNameString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/hsqldb/types/NumberType;
public java.lang.String getDefinition();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
tableswitch { // 2 - 3
2: 1
3: 1
default: 10
}
1: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
bipush 16
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 1
start local 1 2: aload 1
aload 0
invokevirtual org.hsqldb.types.NumberType.getNameString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
3: aload 1
bipush 40
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
4: aload 1
aload 0
getfield org.hsqldb.types.NumberType.precision:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
pop
5: aload 0
getfield org.hsqldb.types.NumberType.scale:I
ifeq 8
6: aload 1
bipush 44
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
7: aload 1
aload 0
getfield org.hsqldb.types.NumberType.scale:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
8: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 1
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
9: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 10: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.hsqldb.types.NumberType.getNameString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/hsqldb/types/NumberType;
2 10 1 sb Ljava/lang/StringBuilder;
public long getMaxPrecision();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
tableswitch { // 2 - 3
2: 1
3: 1
default: 2
}
1: StackMap locals:
StackMap stack:
ldc 2147483647
lreturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.hsqldb.types.NumberType.getNumericPrecisionInRadix:()I
i2l
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/hsqldb/types/NumberType;
public int getMaxScale();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
tableswitch { // 2 - 3
2: 1
3: 1
default: 2
}
1: StackMap locals:
StackMap stack:
sipush 32767
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/hsqldb/types/NumberType;
public boolean acceptsPrecision();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
tableswitch { // 2 - 6
2: 1
3: 1
4: 2
5: 2
6: 1
default: 2
}
1: StackMap locals:
StackMap stack:
iconst_1
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/hsqldb/types/NumberType;
public boolean acceptsScale();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
tableswitch { // 2 - 3
2: 1
3: 1
default: 2
}
1: StackMap locals:
StackMap stack:
iconst_1
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/hsqldb/types/NumberType;
public int getPrecisionRadix();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
iconst_3
if_icmpeq 1
aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
iconst_2
if_icmpne 2
1: StackMap locals:
StackMap stack:
bipush 10
ireturn
2: StackMap locals:
StackMap stack:
iconst_2
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/hsqldb/types/NumberType;
public boolean isNumberType();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hsqldb/types/NumberType;
public boolean isIntegralType();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
tableswitch { // 2 - 8
2: 2
3: 2
4: 4
5: 4
6: 1
7: 1
8: 1
default: 4
}
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.types.NumberType.scale:I
ifne 3
iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/hsqldb/types/NumberType;
public boolean isExactNumberType();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
tableswitch { // 6 - 8
6: 1
7: 1
8: 1
default: 2
}
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/hsqldb/types/NumberType;
public boolean isDecimalType();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
tableswitch { // 2 - 3
2: 1
3: 1
default: 2
}
1: StackMap locals:
StackMap stack:
iconst_1
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/hsqldb/types/NumberType;
public int getNominalWidth();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.types.NumberType.typeWidth:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hsqldb/types/NumberType;
public int precedenceDegree(org.hsqldb.types.Type);
descriptor: (Lorg/hsqldb/types/Type;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.hsqldb.types.Type.isNumberType:()Z
ifeq 3
1: aload 1
checkcast org.hsqldb.types.NumberType
getfield org.hsqldb.types.NumberType.typeWidth:I
istore 2
start local 2 2: iload 2
aload 0
getfield org.hsqldb.types.NumberType.typeWidth:I
isub
ireturn
end local 2 3: StackMap locals:
StackMap stack:
ldc -2147483648
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/hsqldb/types/NumberType;
0 4 1 other Lorg/hsqldb/types/Type;
2 3 2 otherWidth I
MethodParameters:
Name Flags
other
public org.hsqldb.types.Type getAggregateType(org.hsqldb.types.Type);
descriptor: (Lorg/hsqldb/types/Type;)Lorg/hsqldb/types/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 1
getstatic org.hsqldb.types.NumberType.SQL_ALL_TYPES:Lorg/hsqldb/types/Type;
if_acmpne 4
3: aload 0
areturn
4: StackMap locals:
StackMap stack:
aload 0
aload 1
if_acmpne 6
5: aload 0
areturn
6: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.hsqldb.types.Type.isCharacterType:()Z
ifeq 8
7: aload 1
aload 0
invokevirtual org.hsqldb.types.Type.getAggregateType:(Lorg/hsqldb/types/Type;)Lorg/hsqldb/types/Type;
areturn
8: StackMap locals:
StackMap stack:
aload 1
getfield org.hsqldb.types.Type.typeCode:I
lookupswitch { // 9
-6: 9
2: 9
3: 9
4: 9
5: 9
6: 9
7: 9
8: 9
25: 9
default: 10
}
9: StackMap locals:
StackMap stack:
goto 11
10: StackMap locals:
StackMap stack:
sipush 5562
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
11: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.types.NumberType.typeWidth:I
sipush 128
if_icmpne 13
12: aload 0
areturn
13: StackMap locals:
StackMap stack:
aload 1
checkcast org.hsqldb.types.NumberType
getfield org.hsqldb.types.NumberType.typeWidth:I
sipush 128
if_icmpne 15
14: aload 1
areturn
15: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.types.NumberType.typeWidth:I
bipush 64
if_icmpgt 20
16: aload 1
checkcast org.hsqldb.types.NumberType
getfield org.hsqldb.types.NumberType.typeWidth:I
bipush 64
if_icmpgt 20
17: aload 0
getfield org.hsqldb.types.NumberType.typeWidth:I
aload 1
checkcast org.hsqldb.types.NumberType
getfield org.hsqldb.types.NumberType.typeWidth:I
if_icmple 18
aload 0
goto 19
18: StackMap locals:
StackMap stack:
aload 1
19: StackMap locals:
StackMap stack: org.hsqldb.types.Type
areturn
20: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.types.NumberType.scale:I
aload 1
getfield org.hsqldb.types.Type.scale:I
if_icmple 21
aload 0
getfield org.hsqldb.types.NumberType.scale:I
goto 22
21: StackMap locals:
StackMap stack:
aload 1
getfield org.hsqldb.types.Type.scale:I
22: StackMap locals:
StackMap stack: int
istore 2
start local 2 23: aload 0
getfield org.hsqldb.types.NumberType.precision:J
aload 0
getfield org.hsqldb.types.NumberType.scale:I
i2l
lsub
aload 1
getfield org.hsqldb.types.Type.precision:J
aload 1
getfield org.hsqldb.types.Type.scale:I
i2l
lsub
lcmp
ifle 25
24: aload 0
getfield org.hsqldb.types.NumberType.precision:J
aload 0
getfield org.hsqldb.types.NumberType.scale:I
i2l
lsub
goto 26
25: StackMap locals: int
StackMap stack:
aload 1
getfield org.hsqldb.types.Type.precision:J
aload 1
getfield org.hsqldb.types.Type.scale:I
i2l
lsub
26: StackMap locals:
StackMap stack: long
lstore 3
start local 3 27: iconst_3
lload 3
iload 2
i2l
ladd
28: iload 2
29: invokestatic org.hsqldb.types.NumberType.getNumberType:(IJI)Lorg/hsqldb/types/NumberType;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lorg/hsqldb/types/NumberType;
0 30 1 other Lorg/hsqldb/types/Type;
23 30 2 newScale I
27 30 3 newDigits J
MethodParameters:
Name Flags
other
public org.hsqldb.types.Type getCombinedType(org.hsqldb.Session, org.hsqldb.types.Type, int);
descriptor: (Lorg/hsqldb/Session;Lorg/hsqldb/types/Type;I)Lorg/hsqldb/types/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
getfield org.hsqldb.types.Type.typeCode:I
ifne 2
1: aload 0
astore 2
2: StackMap locals:
StackMap stack:
iload 3
tableswitch { // 32 - 35
32: 3
33: 8
34: 4
35: 3
default: 8
}
3: StackMap locals:
StackMap stack:
goto 9
4: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.hsqldb.types.Type.isIntervalType:()Z
ifeq 9
5: aload 2
aload 1
aload 0
6: bipush 34
7: invokevirtual org.hsqldb.types.Type.getCombinedType:(Lorg/hsqldb/Session;Lorg/hsqldb/types/Type;I)Lorg/hsqldb/types/Type;
areturn
8: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual org.hsqldb.types.NumberType.getAggregateType:(Lorg/hsqldb/types/Type;)Lorg/hsqldb/types/Type;
areturn
9: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.hsqldb.types.Type.isNumberType:()Z
ifne 11
10: sipush 5562
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
11: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.types.NumberType.typeWidth:I
sipush 128
if_icmpeq 13
12: aload 2
checkcast org.hsqldb.types.NumberType
getfield org.hsqldb.types.NumberType.typeWidth:I
sipush 128
if_icmpne 14
13: StackMap locals:
StackMap stack:
getstatic org.hsqldb.types.Type.SQL_DOUBLE:Lorg/hsqldb/types/NumberType;
areturn
14: StackMap locals:
StackMap stack:
iload 3
bipush 35
if_icmpne 15
aload 1
getfield org.hsqldb.Session.database:Lorg/hsqldb/Database;
getfield org.hsqldb.Database.sqlAvgScale:I
ifne 23
15: StackMap locals:
StackMap stack:
iload 3
bipush 35
if_icmpne 18
16: aload 0
getfield org.hsqldb.types.NumberType.typeWidth:I
istore 4
start local 4 17: goto 19
end local 4 18: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.types.NumberType.typeWidth:I
aload 2
checkcast org.hsqldb.types.NumberType
getfield org.hsqldb.types.NumberType.typeWidth:I
iadd
istore 4
start local 4 19: StackMap locals: int
StackMap stack:
iload 4
bipush 32
if_icmpgt 21
20: getstatic org.hsqldb.types.Type.SQL_INTEGER:Lorg/hsqldb/types/NumberType;
areturn
21: StackMap locals:
StackMap stack:
iload 4
bipush 64
if_icmpgt 23
22: getstatic org.hsqldb.types.Type.SQL_BIGINT:Lorg/hsqldb/types/NumberType;
areturn
end local 4 23: StackMap locals:
StackMap stack:
iload 3
tableswitch { // 32 - 35
32: 24
33: 52
34: 45
35: 38
default: 52
}
24: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.types.NumberType.scale:I
aload 2
getfield org.hsqldb.types.Type.scale:I
if_icmple 25
aload 0
getfield org.hsqldb.types.NumberType.scale:I
goto 26
25: StackMap locals:
StackMap stack:
aload 2
getfield org.hsqldb.types.Type.scale:I
26: StackMap locals:
StackMap stack: int
istore 4
start local 4 27: aload 0
invokevirtual org.hsqldb.types.NumberType.getDecimalPrecision:()I
aload 0
getfield org.hsqldb.types.NumberType.scale:I
isub
28: aload 2
checkcast org.hsqldb.types.NumberType
invokevirtual org.hsqldb.types.NumberType.getDecimalPrecision:()I
29: aload 2
getfield org.hsqldb.types.Type.scale:I
30: isub
if_icmple 32
31: aload 0
invokevirtual org.hsqldb.types.NumberType.getDecimalPrecision:()I
aload 0
getfield org.hsqldb.types.NumberType.scale:I
isub
goto 35
32: StackMap locals: int
StackMap stack:
aload 2
checkcast org.hsqldb.types.NumberType
invokevirtual org.hsqldb.types.NumberType.getDecimalPrecision:()I
33: aload 2
getfield org.hsqldb.types.Type.scale:I
34: isub
35: StackMap locals:
StackMap stack: int
i2l
lstore 5
start local 5 36: lload 5
lconst_1
ladd
lstore 5
37: goto 53
end local 5 end local 4 38: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.hsqldb.types.NumberType.getDecimalPrecision:()I
aload 0
getfield org.hsqldb.types.NumberType.scale:I
isub
aload 2
getfield org.hsqldb.types.Type.scale:I
iadd
i2l
lstore 5
start local 5 39: aload 0
getfield org.hsqldb.types.NumberType.scale:I
aload 2
getfield org.hsqldb.types.Type.scale:I
if_icmple 40
aload 0
getfield org.hsqldb.types.NumberType.scale:I
goto 41
40: StackMap locals: org.hsqldb.types.NumberType org.hsqldb.Session org.hsqldb.types.Type int top long
StackMap stack:
aload 2
getfield org.hsqldb.types.Type.scale:I
41: StackMap locals:
StackMap stack: int
istore 4
start local 4 42: aload 1
getfield org.hsqldb.Session.database:Lorg/hsqldb/Database;
getfield org.hsqldb.Database.sqlAvgScale:I
iload 4
if_icmple 53
43: aload 1
getfield org.hsqldb.Session.database:Lorg/hsqldb/Database;
getfield org.hsqldb.Database.sqlAvgScale:I
istore 4
44: goto 53
end local 5 end local 4 45: StackMap locals: org.hsqldb.types.NumberType org.hsqldb.Session org.hsqldb.types.Type int
StackMap stack:
aload 0
invokevirtual org.hsqldb.types.NumberType.getDecimalPrecision:()I
aload 0
getfield org.hsqldb.types.NumberType.scale:I
isub
46: aload 2
checkcast org.hsqldb.types.NumberType
invokevirtual org.hsqldb.types.NumberType.getDecimalPrecision:()I
47: iadd
48: aload 2
getfield org.hsqldb.types.Type.scale:I
49: isub
i2l
lstore 5
start local 5 50: aload 0
getfield org.hsqldb.types.NumberType.scale:I
aload 2
getfield org.hsqldb.types.Type.scale:I
iadd
istore 4
start local 4 51: goto 53
end local 5 end local 4 52: StackMap locals:
StackMap stack:
sipush 201
ldc "NumberType"
invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
athrow
start local 4 start local 5 53: StackMap locals: int long
StackMap stack:
iconst_3
iload 4
i2l
lload 5
ladd
54: iload 4
55: invokestatic org.hsqldb.types.NumberType.getNumberType:(IJI)Lorg/hsqldb/types/NumberType;
areturn
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 56 0 this Lorg/hsqldb/types/NumberType;
0 56 1 session Lorg/hsqldb/Session;
0 56 2 other Lorg/hsqldb/types/Type;
0 56 3 operation I
17 18 4 sum I
19 23 4 sum I
27 38 4 newScale I
42 45 4 newScale I
51 52 4 newScale I
53 56 4 newScale I
36 38 5 newDigits J
39 45 5 newDigits J
50 52 5 newDigits J
53 56 5 newDigits J
MethodParameters:
Name Flags
session
other
operation
public int compare(org.hsqldb.Session, java.lang.Object, java.lang.Object);
descriptor: (Lorg/hsqldb/Session;Ljava/lang/Object;Ljava/lang/Object;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
aload 3
if_acmpne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 2
ifnonnull 4
3: iconst_m1
ireturn
4: StackMap locals:
StackMap stack:
aload 3
ifnonnull 6
5: iconst_1
ireturn
6: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
lookupswitch { // 9
-6: 7
2: 43
3: 43
4: 7
5: 7
6: 40
7: 40
8: 40
25: 24
default: 45
}
7: StackMap locals:
StackMap stack:
aload 3
instanceof java.lang.Integer
ifeq 14
8: aload 2
checkcast java.lang.Number
invokevirtual java.lang.Number.intValue:()I
istore 4
start local 4 9: aload 3
checkcast java.lang.Number
invokevirtual java.lang.Number.intValue:()I
istore 5
start local 5 10: iload 4
iload 5
if_icmple 11
iconst_1
goto 13
11: StackMap locals: int int
StackMap stack:
iload 5
iload 4
if_icmple 12
iconst_m1
goto 13
12: StackMap locals:
StackMap stack:
iconst_0
13: StackMap locals:
StackMap stack: int
ireturn
end local 5 end local 4 14: StackMap locals:
StackMap stack:
aload 3
instanceof java.lang.Double
ifeq 21
15: aload 2
checkcast java.lang.Number
invokevirtual java.lang.Number.doubleValue:()D
dstore 4
start local 4 16: aload 3
checkcast java.lang.Number
invokevirtual java.lang.Number.doubleValue:()D
dstore 6
start local 6 17: dload 4
dload 6
dcmpl
ifle 18
iconst_1
goto 20
18: StackMap locals: double double
StackMap stack:
dload 6
dload 4
dcmpl
ifle 19
iconst_m1
goto 20
19: StackMap locals:
StackMap stack:
iconst_0
20: StackMap locals:
StackMap stack: int
ireturn
end local 6 end local 4 21: StackMap locals:
StackMap stack:
aload 3
instanceof java.math.BigDecimal
ifeq 24
22: aload 2
invokestatic org.hsqldb.types.NumberType.convertToDecimal:(Ljava/lang/Object;)Ljava/math/BigDecimal;
astore 4
start local 4 23: aload 4
aload 3
checkcast java.math.BigDecimal
invokevirtual java.math.BigDecimal.compareTo:(Ljava/math/BigDecimal;)I
ireturn
end local 4 24: StackMap locals:
StackMap stack:
aload 3
instanceof java.lang.Long
ifeq 31
25: aload 2
checkcast java.lang.Number
invokevirtual java.lang.Number.longValue:()J
lstore 4
start local 4 26: aload 3
checkcast java.lang.Number
invokevirtual java.lang.Number.longValue:()J
lstore 6
start local 6 27: lload 4
lload 6
lcmp
ifle 28
iconst_1
goto 30
28: StackMap locals: long long
StackMap stack:
lload 6
lload 4
lcmp
ifle 29
iconst_m1
goto 30
29: StackMap locals:
StackMap stack:
iconst_0
30: StackMap locals:
StackMap stack: int
ireturn
end local 6 end local 4 31: StackMap locals:
StackMap stack:
aload 3
instanceof java.lang.Double
ifeq 37
32: aload 2
checkcast java.lang.Number
invokevirtual java.lang.Number.longValue:()J
invokestatic java.math.BigDecimal.valueOf:(J)Ljava/math/BigDecimal;
33: astore 4
start local 4 34: aload 3
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
invokestatic java.math.BigDecimal.valueOf:(D)Ljava/math/BigDecimal;
35: astore 5
start local 5 36: aload 4
aload 5
invokevirtual java.math.BigDecimal.compareTo:(Ljava/math/BigDecimal;)I
ireturn
end local 5 end local 4 37: StackMap locals:
StackMap stack:
aload 3
instanceof java.math.BigDecimal
ifeq 40
38: aload 2
invokestatic org.hsqldb.types.NumberType.convertToDecimal:(Ljava/lang/Object;)Ljava/math/BigDecimal;
astore 4
start local 4 39: aload 4
aload 3
checkcast java.math.BigDecimal
invokevirtual java.math.BigDecimal.compareTo:(Ljava/math/BigDecimal;)I
ireturn
end local 4 40: StackMap locals:
StackMap stack:
aload 2
checkcast java.lang.Number
invokevirtual java.lang.Number.doubleValue:()D
dstore 4
start local 4 41: aload 3
checkcast java.lang.Number
invokevirtual java.lang.Number.doubleValue:()D
dstore 6
start local 6 42: dload 4
dload 6
invokestatic org.hsqldb.types.NumberType.compareDouble:(DD)I
ireturn
end local 6 end local 4 43: StackMap locals:
StackMap stack:
aload 3
invokestatic org.hsqldb.types.NumberType.convertToDecimal:(Ljava/lang/Object;)Ljava/math/BigDecimal;
astore 4
start local 4 44: aload 2
checkcast java.math.BigDecimal
aload 4
invokevirtual java.math.BigDecimal.compareTo:(Ljava/math/BigDecimal;)I
ireturn
end local 4 45: StackMap locals:
StackMap stack:
sipush 201
ldc "NumberType"
invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 46 0 this Lorg/hsqldb/types/NumberType;
0 46 1 session Lorg/hsqldb/Session;
0 46 2 a Ljava/lang/Object;
0 46 3 b Ljava/lang/Object;
9 14 4 ai I
10 14 5 bi I
16 21 4 ai D
17 21 6 bi D
23 24 4 ad Ljava/math/BigDecimal;
26 31 4 longa J
27 31 6 longb J
34 37 4 ad Ljava/math/BigDecimal;
36 37 5 bd Ljava/math/BigDecimal;
39 40 4 ad Ljava/math/BigDecimal;
41 43 4 ad D
42 43 6 bd D
44 45 4 bd Ljava/math/BigDecimal;
MethodParameters:
Name Flags
session
a
b
public java.lang.Object convertToTypeLimits(org.hsqldb.SessionInterface, java.lang.Object);
descriptor: (Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
lookupswitch { // 9
-6: 3
2: 5
3: 5
4: 3
5: 3
6: 4
7: 4
8: 4
25: 3
default: 12
}
3: StackMap locals:
StackMap stack:
aload 2
areturn
4: StackMap locals:
StackMap stack:
aload 2
areturn
5: StackMap locals:
StackMap stack:
aload 2
checkcast java.math.BigDecimal
astore 3
start local 3 6: aload 0
getfield org.hsqldb.types.NumberType.scale:I
aload 3
invokevirtual java.math.BigDecimal.scale:()I
if_icmpeq 8
7: aload 3
aload 0
getfield org.hsqldb.types.NumberType.scale:I
getstatic java.math.RoundingMode.HALF_DOWN:Ljava/math/RoundingMode;
invokevirtual java.math.BigDecimal.setScale:(ILjava/math/RoundingMode;)Ljava/math/BigDecimal;
astore 3
8: StackMap locals: java.math.BigDecimal
StackMap stack:
aload 3
invokestatic org.hsqldb.lib.java.JavaSystem.precision:(Ljava/math/BigDecimal;)I
istore 4
start local 4 9: iload 4
i2l
aload 0
getfield org.hsqldb.types.NumberType.precision:J
lcmp
ifle 11
10: sipush 3403
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
11: StackMap locals: int
StackMap stack:
aload 3
areturn
end local 4 end local 3 12: StackMap locals:
StackMap stack:
sipush 201
ldc "NumberType"
invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/hsqldb/types/NumberType;
0 13 1 session Lorg/hsqldb/SessionInterface;
0 13 2 a Ljava/lang/Object;
6 12 3 dec Ljava/math/BigDecimal;
9 12 4 p I
MethodParameters:
Name Flags
session
a
public java.lang.Object convertToType(org.hsqldb.SessionInterface, java.lang.Object, org.hsqldb.types.Type);
descriptor: (Lorg/hsqldb/SessionInterface;Ljava/lang/Object;Lorg/hsqldb/types/Type;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ifnonnull 2
1: aload 2
areturn
2: StackMap locals:
StackMap stack:
aload 3
getfield org.hsqldb.types.Type.typeCode:I
aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
if_icmpne 11
3: aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
tableswitch { // 2 - 3
2: 4
3: 4
default: 10
}
4: StackMap locals:
StackMap stack:
aload 2
checkcast java.math.BigDecimal
astore 4
start local 4 5: aload 0
getfield org.hsqldb.types.NumberType.scale:I
aload 4
invokevirtual java.math.BigDecimal.scale:()I
if_icmpeq 7
6: aload 4
aload 0
getfield org.hsqldb.types.NumberType.scale:I
getstatic java.math.RoundingMode.HALF_DOWN:Ljava/math/RoundingMode;
invokevirtual java.math.BigDecimal.setScale:(ILjava/math/RoundingMode;)Ljava/math/BigDecimal;
astore 4
7: StackMap locals: java.math.BigDecimal
StackMap stack:
aload 4
invokestatic org.hsqldb.lib.java.JavaSystem.precision:(Ljava/math/BigDecimal;)I
i2l
aload 0
getfield org.hsqldb.types.NumberType.precision:J
lcmp
ifle 9
8: sipush 3403
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
9: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 10: StackMap locals:
StackMap stack:
aload 2
areturn
11: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.hsqldb.types.Type.isIntervalType:()Z
ifeq 21
12: aload 3
checkcast org.hsqldb.types.IntervalType
getfield org.hsqldb.types.IntervalType.startIntervalType:I
istore 4
start local 4 13: iload 4
tableswitch { // 101 - 106
101: 14
102: 14
103: 14
104: 14
105: 14
106: 14
default: 21
}
14: StackMap locals: int
StackMap stack:
aload 3
checkcast org.hsqldb.types.IntervalType
15: aload 2
16: invokevirtual org.hsqldb.types.IntervalType.convertToDoubleStartUnits:(Ljava/lang/Object;)D
17: dstore 5
start local 5 18: aload 0
aload 1
dload 5
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
19: getstatic org.hsqldb.types.Type.SQL_DOUBLE:Lorg/hsqldb/types/NumberType;
20: invokevirtual org.hsqldb.types.NumberType.convertToType:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;Lorg/hsqldb/types/Type;)Ljava/lang/Object;
areturn
end local 5 end local 4 21: StackMap locals:
StackMap stack:
aload 3
22: getfield org.hsqldb.types.Type.typeCode:I
lookupswitch { // 14
-6: 29
1: 26
2: 29
3: 29
4: 29
5: 29
6: 29
7: 29
8: 29
12: 26
14: 30
15: 30
25: 29
40: 23
default: 36
}
23: StackMap locals:
StackMap stack:
aload 2
checkcast org.hsqldb.types.ClobData
24: aload 1
lconst_0
aload 2
checkcast org.hsqldb.types.ClobData
aload 1
invokeinterface org.hsqldb.types.ClobData.length:(Lorg/hsqldb/SessionInterface;)J
l2i
25: invokeinterface org.hsqldb.types.ClobData.getSubString:(Lorg/hsqldb/SessionInterface;JI)Ljava/lang/String;
astore 2
26: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.hsqldb.SessionInterface.getScanner:()Lorg/hsqldb/Scanner;
aload 2
checkcast java.lang.String
aload 0
invokevirtual org.hsqldb.Scanner.convertToNumber:(Ljava/lang/String;Lorg/hsqldb/types/NumberType;)Ljava/lang/Number;
astore 2
27: aload 0
aload 1
aload 2
invokevirtual org.hsqldb.types.NumberType.convertToDefaultType:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Object;
astore 2
28: aload 0
aload 1
aload 2
invokevirtual org.hsqldb.types.NumberType.convertToTypeLimits:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Object;
areturn
29: StackMap locals:
StackMap stack:
goto 37
30: StackMap locals:
StackMap stack:
aload 3
getfield org.hsqldb.types.Type.precision:J
lconst_1
lcmp
ifne 36
31: aload 2
checkcast org.hsqldb.types.BinaryData
invokevirtual org.hsqldb.types.BinaryData.getBytes:()[B
iconst_0
baload
ifne 34
32: getstatic org.hsqldb.map.ValuePool.INTEGER_0:Ljava/lang/Integer;
astore 2
33: goto 37
34: StackMap locals:
StackMap stack:
getstatic org.hsqldb.map.ValuePool.INTEGER_1:Ljava/lang/Integer;
astore 2
35: goto 37
36: StackMap locals:
StackMap stack:
sipush 5561
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
37: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
lookupswitch { // 9
-6: 38
2: 41
3: 41
4: 38
5: 38
6: 40
7: 40
8: 40
25: 39
default: 53
}
38: StackMap locals:
StackMap stack:
aload 1
aload 2
aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
invokestatic org.hsqldb.types.NumberType.convertToInt:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;I)Ljava/lang/Integer;
areturn
39: StackMap locals:
StackMap stack:
aload 1
aload 2
invokestatic org.hsqldb.types.NumberType.convertToLong:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Long;
areturn
40: StackMap locals:
StackMap stack:
aload 2
invokestatic org.hsqldb.types.NumberType.convertToDouble:(Ljava/lang/Object;)Ljava/lang/Double;
areturn
41: StackMap locals:
StackMap stack:
aconst_null
astore 4
start local 4 42: aload 0
getfield org.hsqldb.types.NumberType.scale:I
ifne 50
aload 2
instanceof java.lang.Double
ifeq 50
43: aload 2
checkcast java.lang.Number
invokevirtual java.lang.Number.doubleValue:()D
dstore 5
start local 5 44: aload 1
instanceof org.hsqldb.Session
ifeq 47
45: aload 1
checkcast org.hsqldb.Session
getfield org.hsqldb.Session.database:Lorg/hsqldb/Database;
getfield org.hsqldb.Database.sqlConvertTruncate:Z
ifne 47
46: dload 5
invokestatic java.lang.Math.rint:(D)D
dstore 5
47: StackMap locals: java.math.BigDecimal double
StackMap stack:
dload 5
invokestatic java.lang.Double.isInfinite:(D)Z
ifne 48
dload 5
invokestatic java.lang.Double.isNaN:(D)Z
ifeq 49
48: StackMap locals:
StackMap stack:
sipush 3403
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
49: StackMap locals:
StackMap stack:
dload 5
invokestatic java.math.BigDecimal.valueOf:(D)Ljava/math/BigDecimal;
astore 4
end local 5 50: StackMap locals:
StackMap stack:
aload 4
ifnonnull 52
51: aload 2
invokestatic org.hsqldb.types.NumberType.convertToDecimal:(Ljava/lang/Object;)Ljava/math/BigDecimal;
astore 4
52: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 4
invokevirtual org.hsqldb.types.NumberType.convertToTypeLimits:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 4 53: StackMap locals:
StackMap stack:
sipush 5561
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 54 0 this Lorg/hsqldb/types/NumberType;
0 54 1 session Lorg/hsqldb/SessionInterface;
0 54 2 a Ljava/lang/Object;
0 54 3 otherType Lorg/hsqldb/types/Type;
5 10 4 dec Ljava/math/BigDecimal;
13 21 4 startType I
18 21 5 value D
42 53 4 value Ljava/math/BigDecimal;
44 50 5 d D
MethodParameters:
Name Flags
session
a
otherType
public java.lang.Object convertToTypeJDBC(org.hsqldb.SessionInterface, java.lang.Object, org.hsqldb.types.Type);
descriptor: (Lorg/hsqldb/SessionInterface;Ljava/lang/Object;Lorg/hsqldb/types/Type;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ifnonnull 2
1: aload 2
areturn
2: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.hsqldb.types.Type.isLobType:()Z
ifeq 4
3: sipush 5561
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
4: StackMap locals:
StackMap stack:
aload 3
getfield org.hsqldb.types.Type.typeCode:I
tableswitch { // 16 - 16
16: 5
default: 9
}
5: StackMap locals:
StackMap stack:
aload 2
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 6
getstatic org.hsqldb.map.ValuePool.INTEGER_1:Ljava/lang/Integer;
goto 7
6: StackMap locals:
StackMap stack:
getstatic org.hsqldb.map.ValuePool.INTEGER_0:Ljava/lang/Integer;
7: StackMap locals:
StackMap stack: java.lang.Integer
astore 2
8: getstatic org.hsqldb.types.Type.SQL_INTEGER:Lorg/hsqldb/types/NumberType;
astore 3
9: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
invokevirtual org.hsqldb.types.NumberType.convertToType:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;Lorg/hsqldb/types/Type;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/hsqldb/types/NumberType;
0 10 1 session Lorg/hsqldb/SessionInterface;
0 10 2 a Ljava/lang/Object;
0 10 3 otherType Lorg/hsqldb/types/Type;
MethodParameters:
Name Flags
session
a
otherType
public java.lang.Object convertToDefaultType(org.hsqldb.SessionInterface, java.lang.Object);
descriptor: (Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 2
1: aload 2
areturn
2: StackMap locals:
StackMap stack:
aload 2
instanceof java.lang.Number
ifeq 37
3: aload 2
instanceof java.math.BigInteger
ifeq 6
4: new java.math.BigDecimal
dup
aload 2
checkcast java.math.BigInteger
invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;)V
astore 2
5: goto 14
StackMap locals:
StackMap stack:
6: aload 2
instanceof java.lang.Float
ifeq 9
7: aload 2
checkcast java.lang.Float
invokevirtual java.lang.Float.doubleValue:()D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
astore 2
8: goto 14
StackMap locals:
StackMap stack:
9: aload 2
instanceof java.lang.Byte
ifeq 12
10: aload 2
checkcast java.lang.Byte
invokevirtual java.lang.Byte.intValue:()I
invokestatic org.hsqldb.map.ValuePool.getInt:(I)Ljava/lang/Integer;
astore 2
11: goto 14
StackMap locals:
StackMap stack:
12: aload 2
instanceof java.lang.Short
ifeq 14
13: aload 2
checkcast java.lang.Short
invokevirtual java.lang.Short.intValue:()I
invokestatic org.hsqldb.map.ValuePool.getInt:(I)Ljava/lang/Integer;
astore 2
14: StackMap locals:
StackMap stack:
aload 2
instanceof java.lang.Integer
ifeq 17
15: getstatic org.hsqldb.types.Type.SQL_INTEGER:Lorg/hsqldb/types/NumberType;
astore 3
start local 3 16: goto 27
end local 3 StackMap locals:
StackMap stack:
17: aload 2
instanceof java.lang.Long
ifeq 20
18: getstatic org.hsqldb.types.Type.SQL_BIGINT:Lorg/hsqldb/types/NumberType;
astore 3
start local 3 19: goto 27
end local 3 StackMap locals:
StackMap stack:
20: aload 2
instanceof java.lang.Double
ifeq 23
21: getstatic org.hsqldb.types.Type.SQL_DOUBLE:Lorg/hsqldb/types/NumberType;
astore 3
start local 3 22: goto 27
end local 3 StackMap locals:
StackMap stack:
23: aload 2
instanceof java.math.BigDecimal
ifeq 26
24: getstatic org.hsqldb.types.Type.SQL_DECIMAL_DEFAULT:Lorg/hsqldb/types/NumberType;
astore 3
start local 3 25: goto 27
end local 3 26: StackMap locals:
StackMap stack:
sipush 5561
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
start local 3 27: StackMap locals: org.hsqldb.types.Type
StackMap stack:
aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
lookupswitch { // 9
-6: 28
2: 31
3: 31
4: 28
5: 28
6: 30
7: 30
8: 30
25: 29
default: 36
}
28: StackMap locals:
StackMap stack:
aload 1
aload 2
iconst_4
invokestatic org.hsqldb.types.NumberType.convertToInt:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;I)Ljava/lang/Integer;
areturn
29: StackMap locals:
StackMap stack:
aload 1
aload 2
invokestatic org.hsqldb.types.NumberType.convertToLong:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Long;
areturn
30: StackMap locals:
StackMap stack:
aload 2
invokestatic org.hsqldb.types.NumberType.convertToDouble:(Ljava/lang/Object;)Ljava/lang/Double;
areturn
31: StackMap locals:
StackMap stack:
aload 2
invokestatic org.hsqldb.types.NumberType.convertToDecimal:(Ljava/lang/Object;)Ljava/math/BigDecimal;
astore 2
32: aload 2
checkcast java.math.BigDecimal
astore 4
start local 4 33: aload 0
getfield org.hsqldb.types.NumberType.scale:I
aload 4
invokevirtual java.math.BigDecimal.scale:()I
if_icmpeq 35
34: aload 4
aload 0
getfield org.hsqldb.types.NumberType.scale:I
getstatic java.math.RoundingMode.HALF_DOWN:Ljava/math/RoundingMode;
invokevirtual java.math.BigDecimal.setScale:(ILjava/math/RoundingMode;)Ljava/math/BigDecimal;
astore 4
35: StackMap locals: java.math.BigDecimal
StackMap stack:
aload 4
areturn
end local 4 36: StackMap locals:
StackMap stack:
sipush 5561
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
end local 3 37: StackMap locals:
StackMap stack:
aload 2
instanceof java.lang.String
ifeq 40
38: getstatic org.hsqldb.types.Type.SQL_VARCHAR:Lorg/hsqldb/types/CharacterType;
astore 3
start local 3 39: goto 41
end local 3 40: StackMap locals:
StackMap stack:
sipush 5561
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
start local 3 41: StackMap locals: org.hsqldb.types.Type
StackMap stack:
aload 0
aload 1
aload 2
aload 3
invokevirtual org.hsqldb.types.NumberType.convertToType:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;Lorg/hsqldb/types/Type;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 42 0 this Lorg/hsqldb/types/NumberType;
0 42 1 session Lorg/hsqldb/SessionInterface;
0 42 2 a Ljava/lang/Object;
16 17 3 otherType Lorg/hsqldb/types/Type;
19 20 3 otherType Lorg/hsqldb/types/Type;
22 23 3 otherType Lorg/hsqldb/types/Type;
25 26 3 otherType Lorg/hsqldb/types/Type;
27 37 3 otherType Lorg/hsqldb/types/Type;
39 40 3 otherType Lorg/hsqldb/types/Type;
41 42 3 otherType Lorg/hsqldb/types/Type;
33 36 4 dec Ljava/math/BigDecimal;
MethodParameters:
Name Flags
session
a
public java.lang.Object convertJavaToSQL(org.hsqldb.SessionInterface, java.lang.Object);
descriptor: (Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.hsqldb.types.NumberType.convertToDefaultType:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hsqldb/types/NumberType;
0 1 1 session Lorg/hsqldb/SessionInterface;
0 1 2 a Ljava/lang/Object;
MethodParameters:
Name Flags
session
a
static java.lang.Integer convertToInt(org.hsqldb.SessionInterface, java.lang.Object, int);
descriptor: (Lorg/hsqldb/SessionInterface;Ljava/lang/Object;I)Ljava/lang/Integer;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
instanceof java.lang.Integer
ifeq 5
1: iload 2
iconst_4
if_icmpne 3
2: aload 1
checkcast java.lang.Integer
areturn
3: StackMap locals:
StackMap stack:
aload 1
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 3
start local 3 4: goto 29
end local 3 StackMap locals:
StackMap stack:
5: aload 1
instanceof java.lang.Long
ifeq 11
6: aload 1
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
lstore 4
start local 4 7: ldc 2147483647
lload 4
lcmp
iflt 8
lload 4
ldc -2147483648
lcmp
ifge 9
8: StackMap locals: org.hsqldb.SessionInterface java.lang.Object int top long
StackMap stack:
sipush 3403
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
9: StackMap locals:
StackMap stack:
lload 4
l2i
istore 3
end local 4 start local 3 10: goto 29
end local 3 StackMap locals: org.hsqldb.SessionInterface java.lang.Object int
StackMap stack:
11: aload 1
instanceof java.math.BigDecimal
ifeq 17
12: aload 1
checkcast java.math.BigDecimal
astore 4
start local 4 13: aload 4
getstatic org.hsqldb.types.NumberType.MAX_INT:Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.compareTo:(Ljava/math/BigDecimal;)I
ifgt 14
aload 4
getstatic org.hsqldb.types.NumberType.MIN_INT:Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.compareTo:(Ljava/math/BigDecimal;)I
ifge 15
14: StackMap locals: org.hsqldb.SessionInterface java.lang.Object int top java.math.BigDecimal
StackMap stack:
sipush 3403
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
15: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.math.BigDecimal.intValue:()I
istore 3
end local 4 start local 3 16: goto 29
end local 3 StackMap locals: org.hsqldb.SessionInterface java.lang.Object int
StackMap stack:
17: aload 1
instanceof java.lang.Double
ifne 18
aload 1
instanceof java.lang.Float
ifeq 28
18: StackMap locals:
StackMap stack:
aload 1
checkcast java.lang.Number
invokevirtual java.lang.Number.doubleValue:()D
dstore 4
start local 4 19: aload 0
instanceof org.hsqldb.Session
ifeq 22
20: aload 0
checkcast org.hsqldb.Session
getfield org.hsqldb.Session.database:Lorg/hsqldb/Database;
getfield org.hsqldb.Database.sqlConvertTruncate:Z
ifne 22
21: dload 4
invokestatic java.lang.Math.rint:(D)D
dstore 4
22: StackMap locals: org.hsqldb.SessionInterface java.lang.Object int top double
StackMap stack:
dload 4
invokestatic java.lang.Double.isInfinite:(D)Z
ifne 25
dload 4
invokestatic java.lang.Double.isNaN:(D)Z
ifne 25
23: dload 4
ldc 2.147483648E9
dcmpl
ifge 25
24: dload 4
ldc -2.147483649E9
dcmpg
ifgt 26
25: StackMap locals:
StackMap stack:
sipush 3403
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
26: StackMap locals:
StackMap stack:
dload 4
d2i
istore 3
end local 4 start local 3 27: goto 29
end local 3 28: StackMap locals: org.hsqldb.SessionInterface java.lang.Object int
StackMap stack:
sipush 5561
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
start local 3 29: StackMap locals: int
StackMap stack:
iload 2
bipush -6
if_icmpne 32
30: bipush 127
iload 3
if_icmplt 31
iload 3
bipush -128
if_icmpge 35
31: StackMap locals:
StackMap stack:
sipush 3403
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
32: StackMap locals:
StackMap stack:
iload 2
iconst_5
if_icmpne 35
33: sipush 32767
iload 3
if_icmplt 34
iload 3
sipush -32768
if_icmpge 35
34: StackMap locals:
StackMap stack:
sipush 3403
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
35: StackMap locals:
StackMap stack:
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 session Lorg/hsqldb/SessionInterface;
0 36 1 a Ljava/lang/Object;
0 36 2 type I
4 5 3 value I
10 11 3 value I
16 17 3 value I
27 28 3 value I
29 36 3 value I
7 10 4 temp J
13 16 4 bd Ljava/math/BigDecimal;
19 27 4 d D
MethodParameters:
Name Flags
session
a
type
static java.lang.Long convertToLong(org.hsqldb.SessionInterface, java.lang.Object);
descriptor: (Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Long;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
instanceof java.lang.Integer
ifeq 2
1: aload 1
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
i2l
invokestatic org.hsqldb.map.ValuePool.getLong:(J)Ljava/lang/Long;
areturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.Long
ifeq 4
3: aload 1
checkcast java.lang.Long
areturn
4: StackMap locals:
StackMap stack:
aload 1
instanceof java.math.BigDecimal
ifeq 9
5: aload 1
checkcast java.math.BigDecimal
astore 2
start local 2 6: aload 2
getstatic org.hsqldb.types.NumberType.MAX_LONG:Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.compareTo:(Ljava/math/BigDecimal;)I
ifgt 7
aload 2
getstatic org.hsqldb.types.NumberType.MIN_LONG:Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.compareTo:(Ljava/math/BigDecimal;)I
ifge 8
7: StackMap locals: java.math.BigDecimal
StackMap stack:
sipush 3403
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
8: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.math.BigDecimal.longValue:()J
invokestatic org.hsqldb.map.ValuePool.getLong:(J)Ljava/lang/Long;
areturn
end local 2 9: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.Double
ifne 10
aload 1
instanceof java.lang.Float
ifeq 19
10: StackMap locals:
StackMap stack:
aload 1
checkcast java.lang.Number
invokevirtual java.lang.Number.doubleValue:()D
dstore 2
start local 2 11: aload 0
instanceof org.hsqldb.Session
ifeq 14
12: aload 0
checkcast org.hsqldb.Session
getfield org.hsqldb.Session.database:Lorg/hsqldb/Database;
getfield org.hsqldb.Database.sqlConvertTruncate:Z
ifne 14
13: dload 2
invokestatic java.lang.Math.rint:(D)D
dstore 2
14: StackMap locals: double
StackMap stack:
dload 2
invokestatic java.lang.Double.isInfinite:(D)Z
ifne 17
dload 2
invokestatic java.lang.Double.isNaN:(D)Z
ifne 17
15: dload 2
ldc 9.223372036854776E18
dcmpl
ifge 17
16: dload 2
ldc -9.223372036854776E18
dcmpg
ifgt 18
17: StackMap locals:
StackMap stack:
sipush 3403
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
18: StackMap locals:
StackMap stack:
dload 2
d2l
invokestatic org.hsqldb.map.ValuePool.getLong:(J)Ljava/lang/Long;
areturn
end local 2 19: StackMap locals:
StackMap stack:
sipush 5561
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 session Lorg/hsqldb/SessionInterface;
0 20 1 a Ljava/lang/Object;
6 9 2 bd Ljava/math/BigDecimal;
11 19 2 d D
MethodParameters:
Name Flags
session
a
private static java.lang.Double convertToDouble(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Double;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
instanceof java.lang.Double
ifeq 2
1: aload 0
checkcast java.lang.Double
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokestatic org.hsqldb.types.NumberType.toDouble:(Ljava/lang/Object;)D
dstore 1
start local 1 3: dload 1
invokestatic java.lang.Double.doubleToLongBits:(D)J
invokestatic org.hsqldb.map.ValuePool.getDouble:(J)Ljava/lang/Double;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 a Ljava/lang/Object;
3 4 1 value D
MethodParameters:
Name Flags
a
public static double toDouble(java.lang.Object);
descriptor: (Ljava/lang/Object;)D
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=6, args_size=1
start local 0 0: aload 0
instanceof java.lang.Double
ifeq 2
1: aload 0
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
dreturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof java.math.BigDecimal
ifeq 9
3: aload 0
checkcast java.math.BigDecimal
astore 3
start local 3 4: aload 3
invokevirtual java.math.BigDecimal.doubleValue:()D
dstore 1
start local 1 5: aload 3
invokevirtual java.math.BigDecimal.signum:()I
istore 4
start local 4 6: new java.math.BigDecimal
dup
dload 1
iload 4
i2d
dadd
invokespecial java.math.BigDecimal.<init>:(D)V
astore 5
start local 5 7: aload 5
aload 3
invokevirtual java.math.BigDecimal.compareTo:(Ljava/math/BigDecimal;)I
iload 4
if_icmpeq 13
8: sipush 3403
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
end local 5 end local 4 end local 3 end local 1 9: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Number
ifeq 12
10: aload 0
checkcast java.lang.Number
invokevirtual java.lang.Number.doubleValue:()D
dstore 1
start local 1 11: goto 13
end local 1 12: StackMap locals:
StackMap stack:
sipush 3471
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
start local 1 13: StackMap locals: double
StackMap stack:
dload 1
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 a Ljava/lang/Object;
5 9 1 value D
11 12 1 value D
13 14 1 value D
4 9 3 bd Ljava/math/BigDecimal;
6 9 4 signum I
7 9 5 bdd Ljava/math/BigDecimal;
MethodParameters:
Name Flags
a
private static java.math.BigDecimal convertToDecimal(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/math/BigDecimal;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
instanceof java.math.BigDecimal
ifeq 2
1: aload 0
checkcast java.math.BigDecimal
areturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Integer
ifne 3
aload 0
instanceof java.lang.Long
ifeq 4
3: StackMap locals:
StackMap stack:
aload 0
checkcast java.lang.Number
invokevirtual java.lang.Number.longValue:()J
invokestatic java.math.BigDecimal.valueOf:(J)Ljava/math/BigDecimal;
areturn
4: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Double
ifeq 9
5: aload 0
checkcast java.lang.Number
invokevirtual java.lang.Number.doubleValue:()D
dstore 1
start local 1 6: dload 1
invokestatic java.lang.Double.isInfinite:(D)Z
ifne 7
dload 1
invokestatic java.lang.Double.isNaN:(D)Z
ifeq 8
7: StackMap locals: double
StackMap stack:
sipush 3403
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
8: StackMap locals:
StackMap stack:
dload 1
invokestatic java.math.BigDecimal.valueOf:(D)Ljava/math/BigDecimal;
areturn
end local 1 9: StackMap locals:
StackMap stack:
sipush 201
ldc "NumberType"
invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 a Ljava/lang/Object;
6 9 1 value D
MethodParameters:
Name Flags
a
public java.lang.String convertToString(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
lookupswitch { // 8
-6: 3
2: 15
3: 15
4: 3
5: 3
7: 4
8: 4
25: 3
default: 16
}
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
areturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
dstore 2
start local 2 5: dload 2
ldc -Infinity
dcmpl
ifne 7
6: ldc "-1E0/0"
areturn
7: StackMap locals: double
StackMap stack:
dload 2
ldc Infinity
dcmpl
ifne 9
8: ldc "1E0/0"
areturn
9: StackMap locals:
StackMap stack:
dload 2
invokestatic java.lang.Double.isNaN:(D)Z
ifeq 11
10: ldc "0E0/0E0"
areturn
11: StackMap locals:
StackMap stack:
dload 2
invokestatic java.lang.Double.toString:(D)Ljava/lang/String;
astore 4
start local 4 12: aload 4
bipush 69
invokevirtual java.lang.String.indexOf:(I)I
ifge 14
13: aload 4
ldc "E0"
invokevirtual java.lang.String.concat:(Ljava/lang/String;)Ljava/lang/String;
astore 4
14: StackMap locals: java.lang.String
StackMap stack:
aload 4
areturn
end local 4 end local 2 15: StackMap locals:
StackMap stack:
aload 1
checkcast java.math.BigDecimal
invokevirtual java.math.BigDecimal.toPlainString:()Ljava/lang/String;
areturn
16: StackMap locals:
StackMap stack:
sipush 201
ldc "NumberType"
invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/hsqldb/types/NumberType;
0 17 1 a Ljava/lang/Object;
5 15 2 value D
12 15 4 s Ljava/lang/String;
MethodParameters:
Name Flags
a
public java.lang.String convertToSQLString(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: ldc "NULL"
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.hsqldb.types.NumberType.convertToString:(Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/hsqldb/types/NumberType;
0 3 1 a Ljava/lang/Object;
MethodParameters:
Name Flags
a
public boolean canConvertFrom(org.hsqldb.types.Type);
descriptor: (Lorg/hsqldb/types/Type;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield org.hsqldb.types.Type.typeCode:I
ifne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.hsqldb.types.Type.isNumberType:()Z
ifeq 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.hsqldb.types.Type.isIntervalType:()Z
ifeq 6
5: iconst_1
ireturn
6: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.hsqldb.types.Type.isCharacterType:()Z
ifeq 8
7: iconst_1
ireturn
8: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.hsqldb.types.Type.isBitType:()Z
ifeq 10
aload 1
getfield org.hsqldb.types.Type.precision:J
lconst_1
lcmp
ifne 10
9: iconst_1
ireturn
10: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/hsqldb/types/NumberType;
0 11 1 otherType Lorg/hsqldb/types/Type;
MethodParameters:
Name Flags
otherType
public int canMoveFrom(org.hsqldb.types.Type);
descriptor: (Lorg/hsqldb/types/Type;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
if_acmpne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
lookupswitch { // 9
-6: 3
2: 14
3: 14
4: 10
5: 6
6: 20
7: 20
8: 20
25: 13
default: 24
}
3: StackMap locals:
StackMap stack:
aload 1
getfield org.hsqldb.types.Type.typeCode:I
iconst_5
if_icmpeq 5
4: aload 1
getfield org.hsqldb.types.Type.typeCode:I
iconst_4
if_icmpne 24
5: StackMap locals:
StackMap stack:
iconst_1
ireturn
6: StackMap locals:
StackMap stack:
aload 1
getfield org.hsqldb.types.Type.typeCode:I
bipush -6
if_icmpne 8
7: iconst_0
ireturn
8: StackMap locals:
StackMap stack:
aload 1
getfield org.hsqldb.types.Type.typeCode:I
iconst_4
if_icmpne 24
9: iconst_1
ireturn
10: StackMap locals:
StackMap stack:
aload 1
getfield org.hsqldb.types.Type.typeCode:I
iconst_5
if_icmpeq 12
11: aload 1
getfield org.hsqldb.types.Type.typeCode:I
bipush -6
if_icmpne 24
12: StackMap locals:
StackMap stack:
iconst_0
ireturn
13: StackMap locals:
StackMap stack:
goto 24
14: StackMap locals:
StackMap stack:
aload 1
getfield org.hsqldb.types.Type.typeCode:I
iconst_3
if_icmpeq 16
15: aload 1
getfield org.hsqldb.types.Type.typeCode:I
iconst_2
if_icmpne 24
16: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.types.NumberType.scale:I
aload 1
getfield org.hsqldb.types.Type.scale:I
if_icmpne 24
17: aload 0
getfield org.hsqldb.types.NumberType.precision:J
aload 1
getfield org.hsqldb.types.Type.precision:J
lcmp
iflt 19
18: iconst_0
ireturn
19: StackMap locals:
StackMap stack:
iconst_1
ireturn
20: StackMap locals:
StackMap stack:
aload 1
getfield org.hsqldb.types.Type.typeCode:I
bipush 7
if_icmpeq 23
21: aload 1
getfield org.hsqldb.types.Type.typeCode:I
bipush 6
if_icmpeq 23
22: aload 1
getfield org.hsqldb.types.Type.typeCode:I
bipush 8
if_icmpne 24
23: StackMap locals:
StackMap stack:
iconst_0
ireturn
24: StackMap locals:
StackMap stack:
iconst_m1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lorg/hsqldb/types/NumberType;
0 25 1 otherType Lorg/hsqldb/types/Type;
MethodParameters:
Name Flags
otherType
public int compareToTypeRange(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=10, args_size=2
start local 0 start local 1 0: aload 1
instanceof java.lang.Integer
ifne 2
aload 1
instanceof java.lang.Long
ifne 2
1: aload 1
instanceof java.math.BigDecimal
ifeq 45
2: StackMap locals:
StackMap stack:
aload 1
checkcast java.lang.Number
invokevirtual java.lang.Number.longValue:()J
lstore 2
start local 2 3: aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
lookupswitch { // 6
-6: 4
2: 24
3: 24
4: 16
5: 10
25: 22
default: 39
}
4: StackMap locals: long
StackMap stack:
aload 1
invokestatic org.hsqldb.types.NumberType.compareBigDecimalToLongLimits:(Ljava/lang/Object;)I
istore 6
start local 6 5: iload 6
ifeq 7
6: iload 6
ireturn
7: StackMap locals: org.hsqldb.types.NumberType java.lang.Object long top top int
StackMap stack:
bipush -128
istore 4
start local 4 8: bipush 127
istore 5
start local 5 9: goto 40
end local 6 end local 5 end local 4 10: StackMap locals: org.hsqldb.types.NumberType java.lang.Object long
StackMap stack:
aload 1
invokestatic org.hsqldb.types.NumberType.compareBigDecimalToLongLimits:(Ljava/lang/Object;)I
istore 6
start local 6 11: iload 6
ifeq 13
12: iload 6
ireturn
13: StackMap locals: org.hsqldb.types.NumberType java.lang.Object long top top int
StackMap stack:
sipush -32768
istore 4
start local 4 14: sipush 32767
istore 5
start local 5 15: goto 40
end local 6 end local 5 end local 4 16: StackMap locals: org.hsqldb.types.NumberType java.lang.Object long
StackMap stack:
aload 1
invokestatic org.hsqldb.types.NumberType.compareBigDecimalToLongLimits:(Ljava/lang/Object;)I
istore 6
start local 6 17: iload 6
ifeq 19
18: iload 6
ireturn
19: StackMap locals: org.hsqldb.types.NumberType java.lang.Object long top top int
StackMap stack:
ldc -2147483648
istore 4
start local 4 20: ldc 2147483647
istore 5
start local 5 21: goto 40
end local 6 end local 5 end local 4 22: StackMap locals: org.hsqldb.types.NumberType java.lang.Object long
StackMap stack:
aload 1
invokestatic org.hsqldb.types.NumberType.compareBigDecimalToLongLimits:(Ljava/lang/Object;)I
istore 6
start local 6 23: iload 6
ireturn
end local 6 24: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.types.NumberType.precision:J
aload 0
getfield org.hsqldb.types.NumberType.scale:I
i2l
lsub
ldc 19
lcmp
iflt 27
25: aload 1
instanceof java.lang.Long
ifeq 27
26: iconst_0
ireturn
27: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.types.NumberType.precision:J
aload 0
getfield org.hsqldb.types.NumberType.scale:I
i2l
lsub
ldc 10
lcmp
iflt 30
28: aload 1
instanceof java.lang.Integer
ifeq 30
29: iconst_0
ireturn
30: StackMap locals:
StackMap stack:
aload 1
invokestatic org.hsqldb.types.NumberType.convertToDecimal:(Ljava/lang/Object;)Ljava/math/BigDecimal;
astore 7
start local 7 31: aload 7
invokevirtual java.math.BigDecimal.scale:()I
istore 8
start local 8 32: aload 7
invokestatic org.hsqldb.lib.java.JavaSystem.precision:(Ljava/math/BigDecimal;)I
istore 9
start local 9 33: iload 8
ifge 36
34: iload 9
iload 8
isub
istore 9
35: iconst_0
istore 8
36: StackMap locals: org.hsqldb.types.NumberType java.lang.Object long top top top java.math.BigDecimal int int
StackMap stack:
aload 0
getfield org.hsqldb.types.NumberType.precision:J
aload 0
getfield org.hsqldb.types.NumberType.scale:I
i2l
lsub
iload 9
iload 8
isub
i2l
lcmp
iflt 37
iconst_0
goto 38
37: StackMap locals:
StackMap stack:
aload 7
invokevirtual java.math.BigDecimal.signum:()I
38: StackMap locals:
StackMap stack: int
ireturn
end local 9 end local 8 end local 7 39: StackMap locals: org.hsqldb.types.NumberType java.lang.Object long
StackMap stack:
iconst_0
ireturn
start local 4 start local 5 start local 6 40: StackMap locals: int int int
StackMap stack:
iload 5
i2l
lload 2
lcmp
ifge 42
41: iconst_1
ireturn
42: StackMap locals:
StackMap stack:
lload 2
iload 4
i2l
lcmp
ifge 44
43: iconst_m1
ireturn
44: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 6 end local 5 end local 4 end local 2 45: StackMap locals: org.hsqldb.types.NumberType java.lang.Object
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 46 0 this Lorg/hsqldb/types/NumberType;
0 46 1 o Ljava/lang/Object;
3 45 2 temp J
8 10 4 min I
14 16 4 min I
20 22 4 min I
40 45 4 min I
9 10 5 max I
15 16 5 max I
21 22 5 max I
40 45 5 max I
5 10 6 result I
11 16 6 result I
17 22 6 result I
23 24 6 result I
40 45 6 result I
31 39 7 dec Ljava/math/BigDecimal;
32 39 8 s I
33 39 9 p I
MethodParameters:
Name Flags
o
public java.lang.Object add(org.hsqldb.Session, java.lang.Object, java.lang.Object, org.hsqldb.types.Type);
descriptor: (Lorg/hsqldb/Session;Ljava/lang/Object;Ljava/lang/Object;Lorg/hsqldb/types/Type;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
ifnull 1
aload 3
ifnonnull 2
1: StackMap locals:
StackMap stack:
aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
lookupswitch { // 9
-6: 12
2: 6
3: 6
4: 12
5: 12
6: 3
7: 3
8: 3
25: 15
default: 18
}
3: StackMap locals:
StackMap stack:
aload 2
checkcast java.lang.Number
invokevirtual java.lang.Number.doubleValue:()D
dstore 5
start local 5 4: aload 3
checkcast java.lang.Number
invokevirtual java.lang.Number.doubleValue:()D
dstore 7
start local 7 5: dload 5
dload 7
dadd
invokestatic java.lang.Double.doubleToLongBits:(D)J
invokestatic org.hsqldb.map.ValuePool.getDouble:(J)Ljava/lang/Double;
areturn
end local 7 end local 5 6: StackMap locals:
StackMap stack:
aload 0
aconst_null
aload 2
invokevirtual org.hsqldb.types.NumberType.convertToDefaultType:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Object;
astore 2
7: aload 0
aconst_null
aload 3
invokevirtual org.hsqldb.types.NumberType.convertToDefaultType:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Object;
astore 3
8: aload 2
checkcast java.math.BigDecimal
astore 5
start local 5 9: aload 3
checkcast java.math.BigDecimal
astore 6
start local 6 10: aload 5
aload 6
invokevirtual java.math.BigDecimal.add:(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;
astore 5
11: aload 0
aconst_null
aload 5
invokevirtual org.hsqldb.types.NumberType.convertToTypeLimits:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 6 end local 5 12: StackMap locals:
StackMap stack:
aload 2
checkcast java.lang.Number
invokevirtual java.lang.Number.intValue:()I
istore 5
start local 5 13: aload 3
checkcast java.lang.Number
invokevirtual java.lang.Number.intValue:()I
istore 6
start local 6 14: iload 5
iload 6
iadd
invokestatic org.hsqldb.map.ValuePool.getInt:(I)Ljava/lang/Integer;
areturn
end local 6 end local 5 15: StackMap locals:
StackMap stack:
aload 2
checkcast java.lang.Number
invokevirtual java.lang.Number.longValue:()J
lstore 5
start local 5 16: aload 3
checkcast java.lang.Number
invokevirtual java.lang.Number.longValue:()J
lstore 7
start local 7 17: lload 5
lload 7
ladd
invokestatic org.hsqldb.map.ValuePool.getLong:(J)Ljava/lang/Long;
areturn
end local 7 end local 5 18: StackMap locals:
StackMap stack:
sipush 201
ldc "NumberType"
invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
athrow
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 Lorg/hsqldb/types/NumberType;
0 19 1 session Lorg/hsqldb/Session;
0 19 2 a Ljava/lang/Object;
0 19 3 b Ljava/lang/Object;
0 19 4 otherType Lorg/hsqldb/types/Type;
4 6 5 ad D
5 6 7 bd D
9 12 5 abd Ljava/math/BigDecimal;
10 12 6 bbd Ljava/math/BigDecimal;
13 15 5 ai I
14 15 6 bi I
16 18 5 longa J
17 18 7 longb J
MethodParameters:
Name Flags
session
a
b
otherType
public java.lang.Object subtract(org.hsqldb.Session, java.lang.Object, java.lang.Object, org.hsqldb.types.Type);
descriptor: (Lorg/hsqldb/Session;Ljava/lang/Object;Ljava/lang/Object;Lorg/hsqldb/types/Type;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
ifnull 1
aload 3
ifnonnull 2
1: StackMap locals:
StackMap stack:
aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
lookupswitch { // 9
-6: 12
2: 6
3: 6
4: 12
5: 12
6: 3
7: 3
8: 3
25: 15
default: 18
}
3: StackMap locals:
StackMap stack:
aload 2
checkcast java.lang.Number
invokevirtual java.lang.Number.doubleValue:()D
dstore 5
start local 5 4: aload 3
checkcast java.lang.Number
invokevirtual java.lang.Number.doubleValue:()D
dstore 7
start local 7 5: dload 5
dload 7
dsub
invokestatic java.lang.Double.doubleToLongBits:(D)J
invokestatic org.hsqldb.map.ValuePool.getDouble:(J)Ljava/lang/Double;
areturn
end local 7 end local 5 6: StackMap locals:
StackMap stack:
aload 0
aconst_null
aload 2
invokevirtual org.hsqldb.types.NumberType.convertToDefaultType:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Object;
astore 2
7: aload 0
aconst_null
aload 3
invokevirtual org.hsqldb.types.NumberType.convertToDefaultType:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Object;
astore 3
8: aload 2
checkcast java.math.BigDecimal
astore 5
start local 5 9: aload 3
checkcast java.math.BigDecimal
astore 6
start local 6 10: aload 5
aload 6
invokevirtual java.math.BigDecimal.subtract:(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;
astore 5
11: aload 0
aconst_null
aload 5
invokevirtual org.hsqldb.types.NumberType.convertToTypeLimits:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 6 end local 5 12: StackMap locals:
StackMap stack:
aload 2
checkcast java.lang.Number
invokevirtual java.lang.Number.intValue:()I
istore 5
start local 5 13: aload 3
checkcast java.lang.Number
invokevirtual java.lang.Number.intValue:()I
istore 6
start local 6 14: iload 5
iload 6
isub
invokestatic org.hsqldb.map.ValuePool.getInt:(I)Ljava/lang/Integer;
areturn
end local 6 end local 5 15: StackMap locals:
StackMap stack:
aload 2
checkcast java.lang.Number
invokevirtual java.lang.Number.longValue:()J
lstore 5
start local 5 16: aload 3
checkcast java.lang.Number
invokevirtual java.lang.Number.longValue:()J
lstore 7
start local 7 17: lload 5
lload 7
lsub
invokestatic org.hsqldb.map.ValuePool.getLong:(J)Ljava/lang/Long;
areturn
end local 7 end local 5 18: StackMap locals:
StackMap stack:
sipush 201
ldc "NumberType"
invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
athrow
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 Lorg/hsqldb/types/NumberType;
0 19 1 session Lorg/hsqldb/Session;
0 19 2 a Ljava/lang/Object;
0 19 3 b Ljava/lang/Object;
0 19 4 otherType Lorg/hsqldb/types/Type;
4 6 5 ad D
5 6 7 bd D
9 12 5 abd Ljava/math/BigDecimal;
10 12 6 bbd Ljava/math/BigDecimal;
13 15 5 ai I
14 15 6 bi I
16 18 5 longa J
17 18 7 longb J
MethodParameters:
Name Flags
session
a
b
otherType
public java.lang.Object multiply(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnull 1
aload 2
ifnonnull 2
1: StackMap locals:
StackMap stack:
aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
lookupswitch { // 9
-6: 14
2: 6
3: 6
4: 14
5: 14
6: 3
7: 3
8: 3
25: 17
default: 20
}
3: StackMap locals:
StackMap stack:
aload 1
checkcast java.lang.Number
invokevirtual java.lang.Number.doubleValue:()D
dstore 3
start local 3 4: aload 2
checkcast java.lang.Number
invokevirtual java.lang.Number.doubleValue:()D
dstore 5
start local 5 5: dload 3
dload 5
dmul
invokestatic java.lang.Double.doubleToLongBits:(D)J
invokestatic org.hsqldb.map.ValuePool.getDouble:(J)Ljava/lang/Double;
areturn
end local 5 end local 3 6: StackMap locals:
StackMap stack:
aload 1
instanceof java.math.BigDecimal
ifne 8
7: aload 0
aconst_null
aload 1
invokevirtual org.hsqldb.types.NumberType.convertToDefaultType:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Object;
astore 1
8: StackMap locals:
StackMap stack:
aload 2
instanceof java.math.BigDecimal
ifne 10
9: aload 0
aconst_null
aload 2
invokevirtual org.hsqldb.types.NumberType.convertToDefaultType:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Object;
astore 2
10: StackMap locals:
StackMap stack:
aload 1
checkcast java.math.BigDecimal
astore 3
start local 3 11: aload 2
checkcast java.math.BigDecimal
astore 4
start local 4 12: aload 3
aload 4
invokevirtual java.math.BigDecimal.multiply:(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;
astore 5
start local 5 13: aload 0
aconst_null
aload 5
invokevirtual org.hsqldb.types.NumberType.convertToTypeLimits:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 5 end local 4 end local 3 14: StackMap locals:
StackMap stack:
aload 1
checkcast java.lang.Number
invokevirtual java.lang.Number.intValue:()I
istore 3
start local 3 15: aload 2
checkcast java.lang.Number
invokevirtual java.lang.Number.intValue:()I
istore 4
start local 4 16: iload 3
iload 4
imul
invokestatic org.hsqldb.map.ValuePool.getInt:(I)Ljava/lang/Integer;
areturn
end local 4 end local 3 17: StackMap locals:
StackMap stack:
aload 1
checkcast java.lang.Number
invokevirtual java.lang.Number.longValue:()J
lstore 3
start local 3 18: aload 2
checkcast java.lang.Number
invokevirtual java.lang.Number.longValue:()J
lstore 5
start local 5 19: lload 3
lload 5
lmul
invokestatic org.hsqldb.map.ValuePool.getLong:(J)Ljava/lang/Long;
areturn
end local 5 end local 3 20: StackMap locals:
StackMap stack:
sipush 201
ldc "NumberType"
invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/hsqldb/types/NumberType;
0 21 1 a Ljava/lang/Object;
0 21 2 b Ljava/lang/Object;
4 6 3 ad D
5 6 5 bd D
11 14 3 abd Ljava/math/BigDecimal;
12 14 4 bbd Ljava/math/BigDecimal;
13 14 5 bd Ljava/math/BigDecimal;
15 17 3 ai I
16 17 4 bi I
18 20 3 longa J
19 20 5 longb J
MethodParameters:
Name Flags
a
b
public java.lang.Object divide(org.hsqldb.Session, java.lang.Object, java.lang.Object);
descriptor: (Lorg/hsqldb/Session;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ifnull 1
aload 3
ifnonnull 2
1: StackMap locals:
StackMap stack:
aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
lookupswitch { // 9
-6: 20
2: 10
3: 10
4: 20
5: 20
6: 3
7: 3
8: 3
25: 25
default: 30
}
3: StackMap locals:
StackMap stack:
aload 2
checkcast java.lang.Number
invokevirtual java.lang.Number.doubleValue:()D
dstore 4
start local 4 4: aload 3
checkcast java.lang.Number
invokevirtual java.lang.Number.doubleValue:()D
dstore 6
start local 6 5: dload 6
dconst_0
dcmpl
ifne 9
6: aload 1
ifnull 8
7: aload 1
getfield org.hsqldb.Session.database:Lorg/hsqldb/Database;
getfield org.hsqldb.Database.sqlDoubleNaN:Z
ifeq 9
8: StackMap locals: double double
StackMap stack:
sipush 3432
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
9: StackMap locals:
StackMap stack:
dload 4
dload 6
ddiv
invokestatic java.lang.Double.doubleToLongBits:(D)J
invokestatic org.hsqldb.map.ValuePool.getDouble:(J)Ljava/lang/Double;
areturn
end local 6 end local 4 10: StackMap locals:
StackMap stack:
aload 2
instanceof java.math.BigDecimal
ifne 12
11: aload 0
aconst_null
aload 2
invokevirtual org.hsqldb.types.NumberType.convertToDefaultType:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Object;
astore 2
12: StackMap locals:
StackMap stack:
aload 3
instanceof java.math.BigDecimal
ifne 14
13: aload 0
aconst_null
aload 3
invokevirtual org.hsqldb.types.NumberType.convertToDefaultType:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Object;
astore 3
14: StackMap locals:
StackMap stack:
aload 2
checkcast java.math.BigDecimal
astore 4
start local 4 15: aload 3
checkcast java.math.BigDecimal
astore 5
start local 5 16: aload 5
invokevirtual java.math.BigDecimal.signum:()I
ifne 18
17: sipush 3432
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
18: StackMap locals: java.math.BigDecimal java.math.BigDecimal
StackMap stack:
aload 4
aload 5
aload 0
getfield org.hsqldb.types.NumberType.scale:I
getstatic java.math.RoundingMode.DOWN:Ljava/math/RoundingMode;
invokevirtual java.math.BigDecimal.divide:(Ljava/math/BigDecimal;ILjava/math/RoundingMode;)Ljava/math/BigDecimal;
astore 6
start local 6 19: aload 0
aconst_null
aload 6
invokevirtual org.hsqldb.types.NumberType.convertToTypeLimits:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 6 end local 5 end local 4 20: StackMap locals:
StackMap stack:
aload 2
checkcast java.lang.Number
invokevirtual java.lang.Number.intValue:()I
istore 4
start local 4 21: aload 3
checkcast java.lang.Number
invokevirtual java.lang.Number.intValue:()I
istore 5
start local 5 22: iload 5
ifne 24
23: sipush 3432
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
24: StackMap locals: int int
StackMap stack:
iload 4
iload 5
idiv
invokestatic org.hsqldb.map.ValuePool.getInt:(I)Ljava/lang/Integer;
areturn
end local 5 end local 4 25: StackMap locals:
StackMap stack:
aload 2
checkcast java.lang.Number
invokevirtual java.lang.Number.longValue:()J
lstore 4
start local 4 26: aload 3
checkcast java.lang.Number
invokevirtual java.lang.Number.longValue:()J
lstore 6
start local 6 27: lload 6
lconst_0
lcmp
ifne 29
28: sipush 3432
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
29: StackMap locals: long long
StackMap stack:
lload 4
lload 6
ldiv
invokestatic org.hsqldb.map.ValuePool.getLong:(J)Ljava/lang/Long;
areturn
end local 6 end local 4 30: StackMap locals:
StackMap stack:
sipush 201
ldc "NumberType"
invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lorg/hsqldb/types/NumberType;
0 31 1 session Lorg/hsqldb/Session;
0 31 2 a Ljava/lang/Object;
0 31 3 b Ljava/lang/Object;
4 10 4 ad D
5 10 6 bd D
15 20 4 abd Ljava/math/BigDecimal;
16 20 5 bbd Ljava/math/BigDecimal;
19 20 6 bd Ljava/math/BigDecimal;
21 25 4 ai I
22 25 5 bi I
26 30 4 al J
27 30 6 bl J
MethodParameters:
Name Flags
session
a
b
public java.lang.Object modulo(org.hsqldb.Session, java.lang.Object, java.lang.Object, org.hsqldb.types.Type);
descriptor: (Lorg/hsqldb/Session;Ljava/lang/Object;Ljava/lang/Object;Lorg/hsqldb/types/Type;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 4
invokevirtual org.hsqldb.types.Type.isNumberType:()Z
ifne 2
1: sipush 5561
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 0
getfield org.hsqldb.types.NumberType.scale:I
invokevirtual org.hsqldb.types.NumberType.truncate:(Ljava/lang/Object;I)Ljava/lang/Object;
astore 2
3: aload 4
checkcast org.hsqldb.types.NumberType
aload 3
aload 4
getfield org.hsqldb.types.Type.scale:I
invokevirtual org.hsqldb.types.NumberType.truncate:(Ljava/lang/Object;I)Ljava/lang/Object;
astore 3
4: aload 0
aconst_null
aload 2
aload 3
invokevirtual org.hsqldb.types.NumberType.divide:(Lorg/hsqldb/Session;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
astore 5
start local 5 5: aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
tableswitch { // 2 - 8
2: 6
3: 6
4: 7
5: 7
6: 6
7: 6
8: 6
default: 7
}
6: StackMap locals: java.lang.Object
StackMap stack:
aload 0
aload 5
iconst_0
invokevirtual org.hsqldb.types.NumberType.truncate:(Ljava/lang/Object;I)Ljava/lang/Object;
astore 5
7: StackMap locals:
StackMap stack:
aload 0
aload 5
aload 3
invokevirtual org.hsqldb.types.NumberType.multiply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
astore 5
8: aload 0
aload 1
aload 2
aload 5
aload 0
invokevirtual org.hsqldb.types.NumberType.subtract:(Lorg/hsqldb/Session;Ljava/lang/Object;Ljava/lang/Object;Lorg/hsqldb/types/Type;)Ljava/lang/Object;
astore 5
9: aload 4
aconst_null
aload 5
aload 0
invokevirtual org.hsqldb.types.Type.convertToType:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;Lorg/hsqldb/types/Type;)Ljava/lang/Object;
areturn
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 10 0 this Lorg/hsqldb/types/NumberType;
0 10 1 session Lorg/hsqldb/Session;
0 10 2 a Ljava/lang/Object;
0 10 3 b Ljava/lang/Object;
0 10 4 otherType Lorg/hsqldb/types/Type;
5 10 5 temp Ljava/lang/Object;
MethodParameters:
Name Flags
session
a
b
otherType
public java.lang.Object absolute(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.hsqldb.types.NumberType.isNegative:(Ljava/lang/Object;)Z
ifeq 1
aload 0
aload 1
invokevirtual org.hsqldb.types.NumberType.negate:(Ljava/lang/Object;)Ljava/lang/Object;
goto 2
1: StackMap locals:
StackMap stack:
aload 1
2: StackMap locals:
StackMap stack: java.lang.Object
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/hsqldb/types/NumberType;
0 3 1 a Ljava/lang/Object;
MethodParameters:
Name Flags
a
public java.lang.Object negate(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
lookupswitch { // 9
-6: 6
2: 5
3: 5
4: 14
5: 10
6: 3
7: 3
8: 3
25: 18
default: 22
}
3: StackMap locals:
StackMap stack:
aload 1
checkcast java.lang.Number
invokevirtual java.lang.Number.doubleValue:()D
dneg
dstore 2
start local 2 4: dload 2
invokestatic java.lang.Double.doubleToLongBits:(D)J
invokestatic org.hsqldb.map.ValuePool.getDouble:(J)Ljava/lang/Double;
areturn
end local 2 5: StackMap locals:
StackMap stack:
aload 1
checkcast java.math.BigDecimal
invokevirtual java.math.BigDecimal.negate:()Ljava/math/BigDecimal;
areturn
6: StackMap locals:
StackMap stack:
aload 1
checkcast java.lang.Number
invokevirtual java.lang.Number.intValue:()I
istore 2
start local 2 7: iload 2
bipush -128
if_icmpne 9
8: sipush 3403
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
9: StackMap locals: int
StackMap stack:
iload 2
ineg
invokestatic org.hsqldb.map.ValuePool.getInt:(I)Ljava/lang/Integer;
areturn
end local 2 10: StackMap locals:
StackMap stack:
aload 1
checkcast java.lang.Number
invokevirtual java.lang.Number.intValue:()I
istore 2
start local 2 11: iload 2
sipush -32768
if_icmpne 13
12: sipush 3403
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
13: StackMap locals: int
StackMap stack:
iload 2
ineg
invokestatic org.hsqldb.map.ValuePool.getInt:(I)Ljava/lang/Integer;
areturn
end local 2 14: StackMap locals:
StackMap stack:
aload 1
checkcast java.lang.Number
invokevirtual java.lang.Number.intValue:()I
istore 2
start local 2 15: iload 2
ldc -2147483648
if_icmpne 17
16: sipush 3403
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
17: StackMap locals: int
StackMap stack:
iload 2
ineg
invokestatic org.hsqldb.map.ValuePool.getInt:(I)Ljava/lang/Integer;
areturn
end local 2 18: StackMap locals:
StackMap stack:
aload 1
checkcast java.lang.Number
invokevirtual java.lang.Number.longValue:()J
lstore 2
start local 2 19: lload 2
ldc -9223372036854775808
lcmp
ifne 21
20: sipush 3403
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
21: StackMap locals: long
StackMap stack:
lload 2
lneg
invokestatic org.hsqldb.map.ValuePool.getLong:(J)Ljava/lang/Long;
areturn
end local 2 22: StackMap locals:
StackMap stack:
sipush 201
ldc "NumberType"
invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/hsqldb/types/NumberType;
0 23 1 a Ljava/lang/Object;
4 5 2 ad D
7 10 2 value I
11 14 2 value I
15 18 2 value I
19 22 2 value J
MethodParameters:
Name Flags
a
public int getNumericPrecisionInRadix();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
lookupswitch { // 9
-6: 1
2: 6
3: 6
4: 3
5: 2
6: 5
7: 5
8: 5
25: 4
default: 7
}
1: StackMap locals:
StackMap stack:
bipush 8
ireturn
2: StackMap locals:
StackMap stack:
bipush 16
ireturn
3: StackMap locals:
StackMap stack:
bipush 32
ireturn
4: StackMap locals:
StackMap stack:
bipush 64
ireturn
5: StackMap locals:
StackMap stack:
bipush 64
ireturn
6: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.types.NumberType.precision:J
l2i
ireturn
7: StackMap locals:
StackMap stack:
sipush 201
ldc "NumberType"
invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/hsqldb/types/NumberType;
public org.hsqldb.types.Type getIntegralType();
descriptor: ()Lorg/hsqldb/types/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
tableswitch { // 2 - 8
2: 2
3: 2
4: 5
5: 5
6: 1
7: 1
8: 1
default: 5
}
1: StackMap locals:
StackMap stack:
getstatic org.hsqldb.types.NumberType.SQL_NUMERIC_DEFAULT_INT:Lorg/hsqldb/types/Type;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.types.NumberType.scale:I
ifne 3
aload 0
goto 4
3: StackMap locals:
StackMap stack:
new org.hsqldb.types.NumberType
dup
aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
aload 0
getfield org.hsqldb.types.NumberType.precision:J
iconst_0
invokespecial org.hsqldb.types.NumberType.<init>:(IJI)V
4: StackMap locals:
StackMap stack: org.hsqldb.types.NumberType
areturn
5: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/hsqldb/types/NumberType;
public static boolean isZero(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
instanceof java.math.BigDecimal
ifeq 3
1: aload 0
checkcast java.math.BigDecimal
invokevirtual java.math.BigDecimal.signum:()I
ifne 2
iconst_1
ireturn
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Double
ifeq 6
4: aload 0
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
dconst_0
dcmpl
ifeq 5
aload 0
checkcast java.lang.Double
invokevirtual java.lang.Double.isNaN:()Z
ifne 5
iconst_0
ireturn
StackMap locals:
StackMap stack:
5: iconst_1
ireturn
6: StackMap locals:
StackMap stack:
aload 0
checkcast java.lang.Number
invokevirtual java.lang.Number.longValue:()J
lconst_0
lcmp
ifne 7
iconst_1
ireturn
StackMap locals:
StackMap stack:
7: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 a Ljava/lang/Object;
MethodParameters:
Name Flags
a
public boolean isNegative(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 0
aload 1
invokevirtual org.hsqldb.types.NumberType.compareToZero:(Ljava/lang/Object;)I
ifge 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/hsqldb/types/NumberType;
0 2 1 a Ljava/lang/Object;
MethodParameters:
Name Flags
a
public int compareToZero(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, 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
getfield org.hsqldb.types.NumberType.typeCode:I
lookupswitch { // 9
-6: 9
2: 8
3: 8
4: 9
5: 9
6: 3
7: 3
8: 3
25: 14
default: 19
}
3: StackMap locals:
StackMap stack:
aload 1
checkcast java.lang.Number
invokevirtual java.lang.Number.doubleValue:()D
dstore 2
start local 2 4: dload 2
dconst_0
dcmpl
ifne 5
iconst_0
goto 7
5: StackMap locals: double
StackMap stack:
dload 2
dconst_0
dcmpg
ifge 6
iconst_m1
goto 7
6: StackMap locals:
StackMap stack:
iconst_1
7: StackMap locals:
StackMap stack: int
ireturn
end local 2 8: StackMap locals:
StackMap stack:
aload 1
checkcast java.math.BigDecimal
invokevirtual java.math.BigDecimal.signum:()I
ireturn
9: StackMap locals:
StackMap stack:
aload 1
checkcast java.lang.Number
invokevirtual java.lang.Number.intValue:()I
istore 2
start local 2 10: iload 2
ifne 11
iconst_0
goto 13
11: StackMap locals: int
StackMap stack:
iload 2
ifge 12
iconst_m1
goto 13
12: StackMap locals:
StackMap stack:
iconst_1
13: StackMap locals:
StackMap stack: int
ireturn
end local 2 14: StackMap locals:
StackMap stack:
aload 1
checkcast java.lang.Number
invokevirtual java.lang.Number.longValue:()J
lstore 2
start local 2 15: lload 2
lconst_0
lcmp
ifne 16
iconst_0
goto 18
16: StackMap locals: long
StackMap stack:
lload 2
lconst_0
lcmp
ifge 17
iconst_m1
goto 18
17: StackMap locals:
StackMap stack:
iconst_1
18: StackMap locals:
StackMap stack: int
ireturn
end local 2 19: StackMap locals:
StackMap stack:
sipush 201
ldc "NumberType"
invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/hsqldb/types/NumberType;
0 20 1 a Ljava/lang/Object;
4 8 2 ad D
10 14 2 ai I
15 19 2 al J
MethodParameters:
Name Flags
a
public static long scaledDecimal(java.lang.Object, int);
descriptor: (Ljava/lang/Object;I)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 2
1: lconst_0
lreturn
2: StackMap locals:
StackMap stack:
iload 1
ifne 4
3: lconst_0
lreturn
4: StackMap locals:
StackMap stack:
aload 0
checkcast java.math.BigDecimal
astore 2
start local 2 5: aload 2
invokevirtual java.math.BigDecimal.scale:()I
ifne 7
6: lconst_0
lreturn
7: StackMap locals: java.math.BigDecimal
StackMap stack:
aload 2
iconst_0
getstatic java.math.RoundingMode.FLOOR:Ljava/math/RoundingMode;
invokevirtual java.math.BigDecimal.setScale:(ILjava/math/RoundingMode;)Ljava/math/BigDecimal;
astore 2
8: aload 0
checkcast java.math.BigDecimal
aload 2
invokevirtual java.math.BigDecimal.subtract:(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;
astore 2
9: aload 2
iload 1
invokevirtual java.math.BigDecimal.movePointRight:(I)Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.longValue:()J
lreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 a Ljava/lang/Object;
0 10 1 scale I
5 10 2 value Ljava/math/BigDecimal;
MethodParameters:
Name Flags
a
scale
public static int compareBigDecimalToLongLimits(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
instanceof java.math.BigDecimal
ifeq 3
1: aload 0
checkcast java.math.BigDecimal
invokestatic org.hsqldb.types.NumberType.compareToLongLimits:(Ljava/math/BigDecimal;)I
istore 1
start local 1 2: iload 1
ireturn
end local 1 3: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 value Ljava/lang/Object;
2 3 1 compare I
MethodParameters:
Name Flags
value
public static int compareToLongLimits(java.math.BigDecimal);
descriptor: (Ljava/math/BigDecimal;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.hsqldb.types.NumberType.MIN_LONG:Ljava/math/BigDecimal;
aload 0
invokevirtual java.math.BigDecimal.compareTo:(Ljava/math/BigDecimal;)I
ifle 2
1: iconst_m1
ireturn
2: StackMap locals:
StackMap stack:
getstatic org.hsqldb.types.NumberType.MAX_LONG:Ljava/math/BigDecimal;
aload 0
invokevirtual java.math.BigDecimal.compareTo:(Ljava/math/BigDecimal;)I
ifge 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 value Ljava/math/BigDecimal;
MethodParameters:
Name Flags
value
public static int compareToLongLimits(java.math.BigInteger);
descriptor: (Ljava/math/BigInteger;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.hsqldb.types.NumberType.MIN_LONG_BI:Ljava/math/BigInteger;
aload 0
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
ifle 2
1: iconst_m1
ireturn
2: StackMap locals:
StackMap stack:
getstatic org.hsqldb.types.NumberType.MAX_LONG_BI:Ljava/math/BigInteger;
aload 0
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
ifge 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 value Ljava/math/BigInteger;
MethodParameters:
Name Flags
value
public java.lang.Object ceiling(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
tableswitch { // 2 - 8
2: 7
3: 7
4: 11
5: 11
6: 3
7: 3
8: 3
default: 11
}
3: StackMap locals:
StackMap stack:
aload 1
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
invokestatic java.lang.Math.ceil:(D)D
dstore 2
start local 2 4: dload 2
invokestatic java.lang.Double.isInfinite:(D)Z
ifeq 6
5: sipush 3403
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
6: StackMap locals: double
StackMap stack:
dload 2
invokestatic java.lang.Double.doubleToLongBits:(D)J
invokestatic org.hsqldb.map.ValuePool.getDouble:(J)Ljava/lang/Double;
areturn
end local 2 7: StackMap locals:
StackMap stack:
aload 1
checkcast java.math.BigDecimal
iconst_0
8: getstatic java.math.RoundingMode.CEILING:Ljava/math/RoundingMode;
9: invokevirtual java.math.BigDecimal.setScale:(ILjava/math/RoundingMode;)Ljava/math/BigDecimal;
astore 2
start local 2 10: aload 2
areturn
end local 2 11: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/hsqldb/types/NumberType;
0 12 1 a Ljava/lang/Object;
4 7 2 ad D
10 11 2 value Ljava/math/BigDecimal;
MethodParameters:
Name Flags
a
public java.lang.Object floor(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
tableswitch { // 2 - 8
2: 7
3: 7
4: 11
5: 11
6: 3
7: 3
8: 3
default: 11
}
3: StackMap locals:
StackMap stack:
aload 1
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
invokestatic java.lang.Math.floor:(D)D
dstore 2
start local 2 4: dload 2
invokestatic java.lang.Double.isInfinite:(D)Z
ifeq 6
5: sipush 3403
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
6: StackMap locals: double
StackMap stack:
dload 2
invokestatic java.lang.Double.doubleToLongBits:(D)J
invokestatic org.hsqldb.map.ValuePool.getDouble:(J)Ljava/lang/Double;
areturn
end local 2 7: StackMap locals:
StackMap stack:
aload 1
checkcast java.math.BigDecimal
iconst_0
8: getstatic java.math.RoundingMode.FLOOR:Ljava/math/RoundingMode;
9: invokevirtual java.math.BigDecimal.setScale:(ILjava/math/RoundingMode;)Ljava/math/BigDecimal;
astore 2
start local 2 10: aload 2
areturn
end local 2 11: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/hsqldb/types/NumberType;
0 12 1 a Ljava/lang/Object;
4 7 2 value D
10 11 2 value Ljava/math/BigDecimal;
MethodParameters:
Name Flags
a
public java.lang.Object truncate(java.lang.Object, int);
descriptor: (Ljava/lang/Object;I)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokestatic org.hsqldb.types.NumberType.convertToDecimal:(Ljava/lang/Object;)Ljava/math/BigDecimal;
astore 3
start local 3 3: aload 3
iload 2
getstatic java.math.RoundingMode.DOWN:Ljava/math/RoundingMode;
invokevirtual java.math.BigDecimal.setScale:(ILjava/math/RoundingMode;)Ljava/math/BigDecimal;
astore 3
4: aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
iconst_3
if_icmpeq 5
aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
iconst_2
if_icmpne 6
5: StackMap locals: java.math.BigDecimal
StackMap stack:
aload 3
aload 0
getfield org.hsqldb.types.NumberType.scale:I
getstatic java.math.RoundingMode.DOWN:Ljava/math/RoundingMode;
invokevirtual java.math.BigDecimal.setScale:(ILjava/math/RoundingMode;)Ljava/math/BigDecimal;
astore 3
6: StackMap locals:
StackMap stack:
aload 0
aconst_null
aload 3
invokevirtual org.hsqldb.types.NumberType.convertToDefaultType:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Object;
astore 1
7: aload 0
aconst_null
aload 1
invokevirtual org.hsqldb.types.NumberType.convertToTypeLimits:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/hsqldb/types/NumberType;
0 8 1 a Ljava/lang/Object;
0 8 2 s I
3 8 3 dec Ljava/math/BigDecimal;
MethodParameters:
Name Flags
a
s
public java.lang.Object round(java.lang.Object, int);
descriptor: (Ljava/lang/Object;I)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokestatic org.hsqldb.types.NumberType.convertToDecimal:(Ljava/lang/Object;)Ljava/math/BigDecimal;
astore 3
start local 3 3: aload 0
getfield org.hsqldb.types.NumberType.typeCode:I
tableswitch { // 2 - 8
2: 6
3: 6
4: 6
5: 6
6: 6
7: 6
8: 4
default: 6
}
4: StackMap locals: java.math.BigDecimal
StackMap stack:
aload 3
iload 2
getstatic java.math.RoundingMode.HALF_EVEN:Ljava/math/RoundingMode;
invokevirtual java.math.BigDecimal.setScale:(ILjava/math/RoundingMode;)Ljava/math/BigDecimal;
astore 3
5: goto 8
6: StackMap locals:
StackMap stack:
aload 3
iload 2
getstatic java.math.RoundingMode.HALF_UP:Ljava/math/RoundingMode;
invokevirtual java.math.BigDecimal.setScale:(ILjava/math/RoundingMode;)Ljava/math/BigDecimal;
astore 3
7: aload 3
aload 0
getfield org.hsqldb.types.NumberType.scale:I
getstatic java.math.RoundingMode.DOWN:Ljava/math/RoundingMode;
invokevirtual java.math.BigDecimal.setScale:(ILjava/math/RoundingMode;)Ljava/math/BigDecimal;
astore 3
8: StackMap locals:
StackMap stack:
aload 0
aconst_null
aload 3
invokevirtual org.hsqldb.types.NumberType.convertToDefaultType:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Object;
astore 1
9: aload 0
aconst_null
aload 1
invokevirtual org.hsqldb.types.NumberType.convertToTypeLimits:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/hsqldb/types/NumberType;
0 10 1 a Ljava/lang/Object;
0 10 2 s I
3 10 3 dec Ljava/math/BigDecimal;
MethodParameters:
Name Flags
a
s
public static int compareDouble(double, double);
descriptor: (DD)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 2 0: dload 0
invokestatic java.lang.Double.isNaN:(D)Z
ifeq 4
1: dload 2
invokestatic java.lang.Double.isNaN:(D)Z
ifeq 2
iconst_0
goto 3
2: StackMap locals:
StackMap stack:
iconst_m1
3: StackMap locals:
StackMap stack: int
ireturn
4: StackMap locals:
StackMap stack:
dload 2
invokestatic java.lang.Double.isNaN:(D)Z
ifeq 6
5: iconst_1
ireturn
6: StackMap locals:
StackMap stack:
dload 0
dload 2
invokestatic java.lang.Double.compare:(DD)I
ireturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 value1 D
0 7 2 value2 D
MethodParameters:
Name Flags
value1
value2
public static org.hsqldb.types.NumberType getNumberType(int, long, int);
descriptor: (IJI)Lorg/hsqldb/types/NumberType;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 3 0: iload 0
lookupswitch { // 8
-6: 4
2: 6
3: 6
4: 1
5: 2
7: 5
8: 5
25: 3
default: 7
}
1: StackMap locals:
StackMap stack:
getstatic org.hsqldb.types.NumberType.SQL_INTEGER:Lorg/hsqldb/types/NumberType;
areturn
2: StackMap locals:
StackMap stack:
getstatic org.hsqldb.types.NumberType.SQL_SMALLINT:Lorg/hsqldb/types/NumberType;
areturn
3: StackMap locals:
StackMap stack:
getstatic org.hsqldb.types.NumberType.SQL_BIGINT:Lorg/hsqldb/types/NumberType;
areturn
4: StackMap locals:
StackMap stack:
getstatic org.hsqldb.types.NumberType.TINYINT:Lorg/hsqldb/types/NumberType;
areturn
5: StackMap locals:
StackMap stack:
getstatic org.hsqldb.types.NumberType.SQL_DOUBLE:Lorg/hsqldb/types/NumberType;
areturn
6: StackMap locals:
StackMap stack:
new org.hsqldb.types.NumberType
dup
iload 0
lload 1
iload 3
invokespecial org.hsqldb.types.NumberType.<init>:(IJI)V
areturn
7: StackMap locals:
StackMap stack:
sipush 201
ldc "NumberType"
invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 type I
0 8 1 precision J
0 8 3 scale I
MethodParameters:
Name Flags
type
precision
scale
}
SourceFile: "NumberType.java"