public class org.h2.expression.condition.ConditionInParameter extends org.h2.expression.condition.Condition
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.h2.expression.condition.ConditionInParameter
super_class: org.h2.expression.condition.Condition
{
private final org.h2.engine.Database database;
descriptor: Lorg/h2/engine/Database;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private org.h2.expression.Expression left;
descriptor: Lorg/h2/expression/Expression;
flags: (0x0002) ACC_PRIVATE
private final org.h2.expression.Parameter parameter;
descriptor: Lorg/h2/expression/Parameter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static org.h2.value.Value getValue(org.h2.engine.Database, org.h2.value.Value, org.h2.value.Value);
descriptor: (Lorg/h2/engine/Database;Lorg/h2/value/Value;Lorg/h2/value/Value;)Lorg/h2/value/Value;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=9, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: aload 2
invokevirtual org.h2.value.Value.containsNull:()Z
ifeq 4
2: iconst_1
istore 3
3: goto 26
StackMap locals: int
StackMap stack:
4: aload 2
invokevirtual org.h2.value.Value.getValueType:()I
bipush 18
if_icmpne 16
5: aload 2
invokevirtual org.h2.value.Value.getResult:()Lorg/h2/result/ResultInterface;
astore 4
start local 4 6: goto 14
7: StackMap locals: org.h2.result.ResultInterface
StackMap stack:
aload 4
invokeinterface org.h2.result.ResultInterface.currentRow:()[Lorg/h2/value/Value;
iconst_0
aaload
astore 5
start local 5 8: aload 0
aload 1
aload 5
iconst_0
invokestatic org.h2.expression.condition.Comparison.compare:(Lorg/h2/engine/Database;Lorg/h2/value/Value;Lorg/h2/value/Value;I)Lorg/h2/value/Value;
astore 6
start local 6 9: aload 6
getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
if_acmpne 12
10: iconst_1
istore 3
11: goto 14
StackMap locals: org.h2.value.Value org.h2.value.Value
StackMap stack:
12: aload 6
getstatic org.h2.value.ValueBoolean.TRUE:Lorg/h2/value/ValueBoolean;
if_acmpne 14
13: aload 6
areturn
end local 6 end local 5 14: StackMap locals:
StackMap stack:
aload 4
invokeinterface org.h2.result.ResultInterface.next:()Z
ifne 7
end local 4 15: goto 26
16: StackMap locals:
StackMap stack:
aload 2
bipush 17
invokevirtual org.h2.value.Value.convertTo:(I)Lorg/h2/value/Value;
checkcast org.h2.value.ValueArray
invokevirtual org.h2.value.ValueArray.getList:()[Lorg/h2/value/Value;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 25
StackMap locals: org.h2.engine.Database org.h2.value.Value org.h2.value.Value int top int int org.h2.value.Value[]
StackMap stack:
17: aload 7
iload 5
aaload
astore 4
start local 4 18: aload 0
aload 1
aload 4
iconst_0
invokestatic org.h2.expression.condition.Comparison.compare:(Lorg/h2/engine/Database;Lorg/h2/value/Value;Lorg/h2/value/Value;I)Lorg/h2/value/Value;
astore 8
start local 8 19: aload 8
getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
if_acmpne 22
20: iconst_1
istore 3
21: goto 24
StackMap locals: org.h2.engine.Database org.h2.value.Value org.h2.value.Value int org.h2.value.Value int int org.h2.value.Value[] org.h2.value.Value
StackMap stack:
22: aload 8
getstatic org.h2.value.ValueBoolean.TRUE:Lorg/h2/value/ValueBoolean;
if_acmpne 24
23: aload 8
areturn
end local 8 end local 4 24: StackMap locals: org.h2.engine.Database org.h2.value.Value org.h2.value.Value int top int int org.h2.value.Value[]
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
25: iload 5
iload 6
if_icmplt 17
26: StackMap locals: org.h2.engine.Database org.h2.value.Value org.h2.value.Value int
StackMap stack:
iload 3
ifeq 28
27: getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
areturn
28: StackMap locals:
StackMap stack:
getstatic org.h2.value.ValueBoolean.FALSE:Lorg/h2/value/ValueBoolean;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 database Lorg/h2/engine/Database;
0 29 1 l Lorg/h2/value/Value;
0 29 2 value Lorg/h2/value/Value;
1 29 3 hasNull Z
6 15 4 ri Lorg/h2/result/ResultInterface;
8 14 5 r Lorg/h2/value/Value;
9 14 6 cmp Lorg/h2/value/Value;
18 24 4 r Lorg/h2/value/Value;
19 24 8 cmp Lorg/h2/value/Value;
MethodParameters:
Name Flags
database
l
value
public void <init>(org.h2.engine.Database, org.h2.expression.Expression, org.h2.expression.Parameter);
descriptor: (Lorg/h2/engine/Database;Lorg/h2/expression/Expression;Lorg/h2/expression/Parameter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial org.h2.expression.condition.Condition.<init>:()V
1: aload 0
aload 1
putfield org.h2.expression.condition.ConditionInParameter.database:Lorg/h2/engine/Database;
2: aload 0
aload 2
putfield org.h2.expression.condition.ConditionInParameter.left:Lorg/h2/expression/Expression;
3: aload 0
aload 3
putfield org.h2.expression.condition.ConditionInParameter.parameter:Lorg/h2/expression/Parameter;
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/h2/expression/condition/ConditionInParameter;
0 5 1 database Lorg/h2/engine/Database;
0 5 2 left Lorg/h2/expression/Expression;
0 5 3 parameter Lorg/h2/expression/Parameter;
MethodParameters:
Name Flags
database
left
parameter
public org.h2.value.Value getValue(org.h2.engine.Session);
descriptor: (Lorg/h2/engine/Session;)Lorg/h2/value/Value;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.expression.condition.ConditionInParameter.left:Lorg/h2/expression/Expression;
aload 1
invokevirtual org.h2.expression.Expression.getValue:(Lorg/h2/engine/Session;)Lorg/h2/value/Value;
astore 2
start local 2 1: aload 2
getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
if_acmpne 3
2: aload 2
areturn
3: StackMap locals: org.h2.value.Value
StackMap stack:
aload 0
getfield org.h2.expression.condition.ConditionInParameter.database:Lorg/h2/engine/Database;
aload 2
aload 0
getfield org.h2.expression.condition.ConditionInParameter.parameter:Lorg/h2/expression/Parameter;
aload 1
invokevirtual org.h2.expression.Parameter.getValue:(Lorg/h2/engine/Session;)Lorg/h2/value/Value;
invokestatic org.h2.expression.condition.ConditionInParameter.getValue:(Lorg/h2/engine/Database;Lorg/h2/value/Value;Lorg/h2/value/Value;)Lorg/h2/value/Value;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/h2/expression/condition/ConditionInParameter;
0 4 1 session Lorg/h2/engine/Session;
1 4 2 l Lorg/h2/value/Value;
MethodParameters:
Name Flags
session
public void mapColumns(org.h2.table.ColumnResolver, int, int);
descriptor: (Lorg/h2/table/ColumnResolver;II)V
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 0
getfield org.h2.expression.condition.ConditionInParameter.left:Lorg/h2/expression/Expression;
aload 1
iload 2
iload 3
invokevirtual org.h2.expression.Expression.mapColumns:(Lorg/h2/table/ColumnResolver;II)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/expression/condition/ConditionInParameter;
0 2 1 resolver Lorg/h2/table/ColumnResolver;
0 2 2 level I
0 2 3 state I
MethodParameters:
Name Flags
resolver
level
state
public org.h2.expression.Expression optimize(org.h2.engine.Session);
descriptor: (Lorg/h2/engine/Session;)Lorg/h2/expression/Expression;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield org.h2.expression.condition.ConditionInParameter.left:Lorg/h2/expression/Expression;
aload 1
invokevirtual org.h2.expression.Expression.optimize:(Lorg/h2/engine/Session;)Lorg/h2/expression/Expression;
putfield org.h2.expression.condition.ConditionInParameter.left:Lorg/h2/expression/Expression;
1: aload 0
getfield org.h2.expression.condition.ConditionInParameter.left:Lorg/h2/expression/Expression;
invokestatic org.h2.expression.ValueExpression.getNull:()Lorg/h2/expression/ValueExpression;
if_acmpne 3
2: aload 0
getfield org.h2.expression.condition.ConditionInParameter.left:Lorg/h2/expression/Expression;
areturn
3: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/h2/expression/condition/ConditionInParameter;
0 4 1 session Lorg/h2/engine/Session;
MethodParameters:
Name Flags
session
public void createIndexConditions(org.h2.engine.Session, org.h2.table.TableFilter);
descriptor: (Lorg/h2/engine/Session;Lorg/h2/table/TableFilter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.h2.expression.condition.ConditionInParameter.left:Lorg/h2/expression/Expression;
instanceof org.h2.expression.ExpressionColumn
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.expression.condition.ConditionInParameter.left:Lorg/h2/expression/Expression;
checkcast org.h2.expression.ExpressionColumn
astore 3
start local 3 3: aload 2
aload 3
invokevirtual org.h2.expression.ExpressionColumn.getTableFilter:()Lorg/h2/table/TableFilter;
if_acmpeq 5
4: return
5: StackMap locals: org.h2.expression.ExpressionColumn
StackMap stack:
aload 2
aload 3
new org.h2.expression.condition.ConditionInParameter$ParameterList
dup
aload 0
getfield org.h2.expression.condition.ConditionInParameter.parameter:Lorg/h2/expression/Parameter;
invokespecial org.h2.expression.condition.ConditionInParameter$ParameterList.<init>:(Lorg/h2/expression/Parameter;)V
invokestatic org.h2.index.IndexCondition.getInList:(Lorg/h2/expression/ExpressionColumn;Ljava/util/List;)Lorg/h2/index/IndexCondition;
invokevirtual org.h2.table.TableFilter.addIndexCondition:(Lorg/h2/index/IndexCondition;)V
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/h2/expression/condition/ConditionInParameter;
0 7 1 session Lorg/h2/engine/Session;
0 7 2 filter Lorg/h2/table/TableFilter;
3 7 3 l Lorg/h2/expression/ExpressionColumn;
MethodParameters:
Name Flags
session
filter
public void setEvaluatable(org.h2.table.TableFilter, boolean);
descriptor: (Lorg/h2/table/TableFilter;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.h2.expression.condition.ConditionInParameter.left:Lorg/h2/expression/Expression;
aload 1
iload 2
invokevirtual org.h2.expression.Expression.setEvaluatable:(Lorg/h2/table/TableFilter;Z)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/expression/condition/ConditionInParameter;
0 2 1 tableFilter Lorg/h2/table/TableFilter;
0 2 2 b Z
MethodParameters:
Name Flags
tableFilter
b
public java.lang.StringBuilder getSQL(java.lang.StringBuilder, boolean);
descriptor: (Ljava/lang/StringBuilder;Z)Ljava/lang/StringBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
bipush 40
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
1: aload 0
getfield org.h2.expression.condition.ConditionInParameter.left:Lorg/h2/expression/Expression;
aload 1
iload 2
invokevirtual org.h2.expression.Expression.getSQL:(Ljava/lang/StringBuilder;Z)Ljava/lang/StringBuilder;
ldc " = ANY("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: aload 0
getfield org.h2.expression.condition.ConditionInParameter.parameter:Lorg/h2/expression/Parameter;
aload 1
iload 2
invokevirtual org.h2.expression.Parameter.getSQL:(Ljava/lang/StringBuilder;Z)Ljava/lang/StringBuilder;
ldc "))"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/h2/expression/condition/ConditionInParameter;
0 3 1 builder Ljava/lang/StringBuilder;
0 3 2 alwaysQuote Z
MethodParameters:
Name Flags
builder
alwaysQuote
public void updateAggregate(org.h2.engine.Session, int);
descriptor: (Lorg/h2/engine/Session;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.h2.expression.condition.ConditionInParameter.left:Lorg/h2/expression/Expression;
aload 1
iload 2
invokevirtual org.h2.expression.Expression.updateAggregate:(Lorg/h2/engine/Session;I)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/expression/condition/ConditionInParameter;
0 2 1 session Lorg/h2/engine/Session;
0 2 2 stage I
MethodParameters:
Name Flags
session
stage
public boolean isEverything(org.h2.expression.ExpressionVisitor);
descriptor: (Lorg/h2/expression/ExpressionVisitor;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.expression.condition.ConditionInParameter.left:Lorg/h2/expression/Expression;
aload 1
invokevirtual org.h2.expression.Expression.isEverything:(Lorg/h2/expression/ExpressionVisitor;)Z
ifeq 1
aload 0
getfield org.h2.expression.condition.ConditionInParameter.parameter:Lorg/h2/expression/Parameter;
aload 1
invokevirtual org.h2.expression.Parameter.isEverything:(Lorg/h2/expression/ExpressionVisitor;)Z
ifeq 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/h2/expression/condition/ConditionInParameter;
0 2 1 visitor Lorg/h2/expression/ExpressionVisitor;
MethodParameters:
Name Flags
visitor
public int getCost();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.expression.condition.ConditionInParameter.left:Lorg/h2/expression/Expression;
invokevirtual org.h2.expression.Expression.getCost:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/expression/condition/ConditionInParameter;
public org.h2.value.TypeInfo getType();
descriptor: ()Lorg/h2/value/TypeInfo;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial org.h2.expression.condition.Condition.getType:()Lorg/h2/value/TypeInfo;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "ConditionInParameter.java"
NestMembers:
org.h2.expression.condition.ConditionInParameter$ParameterList
InnerClasses:
private final ParameterList = org.h2.expression.condition.ConditionInParameter$ParameterList of org.h2.expression.condition.ConditionInParameter