public class org.h2.expression.ValueExpression extends org.h2.expression.Expression
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.h2.expression.ValueExpression
super_class: org.h2.expression.Expression
{
private static final java.lang.Object NULL;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.Object DEFAULT;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final org.h2.value.Value value;
descriptor: Lorg/h2/value/Value;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new org.h2.expression.ValueExpression
dup
getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
invokespecial org.h2.expression.ValueExpression.<init>:(Lorg/h2/value/Value;)V
putstatic org.h2.expression.ValueExpression.NULL:Ljava/lang/Object;
1: new org.h2.expression.ValueExpression
dup
getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
invokespecial org.h2.expression.ValueExpression.<init>:(Lorg/h2/value/Value;)V
putstatic org.h2.expression.ValueExpression.DEFAULT:Ljava/lang/Object;
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(org.h2.value.Value);
descriptor: (Lorg/h2/value/Value;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.h2.expression.Expression.<init>:()V
1: aload 0
aload 1
putfield org.h2.expression.ValueExpression.value:Lorg/h2/value/Value;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/h2/expression/ValueExpression;
0 3 1 value Lorg/h2/value/Value;
MethodParameters:
Name Flags
value
public static org.h2.expression.ValueExpression getNull();
descriptor: ()Lorg/h2/expression/ValueExpression;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic org.h2.expression.ValueExpression.NULL:Ljava/lang/Object;
checkcast org.h2.expression.ValueExpression
areturn
LocalVariableTable:
Start End Slot Name Signature
public static org.h2.expression.ValueExpression getDefault();
descriptor: ()Lorg/h2/expression/ValueExpression;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic org.h2.expression.ValueExpression.DEFAULT:Ljava/lang/Object;
checkcast org.h2.expression.ValueExpression
areturn
LocalVariableTable:
Start End Slot Name Signature
public static org.h2.expression.ValueExpression get(org.h2.value.Value);
descriptor: (Lorg/h2/value/Value;)Lorg/h2/expression/ValueExpression;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
if_acmpne 2
1: invokestatic org.h2.expression.ValueExpression.getNull:()Lorg/h2/expression/ValueExpression;
areturn
2: StackMap locals:
StackMap stack:
new org.h2.expression.ValueExpression
dup
aload 0
invokespecial org.h2.expression.ValueExpression.<init>:(Lorg/h2/value/Value;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 value Lorg/h2/value/Value;
MethodParameters:
Name Flags
value
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=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.expression.ValueExpression.value:Lorg/h2/value/Value;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/expression/ValueExpression;
0 1 1 session Lorg/h2/engine/Session;
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.ValueExpression.value:Lorg/h2/value/Value;
invokevirtual org.h2.value.Value.getType:()Lorg/h2/value/TypeInfo;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/expression/ValueExpression;
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=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.h2.expression.ValueExpression.value:Lorg/h2/value/Value;
invokevirtual org.h2.value.Value.getValueType:()I
iconst_1
if_icmpne 4
1: aload 0
getfield org.h2.expression.ValueExpression.value:Lorg/h2/value/Value;
checkcast org.h2.value.ValueBoolean
invokevirtual org.h2.value.ValueBoolean.getBoolean:()Z
istore 3
start local 3 2: iload 3
ifne 4
3: aload 2
bipush 8
aconst_null
aload 0
invokestatic org.h2.index.IndexCondition.get:(ILorg/h2/expression/ExpressionColumn;Lorg/h2/expression/Expression;)Lorg/h2/index/IndexCondition;
invokevirtual org.h2.table.TableFilter.addIndexCondition:(Lorg/h2/index/IndexCondition;)V
end local 3 4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/h2/expression/ValueExpression;
0 5 1 session Lorg/h2/engine/Session;
0 5 2 filter Lorg/h2/table/TableFilter;
2 4 3 v Z
MethodParameters:
Name Flags
session
filter
public org.h2.expression.Expression getNotIfPossible(org.h2.engine.Session);
descriptor: (Lorg/h2/engine/Session;)Lorg/h2/expression/Expression;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: new org.h2.expression.condition.Comparison
dup
aload 1
iconst_0
aload 0
1: getstatic org.h2.value.ValueBoolean.FALSE:Lorg/h2/value/ValueBoolean;
invokestatic org.h2.expression.ValueExpression.get:(Lorg/h2/value/Value;)Lorg/h2/expression/ValueExpression;
2: invokespecial org.h2.expression.condition.Comparison.<init>:(Lorg/h2/engine/Session;ILorg/h2/expression/Expression;Lorg/h2/expression/Expression;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/h2/expression/ValueExpression;
0 3 1 session Lorg/h2/engine/Session;
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=0, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/expression/ValueExpression;
0 1 1 resolver Lorg/h2/table/ColumnResolver;
0 1 2 level I
0 1 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=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/expression/ValueExpression;
0 1 1 session Lorg/h2/engine/Session;
MethodParameters:
Name Flags
session
public boolean isConstant();
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/h2/expression/ValueExpression;
public boolean isValueSet();
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/h2/expression/ValueExpression;
public void setEvaluatable(org.h2.table.TableFilter, boolean);
descriptor: (Lorg/h2/table/TableFilter;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=3, args_size=3
start local 0 start local 1 start local 2 0: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/expression/ValueExpression;
0 1 1 tableFilter Lorg/h2/table/TableFilter;
0 1 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=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getstatic org.h2.expression.ValueExpression.DEFAULT:Ljava/lang/Object;
if_acmpne 3
1: aload 1
ldc "DEFAULT"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.expression.ValueExpression.value:Lorg/h2/value/Value;
aload 1
invokevirtual org.h2.value.Value.getSQL:(Ljava/lang/StringBuilder;)Ljava/lang/StringBuilder;
pop
4: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/h2/expression/ValueExpression;
0 5 1 builder Ljava/lang/StringBuilder;
0 5 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=0, locals=3, args_size=3
start local 0 start local 1 start local 2 0: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/expression/ValueExpression;
0 1 1 session Lorg/h2/engine/Session;
0 1 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=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.h2.expression.ExpressionVisitor.getType:()I
tableswitch { // 0 - 10
0: 1
1: 1
2: 1
3: 1
4: 1
5: 1
6: 1
7: 1
8: 1
9: 1
10: 1
default: 2
}
1: StackMap locals:
StackMap stack:
iconst_1
ireturn
2: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "type="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual org.h2.expression.ExpressionVisitor.getType:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.h2.message.DbException.throwInternalError:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/h2/expression/ValueExpression;
0 3 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: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/expression/ValueExpression;
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=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.h2.expression.ValueExpression.getType:()Lorg/h2/value/TypeInfo;
invokevirtual org.h2.value.TypeInfo.getValueType:()I
istore 2
start local 2 1: iload 2
bipush 17
if_icmpeq 2
iload 2
bipush 39
if_icmpne 3
2: StackMap locals: int
StackMap stack:
aload 1
aload 0
aload 1
invokevirtual org.h2.expression.ValueExpression.getValue:(Lorg/h2/engine/Session;)Lorg/h2/value/Value;
checkcast org.h2.value.ValueCollectionBase
invokestatic org.h2.expression.ValueExpression.getExpressionColumns:(Lorg/h2/engine/Session;Lorg/h2/value/ValueCollectionBase;)[Lorg/h2/expression/Expression;
areturn
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial org.h2.expression.Expression.getExpressionColumns:(Lorg/h2/engine/Session;)[Lorg/h2/expression/Expression;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/h2/expression/ValueExpression;
0 4 1 session Lorg/h2/engine/Session;
1 4 2 valueType I
MethodParameters:
Name Flags
session
}
SourceFile: "ValueExpression.java"