public class org.hsqldb.ExpressionArithmetic extends org.hsqldb.Expression
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.hsqldb.ExpressionArithmetic
super_class: org.hsqldb.Expression
{
void <init>(int, org.hsqldb.Expression, org.hsqldb.Expression);
descriptor: (ILorg/hsqldb/Expression;Lorg/hsqldb/Expression;)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
invokespecial org.hsqldb.Expression.<init>:(I)V
1: aload 0
iconst_2
anewarray org.hsqldb.Expression
putfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
2: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aload 2
aastore
3: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aload 3
aastore
4: aload 0
getfield org.hsqldb.ExpressionArithmetic.opType:I
tableswitch { // 32 - 36
32: 5
33: 5
34: 5
35: 5
36: 5
default: 6
}
5: StackMap locals: org.hsqldb.ExpressionArithmetic int org.hsqldb.Expression org.hsqldb.Expression
StackMap stack:
return
6: StackMap locals:
StackMap stack:
sipush 201
ldc "Expression"
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 7 0 this Lorg/hsqldb/ExpressionArithmetic;
0 7 1 type I
0 7 2 left Lorg/hsqldb/Expression;
0 7 3 right Lorg/hsqldb/Expression;
MethodParameters:
Name Flags
type
left
right
void <init>(int, org.hsqldb.Expression);
descriptor: (ILorg/hsqldb/Expression;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
invokespecial org.hsqldb.Expression.<init>:(I)V
1: aload 0
iconst_1
anewarray org.hsqldb.Expression
putfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
2: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aload 2
aastore
3: aload 0
getfield org.hsqldb.ExpressionArithmetic.opType:I
tableswitch { // 31 - 31
31: 4
default: 5
}
4: StackMap locals: org.hsqldb.ExpressionArithmetic int org.hsqldb.Expression
StackMap stack:
return
5: StackMap locals:
StackMap stack:
sipush 201
ldc "Expression"
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 6 0 this Lorg/hsqldb/ExpressionArithmetic;
0 6 1 type I
0 6 2 e Lorg/hsqldb/Expression;
MethodParameters:
Name Flags
type
e
public java.lang.String getSQL();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
bipush 64
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 1
start local 1 1: aload 0
getfield org.hsqldb.ExpressionArithmetic.opType:I
tableswitch { // 1 - 1
1: 2
default: 7
}
2: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.valueData:Ljava/lang/Object;
ifnonnull 4
3: ldc "NULL"
areturn
4: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.dataType:Lorg/hsqldb/types/Type;
ifnonnull 6
5: sipush 201
ldc "Expression"
invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.dataType:Lorg/hsqldb/types/Type;
aload 0
getfield org.hsqldb.ExpressionArithmetic.valueData:Ljava/lang/Object;
invokevirtual org.hsqldb.types.Type.convertToSQLString:(Ljava/lang/Object;)Ljava/lang/String;
areturn
7: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
arraylength
ifle 8
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
goto 9
8: StackMap locals:
StackMap stack:
aconst_null
9: StackMap locals:
StackMap stack: org.hsqldb.Expression
invokestatic org.hsqldb.ExpressionArithmetic.getContextSQL:(Lorg/hsqldb/Expression;)Ljava/lang/String;
astore 2
start local 2 10: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
arraylength
iconst_1
if_icmple 11
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
goto 12
11: StackMap locals: java.lang.String
StackMap stack:
aconst_null
12: StackMap locals:
StackMap stack: org.hsqldb.Expression
invokestatic org.hsqldb.ExpressionArithmetic.getContextSQL:(Lorg/hsqldb/Expression;)Ljava/lang/String;
astore 3
start local 3 13: aload 0
getfield org.hsqldb.ExpressionArithmetic.opType:I
lookupswitch { // 7
31: 19
32: 21
33: 23
34: 25
35: 27
36: 29
90: 14
default: 31
}
14: StackMap locals: java.lang.String
StackMap stack:
aload 1
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "CAST"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 40
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
15: aload 1
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "AS"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
16: aload 1
aload 0
getfield org.hsqldb.ExpressionArithmetic.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.getTypeDefinition:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
17: aload 1
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
18: goto 32
19: StackMap locals:
StackMap stack:
aload 1
bipush 45
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
20: goto 32
21: StackMap locals:
StackMap stack:
aload 1
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 43
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
22: goto 32
23: StackMap locals:
StackMap stack:
aload 1
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 45
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
24: goto 32
25: StackMap locals:
StackMap stack:
aload 1
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 42
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
26: goto 32
27: StackMap locals:
StackMap stack:
aload 1
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 47
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
28: goto 32
29: StackMap locals:
StackMap stack:
aload 1
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "||"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
30: goto 32
31: StackMap locals:
StackMap stack:
sipush 201
ldc "Expression"
invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
athrow
32: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lorg/hsqldb/ExpressionArithmetic;
1 33 1 sb Ljava/lang/StringBuilder;
10 33 2 left Ljava/lang/String;
13 33 3 right Ljava/lang/String;
protected java.lang.String describe(org.hsqldb.Session, int);
descriptor: (Lorg/hsqldb/Session;I)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: new java.lang.StringBuilder
dup
bipush 64
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 3
start local 3 1: aload 3
bipush 10
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
2: iconst_0
istore 4
start local 4 3: goto 6
4: StackMap locals: java.lang.StringBuilder int
StackMap stack:
aload 3
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
5: iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
iload 2
if_icmplt 4
end local 4 7: aload 0
getfield org.hsqldb.ExpressionArithmetic.opType:I
lookupswitch { // 10
1: 8
25: 13
26: 13
31: 22
32: 24
33: 26
34: 28
35: 30
36: 32
90: 34
default: 37
}
8: StackMap locals:
StackMap stack:
aload 3
ldc "VALUE = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: aload 0
getfield org.hsqldb.ExpressionArithmetic.dataType:Lorg/hsqldb/types/Type;
aload 0
getfield org.hsqldb.ExpressionArithmetic.valueData:Ljava/lang/Object;
invokevirtual org.hsqldb.types.Type.convertToSQLString:(Ljava/lang/Object;)Ljava/lang/String;
10: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
11: aload 3
ldc ", TYPE = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.hsqldb.ExpressionArithmetic.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.getNameString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
12: aload 3
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
13: StackMap locals:
StackMap stack:
aload 3
ldc "VALUELIST "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
14: aload 3
ldc " TYPE = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.hsqldb.ExpressionArithmetic.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.getNameString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
15: iconst_0
istore 4
start local 4 16: goto 20
17: StackMap locals: int
StackMap stack:
aload 3
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iload 4
aaload
aload 1
iload 2
iload 2
iadd
invokevirtual org.hsqldb.Expression.describe:(Lorg/hsqldb/Session;I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
18: aload 3
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
19: iinc 4 1
StackMap locals:
StackMap stack:
20: iload 4
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
arraylength
if_icmplt 17
end local 4 21: goto 37
22: StackMap locals:
StackMap stack:
aload 3
ldc "NEGATE "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
23: goto 37
24: StackMap locals:
StackMap stack:
aload 3
ldc "ADD "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
25: goto 37
26: StackMap locals:
StackMap stack:
aload 3
ldc "SUBTRACT "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
27: goto 37
28: StackMap locals:
StackMap stack:
aload 3
ldc "MULTIPLY "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
29: goto 37
30: StackMap locals:
StackMap stack:
aload 3
ldc "DIVIDE "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
31: goto 37
32: StackMap locals:
StackMap stack:
aload 3
ldc "CONCAT "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
33: goto 37
34: StackMap locals:
StackMap stack:
aload 3
ldc "CAST "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
35: aload 3
aload 0
getfield org.hsqldb.ExpressionArithmetic.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.getTypeDefinition:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
36: aload 3
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
37: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.hsqldb.ExpressionArithmetic.getLeftNode:()Lorg/hsqldb/Expression;
ifnull 41
38: aload 3
ldc " arg_left=["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
39: aload 3
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
aload 1
iload 2
iconst_1
iadd
invokevirtual org.hsqldb.Expression.describe:(Lorg/hsqldb/Session;I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
40: aload 3
bipush 93
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
41: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.hsqldb.ExpressionArithmetic.getRightNode:()Lorg/hsqldb/Expression;
ifnull 45
42: aload 3
ldc " arg_right=["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
43: aload 3
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
aload 1
iload 2
iconst_1
iadd
invokevirtual org.hsqldb.Expression.describe:(Lorg/hsqldb/Session;I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
44: aload 3
bipush 93
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
45: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 46 0 this Lorg/hsqldb/ExpressionArithmetic;
0 46 1 session Lorg/hsqldb/Session;
0 46 2 blanks I
1 46 3 sb Ljava/lang/StringBuilder;
3 7 4 i I
16 21 4 i I
MethodParameters:
Name Flags
session
blanks
public org.hsqldb.lib.HsqlList resolveColumnReferences(org.hsqldb.Session, org.hsqldb.RangeGroup, int, org.hsqldb.RangeGroup[], org.hsqldb.lib.HsqlList, boolean);
descriptor: (Lorg/hsqldb/Session;Lorg/hsqldb/RangeGroup;I[Lorg/hsqldb/RangeGroup;Lorg/hsqldb/lib/HsqlList;Z)Lorg/hsqldb/lib/HsqlList;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
getfield org.hsqldb.ExpressionArithmetic.opType:I
iconst_1
if_icmpne 2
1: aload 5
areturn
2: StackMap locals:
StackMap stack:
iconst_0
istore 7
start local 7 3: goto 11
4: StackMap locals: int
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iload 7
aaload
ifnonnull 6
5: goto 10
6: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iload 7
aaload
aload 1
7: aload 2
iload 3
aload 4
aload 5
8: iload 6
9: invokevirtual org.hsqldb.Expression.resolveColumnReferences:(Lorg/hsqldb/Session;Lorg/hsqldb/RangeGroup;I[Lorg/hsqldb/RangeGroup;Lorg/hsqldb/lib/HsqlList;Z)Lorg/hsqldb/lib/HsqlList;
astore 5
10: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
11: iload 7
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
arraylength
if_icmplt 4
end local 7 12: aload 5
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/hsqldb/ExpressionArithmetic;
0 13 1 session Lorg/hsqldb/Session;
0 13 2 rangeGroup Lorg/hsqldb/RangeGroup;
0 13 3 rangeCount I
0 13 4 rangeGroups [Lorg/hsqldb/RangeGroup;
0 13 5 unresolvedSet Lorg/hsqldb/lib/HsqlList;
0 13 6 acceptsSequences Z
3 12 7 i I
MethodParameters:
Name Flags
session
rangeGroup
rangeCount
rangeGroups
unresolvedSet
acceptsSequences
public void resolveTypes(org.hsqldb.Session, org.hsqldb.Expression);
descriptor: (Lorg/hsqldb/Session;Lorg/hsqldb/Expression;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iload 3
aaload
ifnull 4
3: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iload 3
aaload
aload 1
aload 0
invokevirtual org.hsqldb.Expression.resolveTypes:(Lorg/hsqldb/Session;Lorg/hsqldb/Expression;)V
4: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
arraylength
if_icmplt 2
end local 3 6: aload 0
getfield org.hsqldb.ExpressionArithmetic.opType:I
lookupswitch { // 7
1: 7
31: 8
32: 17
33: 25
34: 25
35: 25
36: 27
default: 29
}
7: StackMap locals:
StackMap stack:
goto 30
8: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
invokevirtual org.hsqldb.Expression.isUnresolvedParam:()Z
ifne 10
9: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
ifnonnull 11
10: StackMap locals:
StackMap stack:
sipush 5567
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
11: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
putfield org.hsqldb.ExpressionArithmetic.dataType:Lorg/hsqldb/types/Type;
12: aload 0
getfield org.hsqldb.ExpressionArithmetic.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.isNumberType:()Z
ifne 14
13: sipush 5563
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
14: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.opType:I
iconst_1
if_icmpne 30
15: aload 0
aload 1
aload 2
invokevirtual org.hsqldb.ExpressionArithmetic.setAsConstantValue:(Lorg/hsqldb/Session;Lorg/hsqldb/Expression;)V
16: goto 30
17: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
ifnull 19
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
18: invokevirtual org.hsqldb.types.Type.isCharacterType:()Z
ifne 22
StackMap locals:
StackMap stack:
19: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
ifnull 25
20: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
21: invokevirtual org.hsqldb.types.Type.isCharacterType:()Z
ifeq 25
22: StackMap locals:
StackMap stack:
aload 0
bipush 36
putfield org.hsqldb.ExpressionArithmetic.opType:I
23: aload 0
aload 1
aload 2
invokevirtual org.hsqldb.ExpressionArithmetic.resolveTypesForConcat:(Lorg/hsqldb/Session;Lorg/hsqldb/Expression;)V
24: goto 30
25: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.hsqldb.ExpressionArithmetic.resolveTypesForArithmetic:(Lorg/hsqldb/Session;Lorg/hsqldb/Expression;)V
26: goto 30
27: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.hsqldb.ExpressionArithmetic.resolveTypesForConcat:(Lorg/hsqldb/Session;Lorg/hsqldb/Expression;)V
28: goto 30
29: StackMap locals:
StackMap stack:
sipush 201
ldc "Expression"
invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
athrow
30: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lorg/hsqldb/ExpressionArithmetic;
0 31 1 session Lorg/hsqldb/Session;
0 31 2 parent Lorg/hsqldb/Expression;
1 6 3 i I
MethodParameters:
Name Flags
session
parent
void resolveTypesForArithmetic(org.hsqldb.Session, org.hsqldb.Expression);
descriptor: (Lorg/hsqldb/Session;Lorg/hsqldb/Expression;)V
flags: (0x0000)
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
invokevirtual org.hsqldb.Expression.isUnresolvedParam:()Z
ifeq 9
1: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
invokevirtual org.hsqldb.Expression.isUnresolvedParam:()Z
ifeq 9
2: aload 2
instanceof org.hsqldb.ExpressionLogical
ifeq 9
3: aload 2
getfield org.hsqldb.Expression.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
astore 3
start local 3 4: aload 3
aload 0
if_acmpne 6
5: aload 2
getfield org.hsqldb.Expression.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
astore 3
6: StackMap locals: org.hsqldb.Expression
StackMap stack:
aload 3
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
ifnull 9
7: aload 3
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.isDateOrTimestampType:()Z
ifeq 9
8: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
aload 3
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
putfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
end local 3 9: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
invokevirtual org.hsqldb.Expression.isUnresolvedParam:()Z
ifeq 13
10: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
invokevirtual org.hsqldb.Expression.isUnresolvedParam:()Z
ifeq 13
11: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getstatic org.hsqldb.types.Type.SQL_INTEGER:Lorg/hsqldb/types/NumberType;
putfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
12: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
getstatic org.hsqldb.types.Type.SQL_INTEGER:Lorg/hsqldb/types/NumberType;
putfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
13: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
ifnonnull 16
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
ifnonnull 16
14: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getstatic org.hsqldb.types.Type.SQL_INTEGER:Lorg/hsqldb/types/NumberType;
putfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
15: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
getstatic org.hsqldb.types.Type.SQL_INTEGER:Lorg/hsqldb/types/NumberType;
putfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
16: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
invokevirtual org.hsqldb.Expression.isUnresolvedParam:()Z
ifeq 60
17: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
ifnonnull 19
18: sipush 5567
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
19: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.isIntervalType:()Z
ifeq 34
20: aload 2
ifnull 34
21: aload 2
getfield org.hsqldb.Expression.opType:I
tableswitch { // 40 - 45
40: 22
41: 22
42: 34
43: 22
44: 22
45: 22
default: 34
}
22: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 23: goto 33
24: StackMap locals: int
StackMap stack:
aload 2
getfield org.hsqldb.Expression.nodes:[Lorg/hsqldb/Expression;
iload 3
aaload
aload 0
if_acmpeq 32
25: aload 2
getfield org.hsqldb.Expression.nodes:[Lorg/hsqldb/Expression;
iload 3
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
ifnull 34
26: aload 2
getfield org.hsqldb.Expression.nodes:[Lorg/hsqldb/Expression;
iload 3
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
27: invokevirtual org.hsqldb.types.Type.isDateTimeType:()Z
ifeq 34
28: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
29: aload 2
getfield org.hsqldb.Expression.nodes:[Lorg/hsqldb/Expression;
iload 3
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
30: putfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
31: goto 34
32: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
33: iload 3
aload 2
getfield org.hsqldb.Expression.nodes:[Lorg/hsqldb/Expression;
arraylength
if_icmplt 24
end local 3 34: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
ifnonnull 57
35: aload 0
getfield org.hsqldb.ExpressionArithmetic.opType:I
tableswitch { // 32 - 33
32: 41
33: 36
default: 57
}
36: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.isIntervalType:()Z
ifeq 57
37: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
38: getstatic org.hsqldb.types.Type.SQL_TIMESTAMP_WITH_TIME_ZONE:Lorg/hsqldb/types/DateTimeType;
39: putfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
40: goto 57
41: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.isDateTimeType:()Z
ifeq 53
42: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
getfield org.hsqldb.types.Type.typeComparisonGroup:I
43: bipush 91
44: if_icmpne 49
45: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
46: getstatic org.hsqldb.types.Type.SQL_INTERVAL_YEAR_TO_MONTH_MAX_PRECISION:Lorg/hsqldb/types/IntervalType;
47: putfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
48: goto 57
49: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
50: getstatic org.hsqldb.types.Type.SQL_INTERVAL_DAY_TO_SECOND_MAX_PRECISION:Lorg/hsqldb/types/IntervalType;
51: putfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
52: goto 57
StackMap locals:
StackMap stack:
53: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.isIntervalType:()Z
ifeq 57
54: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
55: getstatic org.hsqldb.types.Type.SQL_TIMESTAMP_WITH_TIME_ZONE:Lorg/hsqldb/types/DateTimeType;
56: putfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
57: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
ifnonnull 84
58: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
putfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
59: goto 84
StackMap locals:
StackMap stack:
60: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
invokevirtual org.hsqldb.Expression.isUnresolvedParam:()Z
ifeq 84
61: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
ifnonnull 63
62: sipush 5567
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
63: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.opType:I
tableswitch { // 32 - 35
32: 69
33: 69
34: 64
35: 64
default: 84
}
64: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.isIntervalType:()Z
ifeq 67
65: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
getstatic org.hsqldb.types.Type.SQL_DECIMAL:Lorg/hsqldb/types/NumberType;
putfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
66: goto 84
67: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
putfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
68: goto 84
69: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.isDateTimeType:()Z
ifeq 83
70: aload 0
getfield org.hsqldb.ExpressionArithmetic.dataType:Lorg/hsqldb/types/Type;
ifnull 73
aload 0
getfield org.hsqldb.ExpressionArithmetic.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.isIntervalType:()Z
ifeq 73
71: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
putfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
72: goto 84
StackMap locals:
StackMap stack:
73: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
getfield org.hsqldb.types.Type.typeComparisonGroup:I
74: bipush 91
if_icmpne 79
75: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
76: getstatic org.hsqldb.types.Type.SQL_INTERVAL_YEAR_TO_MONTH_MAX_PRECISION:Lorg/hsqldb/types/IntervalType;
77: putfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
78: goto 84
79: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
80: getstatic org.hsqldb.types.Type.SQL_INTERVAL_DAY_TO_SECOND_MAX_PRECISION:Lorg/hsqldb/types/IntervalType;
81: putfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
82: goto 84
83: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
putfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
84: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
ifnull 85
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
ifnonnull 86
85: StackMap locals:
StackMap stack:
sipush 5567
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
86: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.opType:I
bipush 33
if_icmpne 95
87: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.isDateTimeType:()Z
ifeq 95
88: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.isDateTimeType:()Z
ifeq 95
89: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.isDateTimeTypeWithZone:()Z
90: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.isDateTimeTypeWithZone:()Z
ixor
ifeq 95
91: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.isDateTimeTypeWithZone:()Z
ifeq 93
92: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
new org.hsqldb.ExpressionOp
dup
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
invokespecial org.hsqldb.ExpressionOp.<init>:(Lorg/hsqldb/Expression;)V
aastore
93: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.isDateTimeTypeWithZone:()Z
ifeq 95
94: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
new org.hsqldb.ExpressionOp
dup
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
invokespecial org.hsqldb.ExpressionOp.<init>:(Lorg/hsqldb/Expression;)V
aastore
95: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.dataType:Lorg/hsqldb/types/Type;
ifnull 120
96: aload 0
getfield org.hsqldb.ExpressionArithmetic.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.isIntervalType:()Z
ifeq 134
97: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.isDateTimeType:()Z
ifeq 103
98: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.isDateTimeType:()Z
ifeq 103
99: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
getfield org.hsqldb.types.Type.typeComparisonGroup:I
100: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
getfield org.hsqldb.types.Type.typeComparisonGroup:I
101: if_icmpeq 134
102: sipush 5562
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
103: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
aload 1
104: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
aload 0
getfield org.hsqldb.ExpressionArithmetic.opType:I
105: invokevirtual org.hsqldb.types.Type.getCombinedType:(Lorg/hsqldb/Session;Lorg/hsqldb/types/Type;I)Lorg/hsqldb/types/Type;
astore 3
start local 3 106: aload 3
ifnonnull 108
107: sipush 5562
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
108: StackMap locals: org.hsqldb.types.Type
StackMap stack:
aload 3
invokevirtual org.hsqldb.types.Type.isIntervalType:()Z
ifeq 111
109: aload 3
getfield org.hsqldb.types.Type.typeCode:I
aload 0
getfield org.hsqldb.ExpressionArithmetic.dataType:Lorg/hsqldb/types/Type;
getfield org.hsqldb.types.Type.typeCode:I
if_icmpeq 134
110: sipush 5562
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
111: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.hsqldb.types.Type.isNumberType:()Z
ifeq 119
112: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
new org.hsqldb.ExpressionOp
dup
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
aload 0
getfield org.hsqldb.ExpressionArithmetic.dataType:Lorg/hsqldb/types/Type;
invokespecial org.hsqldb.ExpressionOp.<init>:(Lorg/hsqldb/Expression;Lorg/hsqldb/types/Type;)V
aastore
113: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
new org.hsqldb.ExpressionOp
dup
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
114: aload 0
getfield org.hsqldb.ExpressionArithmetic.dataType:Lorg/hsqldb/types/Type;
invokespecial org.hsqldb.ExpressionOp.<init>:(Lorg/hsqldb/Expression;Lorg/hsqldb/types/Type;)V
115: aastore
116: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
aload 1
aload 0
invokevirtual org.hsqldb.Expression.resolveTypes:(Lorg/hsqldb/Session;Lorg/hsqldb/Expression;)V
117: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
aload 1
aload 0
invokevirtual org.hsqldb.Expression.resolveTypes:(Lorg/hsqldb/Session;Lorg/hsqldb/Expression;)V
118: goto 134
119: StackMap locals:
StackMap stack:
sipush 5562
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
end local 3 120: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
aload 1
121: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
aload 0
getfield org.hsqldb.ExpressionArithmetic.opType:I
122: invokevirtual org.hsqldb.types.Type.getCombinedType:(Lorg/hsqldb/Session;Lorg/hsqldb/types/Type;I)Lorg/hsqldb/types/Type;
putfield org.hsqldb.ExpressionArithmetic.dataType:Lorg/hsqldb/types/Type;
123: aload 0
getfield org.hsqldb.ExpressionArithmetic.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.isDateTimeType:()Z
ifeq 134
124: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.isIntervalType:()Z
ifeq 131
125: aload 0
getfield org.hsqldb.ExpressionArithmetic.opType:I
bipush 32
if_icmpeq 127
126: sipush 5563
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
127: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
astore 3
start local 3 128: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
aastore
129: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aload 3
aastore
end local 3 130: goto 134
StackMap locals:
StackMap stack:
131: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.isNumberType:()Z
ifeq 134
132: aload 1
getfield org.hsqldb.Session.database:Lorg/hsqldb/Database;
getfield org.hsqldb.Database.sqlSyntaxOra:Z
ifne 134
133: sipush 5562
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
134: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.opType:I
iconst_1
if_icmpne 137
135: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
getfield org.hsqldb.Expression.opType:I
iconst_1
if_icmpne 137
136: aload 0
aload 1
aload 2
invokevirtual org.hsqldb.ExpressionArithmetic.setAsConstantValue:(Lorg/hsqldb/Session;Lorg/hsqldb/Expression;)V
137: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 138 0 this Lorg/hsqldb/ExpressionArithmetic;
0 138 1 session Lorg/hsqldb/Session;
0 138 2 parent Lorg/hsqldb/Expression;
4 9 3 e Lorg/hsqldb/Expression;
23 34 3 i I
106 120 3 type Lorg/hsqldb/types/Type;
128 130 3 temp Lorg/hsqldb/Expression;
MethodParameters:
Name Flags
session
parent
void resolveTypesForConcat(org.hsqldb.Session, org.hsqldb.Expression);
descriptor: (Lorg/hsqldb/Session;Lorg/hsqldb/Expression;)V
flags: (0x0000)
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.hsqldb.ExpressionArithmetic.dataType:Lorg/hsqldb/types/Type;
ifnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
invokevirtual org.hsqldb.Expression.isUnresolvedParam:()Z
ifeq 5
3: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
aload 0
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.ExpressionArithmetic.getParameterType:(Lorg/hsqldb/types/Type;)Lorg/hsqldb/types/Type;
putfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
4: goto 7
StackMap locals:
StackMap stack:
5: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
invokevirtual org.hsqldb.Expression.isUnresolvedParam:()Z
ifeq 7
6: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
aload 0
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.ExpressionArithmetic.getParameterType:(Lorg/hsqldb/types/Type;)Lorg/hsqldb/types/Type;
putfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
7: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
ifnonnull 9
8: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getstatic org.hsqldb.types.Type.SQL_VARCHAR_DEFAULT:Lorg/hsqldb/types/CharacterType;
putfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
9: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
ifnonnull 11
10: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
getstatic org.hsqldb.types.Type.SQL_VARCHAR_DEFAULT:Lorg/hsqldb/types/CharacterType;
putfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
11: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.isBinaryType:()Z
12: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.isBinaryType:()Z
ixor
ifeq 14
13: sipush 5563
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
14: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.isArrayType:()Z
ifeq 22
15: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
astore 3
start local 3 16: aload 3
getfield org.hsqldb.Expression.opType:I
bipush 99
if_icmpne 22
17: aload 2
ifnonnull 19
18: sipush 5563
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
19: StackMap locals: org.hsqldb.Expression
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aload 3
invokevirtual org.hsqldb.Expression.getLeftNode:()Lorg/hsqldb/Expression;
aastore
20: aload 3
getfield org.hsqldb.Expression.nodes:[Lorg/hsqldb/Expression;
iconst_0
aload 0
aastore
21: aload 2
aload 0
aload 3
invokevirtual org.hsqldb.Expression.replaceNode:(Lorg/hsqldb/Expression;Lorg/hsqldb/Expression;)V
end local 3 22: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.isArrayType:()Z
23: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.isArrayType:()Z
ixor
ifeq 25
24: sipush 5563
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
25: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.isCharacterType:()Z
ifeq 36
26: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.isCharacterType:()Z
ifne 36
27: aload 1
getfield org.hsqldb.Session.database:Lorg/hsqldb/Database;
getfield org.hsqldb.Database.sqlEnforceTypes:Z
ifeq 29
28: sipush 5562
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
29: StackMap locals:
StackMap stack:
bipush 12
30: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.displaySize:()I
i2l
31: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.getCollation:()Lorg/hsqldb/types/Collation;
32: invokestatic org.hsqldb.types.CharacterType.getCharacterType:(IJLorg/hsqldb/types/Collation;)Lorg/hsqldb/types/CharacterType;
astore 3
start local 3 33: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aload 1
34: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
aload 3
35: invokestatic org.hsqldb.ExpressionOp.getCastExpression:(Lorg/hsqldb/Session;Lorg/hsqldb/Expression;Lorg/hsqldb/types/Type;)Lorg/hsqldb/Expression;
aastore
end local 3 36: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.isCharacterType:()Z
ifeq 47
37: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.isCharacterType:()Z
ifne 47
38: aload 1
getfield org.hsqldb.Session.database:Lorg/hsqldb/Database;
getfield org.hsqldb.Database.sqlEnforceTypes:Z
ifeq 40
39: sipush 5562
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
40: StackMap locals:
StackMap stack:
bipush 12
41: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.displaySize:()I
i2l
42: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.getCollation:()Lorg/hsqldb/types/Collation;
43: invokestatic org.hsqldb.types.CharacterType.getCharacterType:(IJLorg/hsqldb/types/Collation;)Lorg/hsqldb/types/CharacterType;
astore 3
start local 3 44: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aload 1
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
45: aload 3
46: invokestatic org.hsqldb.ExpressionOp.getCastExpression:(Lorg/hsqldb/Session;Lorg/hsqldb/Expression;Lorg/hsqldb/types/Type;)Lorg/hsqldb/Expression;
aastore
end local 3 47: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
aload 1
48: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
bipush 36
49: invokevirtual org.hsqldb.types.Type.getCombinedType:(Lorg/hsqldb/Session;Lorg/hsqldb/types/Type;I)Lorg/hsqldb/types/Type;
putfield org.hsqldb.ExpressionArithmetic.dataType:Lorg/hsqldb/types/Type;
50: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.opType:I
iconst_1
if_icmpne 53
51: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
getfield org.hsqldb.Expression.opType:I
iconst_1
if_icmpne 53
52: aload 0
aload 1
aload 2
invokevirtual org.hsqldb.ExpressionArithmetic.setAsConstantValue:(Lorg/hsqldb/Session;Lorg/hsqldb/Expression;)V
53: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 54 0 this Lorg/hsqldb/ExpressionArithmetic;
0 54 1 session Lorg/hsqldb/Session;
0 54 2 parent Lorg/hsqldb/Expression;
16 22 3 e Lorg/hsqldb/Expression;
33 36 3 newType Lorg/hsqldb/types/Type;
44 47 3 newType Lorg/hsqldb/types/Type;
MethodParameters:
Name Flags
session
parent
private org.hsqldb.types.Type getParameterType(org.hsqldb.types.Type);
descriptor: (Lorg/hsqldb/types/Type;)Lorg/hsqldb/types/Type;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
getfield org.hsqldb.types.Type.typeCode:I
lookupswitch { // 9
1: 3
12: 3
14: 7
15: 7
30: 6
40: 4
50: 8
60: 5
61: 5
default: 9
}
3: StackMap locals:
StackMap stack:
getstatic org.hsqldb.types.Type.SQL_VARCHAR_DEFAULT:Lorg/hsqldb/types/CharacterType;
areturn
4: StackMap locals:
StackMap stack:
getstatic org.hsqldb.types.Type.SQL_CLOB:Lorg/hsqldb/types/ClobType;
areturn
5: StackMap locals:
StackMap stack:
getstatic org.hsqldb.types.Type.SQL_VARBINARY_DEFAULT:Lorg/hsqldb/types/BinaryType;
areturn
6: StackMap locals:
StackMap stack:
getstatic org.hsqldb.types.Type.SQL_BLOB:Lorg/hsqldb/types/BlobType;
areturn
7: StackMap locals:
StackMap stack:
getstatic org.hsqldb.types.Type.SQL_BIT_VARYING_MAX_LENGTH:Lorg/hsqldb/types/BitType;
areturn
8: StackMap locals:
StackMap stack:
aload 1
areturn
9: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/hsqldb/ExpressionArithmetic;
0 10 1 type Lorg/hsqldb/types/Type;
MethodParameters:
Name Flags
type
public java.lang.Object getValue(org.hsqldb.Session);
descriptor: (Lorg/hsqldb/Session;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.hsqldb.ExpressionArithmetic.opType:I
lookupswitch { // 2
1: 1
31: 2
default: 5
}
1: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.valueData:Ljava/lang/Object;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.dataType:Lorg/hsqldb/types/Type;
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
aload 1
3: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
4: invokevirtual org.hsqldb.Expression.getValue:(Lorg/hsqldb/Session;Lorg/hsqldb/types/Type;)Ljava/lang/Object;
invokevirtual org.hsqldb.types.Type.negate:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
5: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
aload 1
invokevirtual org.hsqldb.Expression.getValue:(Lorg/hsqldb/Session;)Ljava/lang/Object;
astore 2
start local 2 6: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
aload 1
invokevirtual org.hsqldb.Expression.getValue:(Lorg/hsqldb/Session;)Ljava/lang/Object;
astore 3
start local 3 7: aload 0
getfield org.hsqldb.ExpressionArithmetic.opType:I
tableswitch { // 32 - 36
32: 8
33: 9
34: 10
35: 11
36: 12
default: 20
}
8: StackMap locals: java.lang.Object java.lang.Object
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.dataType:Lorg/hsqldb/types/Type;
aload 1
aload 2
aload 3
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.add:(Lorg/hsqldb/Session;Ljava/lang/Object;Ljava/lang/Object;Lorg/hsqldb/types/Type;)Ljava/lang/Object;
areturn
9: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.dataType:Lorg/hsqldb/types/Type;
aload 1
aload 2
aload 3
aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_1
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.subtract:(Lorg/hsqldb/Session;Ljava/lang/Object;Ljava/lang/Object;Lorg/hsqldb/types/Type;)Ljava/lang/Object;
areturn
10: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.dataType:Lorg/hsqldb/types/Type;
aload 2
aload 3
invokevirtual org.hsqldb.types.Type.multiply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
areturn
11: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.dataType:Lorg/hsqldb/types/Type;
aload 1
aload 2
aload 3
invokevirtual org.hsqldb.types.Type.divide:(Lorg/hsqldb/Session;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
areturn
12: StackMap locals:
StackMap stack:
aload 1
getfield org.hsqldb.Session.database:Lorg/hsqldb/Database;
getfield org.hsqldb.Database.sqlConcatNulls:Z
ifne 19
13: aload 0
getfield org.hsqldb.ExpressionArithmetic.nodes:[Lorg/hsqldb/Expression;
iconst_0
aaload
getfield org.hsqldb.Expression.dataType:Lorg/hsqldb/types/Type;
invokevirtual org.hsqldb.types.Type.isCharacterType:()Z
ifeq 19
14: aload 2
ifnonnull 17
aload 3
ifnull 17
15: ldc ""
astore 2
16: goto 19
StackMap locals:
StackMap stack:
17: aload 2
ifnull 19
aload 3
ifnonnull 19
18: ldc ""
astore 3
19: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.ExpressionArithmetic.dataType:Lorg/hsqldb/types/Type;
aload 1
aload 2
aload 3
invokevirtual org.hsqldb.types.Type.concat:(Lorg/hsqldb/Session;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
areturn
20: StackMap locals:
StackMap stack:
sipush 201
ldc "Expression"
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 21 0 this Lorg/hsqldb/ExpressionArithmetic;
0 21 1 session Lorg/hsqldb/Session;
6 21 2 a Ljava/lang/Object;
7 21 3 b Ljava/lang/Object;
MethodParameters:
Name Flags
session
}
SourceFile: "ExpressionArithmetic.java"