public class org.hibernate.hql.internal.ast.tree.CastFunctionNode extends org.hibernate.hql.internal.ast.tree.AbstractSelectExpression implements org.hibernate.hql.internal.ast.tree.FunctionNode
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.hibernate.hql.internal.ast.tree.CastFunctionNode
super_class: org.hibernate.hql.internal.ast.tree.AbstractSelectExpression
{
private org.hibernate.dialect.function.SQLFunction dialectCastFunction;
descriptor: Lorg/hibernate/dialect/function/SQLFunction;
flags: (0x0002) ACC_PRIVATE
private org.hibernate.hql.internal.ast.tree.Node expressionNode;
descriptor: Lorg/hibernate/hql/internal/ast/tree/Node;
flags: (0x0002) ACC_PRIVATE
private org.hibernate.hql.internal.ast.tree.IdentNode typeNode;
descriptor: Lorg/hibernate/hql/internal/ast/tree/IdentNode;
flags: (0x0002) ACC_PRIVATE
private org.hibernate.type.Type castType;
descriptor: Lorg/hibernate/type/Type;
flags: (0x0002) ACC_PRIVATE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.hibernate.hql.internal.ast.tree.AbstractSelectExpression.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/hql/internal/ast/tree/CastFunctionNode;
public void resolve(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 0
invokevirtual org.hibernate.hql.internal.ast.tree.CastFunctionNode.getSessionFactoryHelper:()Lorg/hibernate/hql/internal/ast/util/SessionFactoryHelper;
ldc "cast"
invokevirtual org.hibernate.hql.internal.ast.util.SessionFactoryHelper.findSQLFunction:(Ljava/lang/String;)Lorg/hibernate/dialect/function/SQLFunction;
putfield org.hibernate.hql.internal.ast.tree.CastFunctionNode.dialectCastFunction:Lorg/hibernate/dialect/function/SQLFunction;
1: aload 0
getfield org.hibernate.hql.internal.ast.tree.CastFunctionNode.dialectCastFunction:Lorg/hibernate/dialect/function/SQLFunction;
ifnonnull 3
2: aload 0
getstatic org.hibernate.dialect.function.CastFunction.INSTANCE:Lorg/hibernate/dialect/function/CastFunction;
putfield org.hibernate.hql.internal.ast.tree.CastFunctionNode.dialectCastFunction:Lorg/hibernate/dialect/function/SQLFunction;
3: StackMap locals:
StackMap stack:
aload 0
aload 0
invokevirtual org.hibernate.hql.internal.ast.tree.CastFunctionNode.getFirstChild:()Lantlr/collections/AST;
checkcast org.hibernate.hql.internal.ast.tree.Node
putfield org.hibernate.hql.internal.ast.tree.CastFunctionNode.expressionNode:Lorg/hibernate/hql/internal/ast/tree/Node;
4: aload 0
getfield org.hibernate.hql.internal.ast.tree.CastFunctionNode.expressionNode:Lorg/hibernate/hql/internal/ast/tree/Node;
ifnonnull 6
5: new org.hibernate.QueryException
dup
ldc "Could not resolve expression to CAST"
invokespecial org.hibernate.QueryException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
ldc Lorg/hibernate/hql/internal/ast/tree/SqlNode;
aload 0
getfield org.hibernate.hql.internal.ast.tree.CastFunctionNode.expressionNode:Lorg/hibernate/hql/internal/ast/tree/Node;
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ifeq 15
7: aload 0
getfield org.hibernate.hql.internal.ast.tree.CastFunctionNode.expressionNode:Lorg/hibernate/hql/internal/ast/tree/Node;
checkcast org.hibernate.hql.internal.ast.tree.SqlNode
invokevirtual org.hibernate.hql.internal.ast.tree.SqlNode.getDataType:()Lorg/hibernate/type/Type;
astore 2
start local 2 8: aload 2
ifnull 15
9: aload 2
invokeinterface org.hibernate.type.Type.isEntityType:()Z
ifeq 11
10: new org.hibernate.QueryException
dup
new java.lang.StringBuilder
dup
ldc "Expression to CAST cannot be an entity : "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.hibernate.hql.internal.ast.tree.CastFunctionNode.expressionNode:Lorg/hibernate/hql/internal/ast/tree/Node;
invokevirtual org.hibernate.hql.internal.ast.tree.Node.getText:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.hibernate.QueryException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals: org.hibernate.type.Type
StackMap stack:
aload 2
invokeinterface org.hibernate.type.Type.isComponentType:()Z
ifeq 13
12: new org.hibernate.QueryException
dup
new java.lang.StringBuilder
dup
ldc "Expression to CAST cannot be a composite : "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.hibernate.hql.internal.ast.tree.CastFunctionNode.expressionNode:Lorg/hibernate/hql/internal/ast/tree/Node;
invokevirtual org.hibernate.hql.internal.ast.tree.Node.getText:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.hibernate.QueryException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
aload 2
invokeinterface org.hibernate.type.Type.isCollectionType:()Z
ifeq 15
14: new org.hibernate.QueryException
dup
new java.lang.StringBuilder
dup
ldc "Expression to CAST cannot be a collection : "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.hibernate.hql.internal.ast.tree.CastFunctionNode.expressionNode:Lorg/hibernate/hql/internal/ast/tree/Node;
invokevirtual org.hibernate.hql.internal.ast.tree.Node.getText:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.hibernate.QueryException.<init>:(Ljava/lang/String;)V
athrow
end local 2 15: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.hibernate.hql.internal.ast.tree.CastFunctionNode.expressionNode:Lorg/hibernate/hql/internal/ast/tree/Node;
invokevirtual org.hibernate.hql.internal.ast.tree.Node.getNextSibling:()Lantlr/collections/AST;
checkcast org.hibernate.hql.internal.ast.tree.IdentNode
putfield org.hibernate.hql.internal.ast.tree.CastFunctionNode.typeNode:Lorg/hibernate/hql/internal/ast/tree/IdentNode;
16: aload 0
getfield org.hibernate.hql.internal.ast.tree.CastFunctionNode.typeNode:Lorg/hibernate/hql/internal/ast/tree/IdentNode;
ifnonnull 18
17: new org.hibernate.QueryException
dup
ldc "Could not resolve requested type for CAST"
invokespecial org.hibernate.QueryException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals:
StackMap stack:
aload 0
getfield org.hibernate.hql.internal.ast.tree.CastFunctionNode.typeNode:Lorg/hibernate/hql/internal/ast/tree/IdentNode;
invokevirtual org.hibernate.hql.internal.ast.tree.IdentNode.getText:()Ljava/lang/String;
astore 2
start local 2 19: aload 0
aload 0
invokevirtual org.hibernate.hql.internal.ast.tree.CastFunctionNode.getSessionFactoryHelper:()Lorg/hibernate/hql/internal/ast/util/SessionFactoryHelper;
invokevirtual org.hibernate.hql.internal.ast.util.SessionFactoryHelper.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getTypeResolver:()Lorg/hibernate/type/TypeResolver;
aload 2
invokevirtual org.hibernate.type.TypeResolver.heuristicType:(Ljava/lang/String;)Lorg/hibernate/type/Type;
putfield org.hibernate.hql.internal.ast.tree.CastFunctionNode.castType:Lorg/hibernate/type/Type;
20: aload 0
getfield org.hibernate.hql.internal.ast.tree.CastFunctionNode.castType:Lorg/hibernate/type/Type;
ifnonnull 22
21: new org.hibernate.QueryException
dup
new java.lang.StringBuilder
dup
ldc "Could not resolve requested type for CAST : "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.hibernate.QueryException.<init>:(Ljava/lang/String;)V
athrow
22: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield org.hibernate.hql.internal.ast.tree.CastFunctionNode.castType:Lorg/hibernate/type/Type;
invokeinterface org.hibernate.type.Type.isEntityType:()Z
ifeq 24
23: new org.hibernate.QueryException
dup
new java.lang.StringBuilder
dup
ldc "CAST target type cannot be an entity : "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.hibernate.hql.internal.ast.tree.CastFunctionNode.expressionNode:Lorg/hibernate/hql/internal/ast/tree/Node;
invokevirtual org.hibernate.hql.internal.ast.tree.Node.getText:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.hibernate.QueryException.<init>:(Ljava/lang/String;)V
athrow
24: StackMap locals:
StackMap stack:
aload 0
getfield org.hibernate.hql.internal.ast.tree.CastFunctionNode.castType:Lorg/hibernate/type/Type;
invokeinterface org.hibernate.type.Type.isComponentType:()Z
ifeq 26
25: new org.hibernate.QueryException
dup
new java.lang.StringBuilder
dup
ldc "CAST target type cannot be a composite : "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.hibernate.hql.internal.ast.tree.CastFunctionNode.expressionNode:Lorg/hibernate/hql/internal/ast/tree/Node;
invokevirtual org.hibernate.hql.internal.ast.tree.Node.getText:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.hibernate.QueryException.<init>:(Ljava/lang/String;)V
athrow
26: StackMap locals:
StackMap stack:
aload 0
getfield org.hibernate.hql.internal.ast.tree.CastFunctionNode.castType:Lorg/hibernate/type/Type;
invokeinterface org.hibernate.type.Type.isCollectionType:()Z
ifeq 28
27: new org.hibernate.QueryException
dup
new java.lang.StringBuilder
dup
ldc "CAST target type cannot be a collection : "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.hibernate.hql.internal.ast.tree.CastFunctionNode.expressionNode:Lorg/hibernate/hql/internal/ast/tree/Node;
invokevirtual org.hibernate.hql.internal.ast.tree.Node.getText:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.hibernate.QueryException.<init>:(Ljava/lang/String;)V
athrow
28: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.hibernate.hql.internal.ast.tree.CastFunctionNode.castType:Lorg/hibernate/type/Type;
invokevirtual org.hibernate.hql.internal.ast.tree.CastFunctionNode.setDataType:(Lorg/hibernate/type/Type;)V
29: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lorg/hibernate/hql/internal/ast/tree/CastFunctionNode;
0 30 1 inSelect Z
8 15 2 expressionType Lorg/hibernate/type/Type;
19 30 2 typeName Ljava/lang/String;
MethodParameters:
Name Flags
inSelect
public org.hibernate.dialect.function.SQLFunction getSQLFunction();
descriptor: ()Lorg/hibernate/dialect/function/SQLFunction;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hibernate.hql.internal.ast.tree.CastFunctionNode.dialectCastFunction:Lorg/hibernate/dialect/function/SQLFunction;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/hql/internal/ast/tree/CastFunctionNode;
public org.hibernate.type.Type getFirstArgumentType();
descriptor: ()Lorg/hibernate/type/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hibernate.hql.internal.ast.tree.CastFunctionNode.castType:Lorg/hibernate/type/Type;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/hql/internal/ast/tree/CastFunctionNode;
public void setScalarColumnText(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokestatic org.hibernate.hql.internal.ast.util.ColumnHelper.generateSingleScalarColumn:(Lorg/hibernate/hql/internal/ast/tree/HqlSqlWalkerNode;I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/hibernate/hql/internal/ast/tree/CastFunctionNode;
0 2 1 i I
Exceptions:
throws antlr.SemanticException
MethodParameters:
Name Flags
i
}
SourceFile: "CastFunctionNode.java"