Package org.hibernate.hql.ast
Class SqlASTFactory
java.lang.Object
antlr.ASTFactory
org.hibernate.hql.ast.SqlASTFactory
- All Implemented Interfaces:
HqlSqlTokenTypes
Custom AST factory the intermediate tree that causes ANTLR to create specialized
AST nodes, given the AST node type (from HqlSqlTokenTypes). HqlSqlWalker registers
this factory with itself when it is initialized.
-
Field Summary
Fields inherited from class antlr.ASTFactory
theASTNodeType, theASTNodeTypeClass, tokenTypeToASTClassMapFields inherited from interface org.hibernate.hql.antlr.HqlSqlTokenTypes
AGGREGATE, ALIAS, ALIAS_REF, ALL, AND, ANY, AS, ASCENDING, AVG, BETWEEN, BOGUS, BOTH, CASE, CASE2, CLASS, CLOSE, CLOSE_BRACKET, COLON, COMMA, CONCAT, CONSTANT, CONSTRUCTOR, COUNT, DELETE, DESCENDING, DISTINCT, DIV, DOT, ELEMENTS, ELSE, EMPTY, END, ENTRY, EOF, EQ, ESCAPE, ESCqs, EXISTS, EXPONENT, EXPR_LIST, FALSE, FETCH, FILTER_ENTITY, FILTERS, FLOAT_SUFFIX, FROM, FROM_FRAGMENT, FULL, GE, GROUP, GT, HAVING, HEX_DIGIT, ID_LETTER, ID_START_LETTER, IDENT, IMPLIED_FROM, IN, IN_LIST, INDEX_OP, INDICES, INNER, INSERT, INTO, IS, IS_NOT_NULL, IS_NULL, JAVA_CONSTANT, JOIN, JOIN_FRAGMENT, KEY, LE, LEADING, LEFT, LEFT_OUTER, LIKE, LITERAL_ascending, LITERAL_by, LITERAL_descending, LT, MAX, MEMBER, METHOD_CALL, METHOD_NAME, MIN, MINUS, MOD, NAMED_PARAM, NE, NEW, NOT, NOT_BETWEEN, NOT_IN, NOT_LIKE, NULL, NULL_TREE_LOOKAHEAD, NUM_BIG_DECIMAL, NUM_BIG_INTEGER, NUM_DOUBLE, NUM_FLOAT, NUM_INT, NUM_LONG, OBJECT, OF, ON, OPEN, OPEN_BRACKET, OR, ORDER, ORDER_ELEMENT, OUTER, PARAM, PLUS, PROPERTIES, PROPERTY_REF, QUERY, QUOTED_STRING, RANGE, RESULT_VARIABLE_REF, RIGHT, RIGHT_OUTER, ROW_STAR, SELECT, SELECT_CLAUSE, SELECT_COLUMNS, SELECT_EXPR, SELECT_FROM, SET, SOME, SQL_NE, SQL_TOKEN, STAR, SUM, THEN, THETA_JOINS, TRAILING, TRUE, UNARY_MINUS, UNARY_PLUS, UNION, UPDATE, VALUE, VECTOR_EXPR, VERSIONED, WEIRD_IDENT, WHEN, WHERE, WITH, WS -
Constructor Summary
ConstructorsConstructorDescriptionSqlASTFactory(HqlSqlWalker walker) Create factory with a specific mapping from token type to Java AST node type. -
Method Summary
Modifier and TypeMethodDescriptionprotected antlr.collections.ASTActually instantiate the AST node.protected antlr.collections.ASTcreateUsingCtor(antlr.Token token, String className) getASTNodeType(int tokenType) Returns the class for a given token type (a.k.a.Methods inherited from class antlr.ASTFactory
addASTChild, create, create, create, create, create, create, create, create, dup, dupList, dupTree, error, getTokenTypeToASTClassMap, make, make, makeASTRoot, setASTNodeClass, setASTNodeClass, setASTNodeType, setTokenTypeASTNodeType, setTokenTypeToASTClassMap
-
Constructor Details
-
SqlASTFactory
Create factory with a specific mapping from token type to Java AST node type. Your subclasses of ASTFactory can override and reuse the map stuff.
-
-
Method Details
-
getASTNodeType
Returns the class for a given token type (a.k.a. AST node type).- Overrides:
getASTNodeTypein classantlr.ASTFactory- Parameters:
tokenType- The token type.- Returns:
- Class - The AST node class to instantiate.
-
createUsingCtor
- Overrides:
createUsingCtorin classantlr.ASTFactory
-
create
Actually instantiate the AST node.- Overrides:
createin classantlr.ASTFactory- Parameters:
c- The class to instantiate.- Returns:
- The instantiated and initialized node.
-