public class org.h2.expression.ExpressionList extends org.h2.expression.Expression
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.h2.expression.ExpressionList
super_class: org.h2.expression.Expression
{
private final org.h2.expression.Expression[] list;
descriptor: [Lorg/h2/expression/Expression;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean isArray;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(org.h2.expression.Expression[], boolean);
descriptor: ([Lorg/h2/expression/Expression;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial org.h2.expression.Expression.<init>:()V
1: aload 0
aload 1
putfield org.h2.expression.ExpressionList.list:[Lorg/h2/expression/Expression;
2: aload 0
iload 2
putfield org.h2.expression.ExpressionList.isArray:Z
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/h2/expression/ExpressionList;
0 4 1 list [Lorg/h2/expression/Expression;
0 4 2 isArray Z
MethodParameters:
Name Flags
list
isArray
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=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.expression.ExpressionList.list:[Lorg/h2/expression/Expression;
arraylength
anewarray org.h2.value.Value
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 5
3: StackMap locals: org.h2.value.Value[] int
StackMap stack:
aload 2
iload 3
aload 0
getfield org.h2.expression.ExpressionList.list:[Lorg/h2/expression/Expression;
iload 3
aaload
aload 1
invokevirtual org.h2.expression.Expression.getValue:(Lorg/h2/engine/Session;)Lorg/h2/value/Value;
aastore
4: iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
aload 0
getfield org.h2.expression.ExpressionList.list:[Lorg/h2/expression/Expression;
arraylength
if_icmplt 3
end local 3 6: aload 0
getfield org.h2.expression.ExpressionList.isArray:Z
ifeq 7
aload 2
invokestatic org.h2.value.ValueArray.get:([Lorg/h2/value/Value;)Lorg/h2/value/ValueArray;
goto 8
StackMap locals:
StackMap stack:
7: aload 2
invokestatic org.h2.value.ValueRow.get:([Lorg/h2/value/Value;)Lorg/h2/value/ValueRow;
StackMap locals:
StackMap stack: org.h2.value.ValueCollectionBase
8: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/h2/expression/ExpressionList;
0 9 1 session Lorg/h2/engine/Session;
1 9 2 v [Lorg/h2/value/Value;
2 6 3 i I
MethodParameters:
Name Flags
session
public org.h2.value.TypeInfo getType();
descriptor: ()Lorg/h2/value/TypeInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.expression.ExpressionList.isArray:Z
ifeq 1
getstatic org.h2.value.TypeInfo.TYPE_ARRAY:Lorg/h2/value/TypeInfo;
goto 2
StackMap locals:
StackMap stack:
1: getstatic org.h2.value.TypeInfo.TYPE_ROW:Lorg/h2/value/TypeInfo;
StackMap locals:
StackMap stack: org.h2.value.TypeInfo
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/h2/expression/ExpressionList;
public void mapColumns(org.h2.table.ColumnResolver, int, int);
descriptor: (Lorg/h2/table/ColumnResolver;II)V
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 0
getfield org.h2.expression.ExpressionList.list:[Lorg/h2/expression/Expression;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 4
StackMap locals: org.h2.expression.ExpressionList org.h2.table.ColumnResolver int int top int int org.h2.expression.Expression[]
StackMap stack:
1: aload 7
iload 5
aaload
astore 4
start local 4 2: aload 4
aload 1
iload 2
iload 3
invokevirtual org.h2.expression.Expression.mapColumns:(Lorg/h2/table/ColumnResolver;II)V
end local 4 3: iinc 5 1
StackMap locals:
StackMap stack:
4: iload 5
iload 6
if_icmplt 1
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/h2/expression/ExpressionList;
0 6 1 resolver Lorg/h2/table/ColumnResolver;
0 6 2 level I
0 6 3 state I
2 3 4 e Lorg/h2/expression/Expression;
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=5, args_size=2
start local 0 start local 1 0: iconst_1
istore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 8
3: StackMap locals: int int
StackMap stack:
aload 0
getfield org.h2.expression.ExpressionList.list:[Lorg/h2/expression/Expression;
iload 3
aaload
aload 1
invokevirtual org.h2.expression.Expression.optimize:(Lorg/h2/engine/Session;)Lorg/h2/expression/Expression;
astore 4
start local 4 4: aload 4
invokevirtual org.h2.expression.Expression.isConstant:()Z
ifne 6
5: iconst_0
istore 2
6: StackMap locals: org.h2.expression.Expression
StackMap stack:
aload 0
getfield org.h2.expression.ExpressionList.list:[Lorg/h2/expression/Expression;
iload 3
aload 4
aastore
end local 4 7: iinc 3 1
StackMap locals:
StackMap stack:
8: iload 3
aload 0
getfield org.h2.expression.ExpressionList.list:[Lorg/h2/expression/Expression;
arraylength
if_icmplt 3
end local 3 9: iload 2
ifeq 11
10: aload 0
aload 1
invokevirtual org.h2.expression.ExpressionList.getValue:(Lorg/h2/engine/Session;)Lorg/h2/value/Value;
invokestatic org.h2.expression.ValueExpression.get:(Lorg/h2/value/Value;)Lorg/h2/expression/ValueExpression;
areturn
11: StackMap locals:
StackMap stack:
aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/h2/expression/ExpressionList;
0 12 1 session Lorg/h2/engine/Session;
1 12 2 allConst Z
2 9 3 i I
4 7 4 e Lorg/h2/expression/Expression;
MethodParameters:
Name Flags
session
public void setEvaluatable(org.h2.table.TableFilter, boolean);
descriptor: (Lorg/h2/table/TableFilter;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.h2.expression.ExpressionList.list:[Lorg/h2/expression/Expression;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 4
StackMap locals: org.h2.expression.ExpressionList org.h2.table.TableFilter int top int int org.h2.expression.Expression[]
StackMap stack:
1: aload 6
iload 4
aaload
astore 3
start local 3 2: aload 3
aload 1
iload 2
invokevirtual org.h2.expression.Expression.setEvaluatable:(Lorg/h2/table/TableFilter;Z)V
end local 3 3: iinc 4 1
StackMap locals:
StackMap stack:
4: iload 4
iload 5
if_icmplt 1
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/h2/expression/ExpressionList;
0 6 1 tableFilter Lorg/h2/table/TableFilter;
0 6 2 b Z
2 3 3 e Lorg/h2/expression/Expression;
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
aload 0
getfield org.h2.expression.ExpressionList.isArray:Z
ifeq 1
ldc "ARRAY ["
goto 2
StackMap locals:
StackMap stack: java.lang.StringBuilder
1: ldc "ROW ("
StackMap locals: org.h2.expression.ExpressionList java.lang.StringBuilder int
StackMap stack: java.lang.StringBuilder java.lang.String
2: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
3: aload 1
aload 0
getfield org.h2.expression.ExpressionList.list:[Lorg/h2/expression/Expression;
iload 2
invokestatic org.h2.expression.ExpressionList.writeExpressions:(Ljava/lang/StringBuilder;[Lorg/h2/expression/Expression;Z)V
4: aload 1
aload 0
getfield org.h2.expression.ExpressionList.isArray:Z
ifeq 5
bipush 93
goto 6
StackMap locals:
StackMap stack: java.lang.StringBuilder
5: bipush 41
StackMap locals: org.h2.expression.ExpressionList java.lang.StringBuilder int
StackMap stack: java.lang.StringBuilder int
6: invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/h2/expression/ExpressionList;
0 7 1 builder Ljava/lang/StringBuilder;
0 7 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=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.h2.expression.ExpressionList.list:[Lorg/h2/expression/Expression;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 4
StackMap locals: org.h2.expression.ExpressionList org.h2.engine.Session int top int int org.h2.expression.Expression[]
StackMap stack:
1: aload 6
iload 4
aaload
astore 3
start local 3 2: aload 3
aload 1
iload 2
invokevirtual org.h2.expression.Expression.updateAggregate:(Lorg/h2/engine/Session;I)V
end local 3 3: iinc 4 1
StackMap locals:
StackMap stack:
4: iload 4
iload 5
if_icmplt 1
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/h2/expression/ExpressionList;
0 6 1 session Lorg/h2/engine/Session;
0 6 2 stage I
2 3 3 e Lorg/h2/expression/Expression;
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=6, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.expression.ExpressionList.list:[Lorg/h2/expression/Expression;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 5
StackMap locals: org.h2.expression.ExpressionList org.h2.expression.ExpressionVisitor top int int org.h2.expression.Expression[]
StackMap stack:
1: aload 5
iload 3
aaload
astore 2
start local 2 2: aload 2
aload 1
invokevirtual org.h2.expression.Expression.isEverything:(Lorg/h2/expression/ExpressionVisitor;)Z
ifne 4
3: iconst_0
ireturn
end local 2 4: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
iload 4
if_icmplt 1
6: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/h2/expression/ExpressionList;
0 7 1 visitor Lorg/h2/expression/ExpressionVisitor;
2 4 2 e Lorg/h2/expression/Expression;
MethodParameters:
Name Flags
visitor
public int getCost();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=1
start local 0 0: iconst_1
istore 1
start local 1 1: aload 0
getfield org.h2.expression.ExpressionList.list:[Lorg/h2/expression/Expression;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 5
StackMap locals: org.h2.expression.ExpressionList int top int int org.h2.expression.Expression[]
StackMap stack:
2: aload 5
iload 3
aaload
astore 2
start local 2 3: iload 1
aload 2
invokevirtual org.h2.expression.Expression.getCost:()I
iadd
istore 1
end local 2 4: iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
iload 4
if_icmplt 2
6: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/h2/expression/ExpressionList;
1 7 1 cost I
3 4 2 e Lorg/h2/expression/Expression;
public org.h2.expression.Expression[] getExpressionColumns(org.h2.engine.Session);
descriptor: (Lorg/h2/engine/Session;)[Lorg/h2/expression/Expression;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.expression.ExpressionList.list:[Lorg/h2/expression/Expression;
arraylength
anewarray org.h2.expression.ExpressionColumn
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 7
3: StackMap locals: org.h2.expression.ExpressionColumn[] int
StackMap stack:
aload 0
getfield org.h2.expression.ExpressionList.list:[Lorg/h2/expression/Expression;
iload 3
aaload
astore 4
start local 4 4: new org.h2.table.Column
dup
new java.lang.StringBuilder
dup
ldc "C"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
iconst_1
iadd
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
invokevirtual org.h2.expression.Expression.getType:()Lorg/h2/value/TypeInfo;
invokespecial org.h2.table.Column.<init>:(Ljava/lang/String;Lorg/h2/value/TypeInfo;)V
astore 5
start local 5 5: aload 2
iload 3
new org.h2.expression.ExpressionColumn
dup
aload 1
invokevirtual org.h2.engine.Session.getDatabase:()Lorg/h2/engine/Database;
aload 5
invokespecial org.h2.expression.ExpressionColumn.<init>:(Lorg/h2/engine/Database;Lorg/h2/table/Column;)V
aastore
end local 5 end local 4 6: iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
aload 0
getfield org.h2.expression.ExpressionList.list:[Lorg/h2/expression/Expression;
arraylength
if_icmplt 3
end local 3 8: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/h2/expression/ExpressionList;
0 9 1 session Lorg/h2/engine/Session;
1 9 2 expr [Lorg/h2/expression/ExpressionColumn;
2 8 3 i I
4 6 4 e Lorg/h2/expression/Expression;
5 6 5 col Lorg/h2/table/Column;
MethodParameters:
Name Flags
session
public boolean isConstant();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
getfield org.h2.expression.ExpressionList.list:[Lorg/h2/expression/Expression;
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 5
StackMap locals: org.h2.expression.ExpressionList top int int org.h2.expression.Expression[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: aload 1
invokevirtual org.h2.expression.Expression.isConstant:()Z
ifne 4
3: iconst_0
ireturn
end local 1 4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
iload 3
if_icmplt 1
6: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/h2/expression/ExpressionList;
2 4 1 e Lorg/h2/expression/Expression;
public int getSubexpressionCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.expression.ExpressionList.list:[Lorg/h2/expression/Expression;
arraylength
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/expression/ExpressionList;
public org.h2.expression.Expression getSubexpression(int);
descriptor: (I)Lorg/h2/expression/Expression;
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.ExpressionList.list:[Lorg/h2/expression/Expression;
iload 1
aaload
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/expression/ExpressionList;
0 1 1 index I
MethodParameters:
Name Flags
index
}
SourceFile: "ExpressionList.java"