From: <ste...@us...> - 2009-05-08 15:37:42
|
Revision: 4268 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4268&view=rev Author: steverstrong Date: 2009-05-08 15:37:38 +0000 (Fri, 08 May 2009) Log Message: ----------- Fixed bug with "With" clause handling in the AST parser Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Generated/HqlSqlWalker.cs trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Tree/ASTTreeAdaptor.cs Modified: trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Generated/HqlSqlWalker.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Generated/HqlSqlWalker.cs 2009-05-08 12:01:51 UTC (rev 4267) +++ trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Generated/HqlSqlWalker.cs 2009-05-08 15:37:38 UTC (rev 4268) @@ -1,9375 +1,9436 @@ -// $ANTLR 3.1.2 C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g 2009-05-06 18:27:40 - -// The variable 'variable' is assigned but its value is never used. -#pragma warning disable 168, 219 -// Unreachable code detected. -#pragma warning disable 162 -namespace NHibernate.Hql.Ast.ANTLR -{ - -using System.Text; -using NHibernate.Hql.Ast.ANTLR.Tree; - - -using System; -using Antlr.Runtime; -using Antlr.Runtime.Tree;using IList = System.Collections.IList; -using ArrayList = System.Collections.ArrayList; -using Stack = Antlr.Runtime.Collections.StackList; - - - -public partial class HqlSqlWalker : TreeParser -{ - public static readonly string[] tokenNames = new string[] - { - "<invalid>", - "<EOR>", - "<DOWN>", - "<UP>", - "ALL", - "ANY", - "AND", - "AS", - "ASCENDING", - "AVG", - "BETWEEN", - "CLASS", - "COUNT", - "DELETE", - "DESCENDING", - "DOT", - "DISTINCT", - "ELEMENTS", - "ESCAPE", - "EXISTS", - "FALSE", - "FETCH", - "FROM", - "FULL", - "GROUP", - "HAVING", - "IN", - "INDICES", - "INNER", - "INSERT", - "INTO", - "IS", - "JOIN", - "LEFT", - "LIKE", - "MAX", - "MIN", - "NEW", - "NOT", - "NULL", - "OR", - "ORDER", - "OUTER", - "PROPERTIES", - "RIGHT", - "SELECT", - "SET", - "SOME", - "SUM", - "TRUE", - "UNION", - "UPDATE", - "VERSIONED", - "WHERE", - "LITERAL_by", - "CASE", - "END", - "ELSE", - "THEN", - "WHEN", - "ON", - "WITH", - "BOTH", - "EMPTY", - "LEADING", - "MEMBER", - "OBJECT", - "OF", - "TRAILING", - "AGGREGATE", - "ALIAS", - "CONSTRUCTOR", - "CASE2", - "EXPR_LIST", - "FILTER_ENTITY", - "IN_LIST", - "INDEX_OP", - "IS_NOT_NULL", - "IS_NULL", - "METHOD_CALL", - "NOT_BETWEEN", - "NOT_IN", - "NOT_LIKE", - "ORDER_ELEMENT", - "QUERY", - "RANGE", - "ROW_STAR", - "SELECT_FROM", - "UNARY_MINUS", - "UNARY_PLUS", - "VECTOR_EXPR", - "WEIRD_IDENT", - "CONSTANT", - "NUM_INT", - "NUM_DOUBLE", - "NUM_FLOAT", - "NUM_LONG", - "JAVA_CONSTANT", - "COMMA", - "EQ", - "OPEN", - "CLOSE", - "NE", - "SQL_NE", - "LT", - "GT", - "LE", - "GE", - "CONCAT", - "PLUS", - "MINUS", - "STAR", - "DIV", - "OPEN_BRACKET", - "CLOSE_BRACKET", - "COLON", - "PARAM", - "QUOTED_String", - "IDENT", - "ID_START_LETTER", - "ID_LETTER", - "ESCqs", - "WS", - "EXPONENT", - "FLOAT_SUFFIX", - "HEX_DIGIT", - "'ascending'", - "'descending'", - "FROM_FRAGMENT", - "IMPLIED_FROM", - "JOIN_FRAGMENT", - "SELECT_CLAUSE", - "LEFT_OUTER", - "RIGHT_OUTER", - "ALIAS_REF", - "PROPERTY_REF", - "SQL_TOKEN", - "SELECT_COLUMNS", - "SELECT_EXPR", - "THETA_JOINS", - "FILTERS", - "METHOD_NAME", - "NAMED_PARAM", - "BOGUS" - }; - - public const int SELECT_COLUMNS = 137; - public const int LT = 104; - public const int EXPONENT = 123; - public const int STAR = 111; - public const int FLOAT_SUFFIX = 124; - public const int FILTERS = 140; - public const int LITERAL_by = 54; - public const int PROPERTY_REF = 135; - public const int THETA_JOINS = 139; - public const int CASE = 55; - public const int NEW = 37; - public const int FILTER_ENTITY = 74; - public const int PARAM = 116; - public const int COUNT = 12; - public const int NOT = 38; - public const int EOF = -1; - public const int UNARY_PLUS = 89; - public const int QUOTED_String = 117; - public const int ESCqs = 121; - public const int WEIRD_IDENT = 91; - public const int OPEN_BRACKET = 113; - public const int FULL = 23; - public const int ORDER_ELEMENT = 83; - public const int IS_NULL = 78; - public const int ESCAPE = 18; - public const int INSERT = 29; - public const int FROM_FRAGMENT = 128; - public const int NAMED_PARAM = 142; - public const int BOTH = 62; - public const int SELECT_CLAUSE = 131; - public const int VERSIONED = 52; - public const int EQ = 99; - public const int SELECT = 45; - public const int INTO = 30; - public const int NE = 102; - public const int GE = 107; - public const int CONCAT = 108; - public const int ID_LETTER = 120; - public const int NULL = 39; - public const int ELSE = 57; - public const int SELECT_FROM = 87; - public const int TRAILING = 68; - public const int ON = 60; - public const int NUM_LONG = 96; - public const int NUM_DOUBLE = 94; - public const int UNARY_MINUS = 88; - public const int DELETE = 13; - public const int INDICES = 27; - public const int OF = 67; - public const int METHOD_CALL = 79; - public const int LEADING = 64; - public const int METHOD_NAME = 141; - public const int EMPTY = 63; - public const int T__126 = 126; - public const int GROUP = 24; - public const int T__127 = 127; - public const int WS = 122; - public const int FETCH = 21; - public const int VECTOR_EXPR = 90; - public const int NOT_IN = 81; - public const int SELECT_EXPR = 138; - public const int NUM_INT = 93; - public const int OR = 40; - public const int ALIAS = 70; - public const int JAVA_CONSTANT = 97; - public const int CONSTANT = 92; - public const int GT = 105; - public const int QUERY = 84; - public const int INDEX_OP = 76; - public const int NUM_FLOAT = 95; - public const int FROM = 22; - public const int END = 56; - public const int FALSE = 20; - public const int DISTINCT = 16; - public const int CONSTRUCTOR = 71; - public const int CLOSE_BRACKET = 114; - public const int WHERE = 53; - public const int CLASS = 11; - public const int MEMBER = 65; - public const int INNER = 28; - public const int PROPERTIES = 43; - public const int BOGUS = 143; - public const int ORDER = 41; - public const int MAX = 35; - public const int UPDATE = 51; - public const int JOIN_FRAGMENT = 130; - public const int SQL_NE = 103; - public const int AND = 6; - public const int SUM = 48; - public const int ASCENDING = 8; - public const int EXPR_LIST = 73; - public const int AS = 7; - public const int IN = 26; - public const int THEN = 58; - public const int OBJECT = 66; - public const int COMMA = 98; - public const int SQL_TOKEN = 136; - public const int IS = 31; - public const int LEFT = 33; - public const int AVG = 9; - public const int SOME = 47; - public const int ALL = 4; - public const int IMPLIED_FROM = 129; - public const int IDENT = 118; - public const int CASE2 = 72; - public const int PLUS = 109; - public const int EXISTS = 19; - public const int DOT = 15; - public const int WITH = 61; - public const int LIKE = 34; - public const int OUTER = 42; - public const int ID_START_LETTER = 119; - public const int LEFT_OUTER = 132; - public const int ROW_STAR = 86; - public const int NOT_LIKE = 82; - public const int RIGHT_OUTER = 133; - public const int RANGE = 85; - public const int NOT_BETWEEN = 80; - public const int HEX_DIGIT = 125; - public const int SET = 46; - public const int RIGHT = 44; - public const int HAVING = 25; - public const int MIN = 36; - public const int IS_NOT_NULL = 77; - public const int MINUS = 110; - public const int ELEMENTS = 17; - public const int TRUE = 49; - public const int JOIN = 32; - public const int IN_LIST = 75; - public const int UNION = 50; - public const int OPEN = 100; - public const int COLON = 115; - public const int ANY = 5; - public const int CLOSE = 101; - public const int WHEN = 59; - public const int ALIAS_REF = 134; - public const int DIV = 112; - public const int DESCENDING = 14; - public const int AGGREGATE = 69; - public const int BETWEEN = 10; - public const int LE = 106; - - // delegates - // delegators - - - - public HqlSqlWalker(ITreeNodeStream input) - : this(input, new RecognizerSharedState()) { - } - - public HqlSqlWalker(ITreeNodeStream input, RecognizerSharedState state) - : base(input, state) { - InitializeCyclicDFAs(); - - - } - - protected ITreeAdaptor adaptor = new CommonTreeAdaptor(); - - public ITreeAdaptor TreeAdaptor - { - get { return this.adaptor; } - set { - this.adaptor = value; - } - } - - override public string[] TokenNames { - get { return HqlSqlWalker.tokenNames; } - } - - override public string GrammarFileName { - get { return "C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g"; } - } - - - public class statement_return : TreeRuleReturnScope - { - private IASTNode tree; - override public object Tree - { - get { return tree; } - set { tree = (IASTNode) value; } - } - }; - - // $ANTLR start "statement" - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:40:1: statement : ( selectStatement | updateStatement | deleteStatement | insertStatement ); - public HqlSqlWalker.statement_return statement() // throws RecognitionException [1] - { - HqlSqlWalker.statement_return retval = new HqlSqlWalker.statement_return(); - retval.Start = input.LT(1); - - IASTNode root_0 = null; - - IASTNode _first_0 = null; - IASTNode _last = null; - - HqlSqlWalker.selectStatement_return selectStatement1 = default(HqlSqlWalker.selectStatement_return); - - HqlSqlWalker.updateStatement_return updateStatement2 = default(HqlSqlWalker.updateStatement_return); - - HqlSqlWalker.deleteStatement_return deleteStatement3 = default(HqlSqlWalker.deleteStatement_return); - - HqlSqlWalker.insertStatement_return insertStatement4 = default(HqlSqlWalker.insertStatement_return); - - - - try - { - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:41:2: ( selectStatement | updateStatement | deleteStatement | insertStatement ) - int alt1 = 4; - switch ( input.LA(1) ) - { - case QUERY: - { - alt1 = 1; - } - break; - case UPDATE: - { - alt1 = 2; - } - break; - case DELETE: - { - alt1 = 3; - } - break; - case INSERT: - { - alt1 = 4; - } - break; - default: - NoViableAltException nvae_d1s0 = - new NoViableAltException("", 1, 0, input); - - throw nvae_d1s0; - } - - switch (alt1) - { - case 1 : - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:41:4: selectStatement - { - root_0 = (IASTNode)adaptor.GetNilNode(); - - _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_selectStatement_in_statement168); - selectStatement1 = selectStatement(); - state.followingStackPointer--; - - adaptor.AddChild(root_0, selectStatement1.Tree); - - } - break; - case 2 : - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:41:22: updateStatement - { - root_0 = (IASTNode)adaptor.GetNilNode(); - - _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_updateStatement_in_statement172); - updateStatement2 = updateStatement(); - state.followingStackPointer--; - - adaptor.AddChild(root_0, updateStatement2.Tree); - - } - break; - case 3 : - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:41:40: deleteStatement - { - root_0 = (IASTNode)adaptor.GetNilNode(); - - _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_deleteStatement_in_statement176); - deleteStatement3 = deleteStatement(); - state.followingStackPointer--; - - adaptor.AddChild(root_0, deleteStatement3.Tree); - - } - break; - case 4 : - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:41:58: insertStatement - { - root_0 = (IASTNode)adaptor.GetNilNode(); - - _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_insertStatement_in_statement180); - insertStatement4 = insertStatement(); - state.followingStackPointer--; - - adaptor.AddChild(root_0, insertStatement4.Tree); - - } - break; - - } - retval.Tree = (IASTNode)adaptor.RulePostProcessing(root_0); - - } - catch (RecognitionException re) - { - ReportError(re); - Recover(input,re); - } - finally - { - } - return retval; - } - // $ANTLR end "statement" - - public class selectStatement_return : TreeRuleReturnScope - { - private IASTNode tree; - override public object Tree - { - get { return tree; } - set { tree = (IASTNode) value; } - } - }; - - // $ANTLR start "selectStatement" - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:44:1: selectStatement : query ; - public HqlSqlWalker.selectStatement_return selectStatement() // throws RecognitionException [1] - { - HqlSqlWalker.selectStatement_return retval = new HqlSqlWalker.selectStatement_return(); - retval.Start = input.LT(1); - - IASTNode root_0 = null; - - IASTNode _first_0 = null; - IASTNode _last = null; - - HqlSqlWalker.query_return query5 = default(HqlSqlWalker.query_return); - - - - try - { - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:45:2: ( query ) - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:45:4: query - { - root_0 = (IASTNode)adaptor.GetNilNode(); - - _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_query_in_selectStatement191); - query5 = query(); - state.followingStackPointer--; - - adaptor.AddChild(root_0, query5.Tree); - - } - - retval.Tree = (IASTNode)adaptor.RulePostProcessing(root_0); - - } - catch (RecognitionException re) - { - ReportError(re); - Recover(input,re); - } - finally - { - } - return retval; - } - // $ANTLR end "selectStatement" - - public class updateStatement_return : TreeRuleReturnScope - { - private IASTNode tree; - override public object Tree - { - get { return tree; } - set { tree = (IASTNode) value; } - } - }; - - // $ANTLR start "updateStatement" - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:51:1: updateStatement : ^(u= UPDATE (v= VERSIONED )? f= fromClause s= setClause (w= whereClause )? ) -> ^( $u $f $s ( $w)? ) ; - public HqlSqlWalker.updateStatement_return updateStatement() // throws RecognitionException [1] - { - HqlSqlWalker.updateStatement_return retval = new HqlSqlWalker.updateStatement_return(); - retval.Start = input.LT(1); - - IASTNode root_0 = null; - - IASTNode _first_0 = null; - IASTNode _last = null; - - IASTNode u = null; - IASTNode v = null; - HqlSqlWalker.fromClause_return f = default(HqlSqlWalker.fromClause_return); - - HqlSqlWalker.setClause_return s = default(HqlSqlWalker.setClause_return); - - HqlSqlWalker.whereClause_return w = default(HqlSqlWalker.whereClause_return); - - - IASTNode u_tree=null; - IASTNode v_tree=null; - RewriteRuleNodeStream stream_UPDATE = new RewriteRuleNodeStream(adaptor,"token UPDATE"); - RewriteRuleNodeStream stream_VERSIONED = new RewriteRuleNodeStream(adaptor,"token VERSIONED"); - RewriteRuleSubtreeStream stream_whereClause = new RewriteRuleSubtreeStream(adaptor,"rule whereClause"); - RewriteRuleSubtreeStream stream_setClause = new RewriteRuleSubtreeStream(adaptor,"rule setClause"); - RewriteRuleSubtreeStream stream_fromClause = new RewriteRuleSubtreeStream(adaptor,"rule fromClause"); - try - { - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:58:2: ( ^(u= UPDATE (v= VERSIONED )? f= fromClause s= setClause (w= whereClause )? ) -> ^( $u $f $s ( $w)? ) ) - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:58:4: ^(u= UPDATE (v= VERSIONED )? f= fromClause s= setClause (w= whereClause )? ) - { - _last = (IASTNode)input.LT(1); - { - IASTNode _save_last_1 = _last; - IASTNode _first_1 = null; - IASTNode root_1 = (IASTNode)adaptor.GetNilNode();_last = (IASTNode)input.LT(1); - u=(IASTNode)Match(input,UPDATE,FOLLOW_UPDATE_in_updateStatement215); - stream_UPDATE.Add(u); - - - BeforeStatement( "update", UPDATE ); - - Match(input, Token.DOWN, null); - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:58:57: (v= VERSIONED )? - int alt2 = 2; - int LA2_0 = input.LA(1); - - if ( (LA2_0 == VERSIONED) ) - { - alt2 = 1; - } - switch (alt2) - { - case 1 : - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:58:58: v= VERSIONED - { - _last = (IASTNode)input.LT(1); - v=(IASTNode)Match(input,VERSIONED,FOLLOW_VERSIONED_in_updateStatement222); - stream_VERSIONED.Add(v); - - - } - break; - - } - - _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_fromClause_in_updateStatement228); - f = fromClause(); - state.followingStackPointer--; - - stream_fromClause.Add(f.Tree); - _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_setClause_in_updateStatement232); - s = setClause(); - state.followingStackPointer--; - - stream_setClause.Add(s.Tree); - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:58:97: (w= whereClause )? - int alt3 = 2; - int LA3_0 = input.LA(1); - - if ( (LA3_0 == WHERE) ) - { - alt3 = 1; - } - switch (alt3) - { - case 1 : - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:58:98: w= whereClause - { - _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_whereClause_in_updateStatement237); - w = whereClause(); - state.followingStackPointer--; - - stream_whereClause.Add(w.Tree); - - } - break; - - } - - - Match(input, Token.UP, null); adaptor.AddChild(root_0, root_1);_last = _save_last_1; - } - - - - // AST REWRITE - // elements: u, f, s, w - // token labels: u - // rule labels: w, f, retval, s - // token list labels: - // rule list labels: - // wildcard labels: - retval.Tree = root_0; - RewriteRuleNodeStream stream_u = new RewriteRuleNodeStream(adaptor, "token u", u); - RewriteRuleSubtreeStream stream_w = new RewriteRuleSubtreeStream(adaptor, "rule w", w!=null ? w.Tree : null); - RewriteRuleSubtreeStream stream_f = new RewriteRuleSubtreeStream(adaptor, "rule f", f!=null ? f.Tree : null); - RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval!=null ? retval.Tree : null); - RewriteRuleSubtreeStream stream_s = new RewriteRuleSubtreeStream(adaptor, "rule s", s!=null ? s.Tree : null); - - root_0 = (IASTNode)adaptor.GetNilNode(); - // 59:3: -> ^( $u $f $s ( $w)? ) - { - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:59:6: ^( $u $f $s ( $w)? ) - { - IASTNode root_1 = (IASTNode)adaptor.GetNilNode(); - root_1 = (IASTNode)adaptor.BecomeRoot(stream_u.NextNode(), root_1); - - adaptor.AddChild(root_1, stream_f.NextTree()); - adaptor.AddChild(root_1, stream_s.NextTree()); - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:59:17: ( $w)? - if ( stream_w.HasNext() ) - { - adaptor.AddChild(root_1, stream_w.NextTree()); - - } - stream_w.Reset(); - - adaptor.AddChild(root_0, root_1); - } - - } - - retval.Tree = root_0; - } - - retval.Tree = (IASTNode)adaptor.RulePostProcessing(root_0); - - - BeforeStatementCompletion( "update" ); - PrepareVersioned( ((IASTNode)retval.Tree), v ); - PostProcessUpdate( ((IASTNode)retval.Tree) ); - AfterStatementCompletion( "update" ); - - } - catch (RecognitionException re) - { - ReportError(re); - Recover(input,re); - } - finally - { - } - return retval; - } - // $ANTLR end "updateStatement" - - public class deleteStatement_return : TreeRuleReturnScope - { - private IASTNode tree; - override public object Tree - { - get { return tree; } - set { tree = (IASTNode) value; } - } - }; - - // $ANTLR start "deleteStatement" - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:62:1: deleteStatement : ^( DELETE fromClause ( whereClause )? ) ; - public HqlSqlWalker.deleteStatement_return deleteStatement() // throws RecognitionException [1] - { - HqlSqlWalker.deleteStatement_return retval = new HqlSqlWalker.deleteStatement_return(); - retval.Start = input.LT(1); - - IASTNode root_0 = null; - - IASTNode _first_0 = null; - IASTNode _last = null; - - IASTNode DELETE6 = null; - HqlSqlWalker.fromClause_return fromClause7 = default(HqlSqlWalker.fromClause_return); - - HqlSqlWalker.whereClause_return whereClause8 = default(HqlSqlWalker.whereClause_return); - - - IASTNode DELETE6_tree=null; - - try - { - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:68:2: ( ^( DELETE fromClause ( whereClause )? ) ) - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:68:4: ^( DELETE fromClause ( whereClause )? ) - { - root_0 = (IASTNode)adaptor.GetNilNode(); - - _last = (IASTNode)input.LT(1); - { - IASTNode _save_last_1 = _last; - IASTNode _first_1 = null; - IASTNode root_1 = (IASTNode)adaptor.GetNilNode();_last = (IASTNode)input.LT(1); - DELETE6=(IASTNode)Match(input,DELETE,FOLLOW_DELETE_in_deleteStatement280); - DELETE6_tree = (IASTNode)adaptor.DupNode(DELETE6); - - root_1 = (IASTNode)adaptor.BecomeRoot(DELETE6_tree, root_1); - - - BeforeStatement( "delete", DELETE ); - - Match(input, Token.DOWN, null); - _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_fromClause_in_deleteStatement284); - fromClause7 = fromClause(); - state.followingStackPointer--; - - adaptor.AddChild(root_1, fromClause7.Tree); - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:68:66: ( whereClause )? - int alt4 = 2; - int LA4_0 = input.LA(1); - - if ( (LA4_0 == WHERE) ) - { - alt4 = 1; - } - switch (alt4) - { - case 1 : - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:68:67: whereClause - { - _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_whereClause_in_deleteStatement287); - whereClause8 = whereClause(); - state.followingStackPointer--; - - adaptor.AddChild(root_1, whereClause8.Tree); - - } - break; - - } - - - Match(input, Token.UP, null); adaptor.AddChild(root_0, root_1);_last = _save_last_1; - } - - - } - - retval.Tree = (IASTNode)adaptor.RulePostProcessing(root_0); - - - BeforeStatementCompletion( "delete" ); - PostProcessDelete( ((IASTNode)retval.Tree) ); - AfterStatementCompletion( "delete" ); - - } - catch (RecognitionException re) - { - ReportError(re); - Recover(input,re); - } - finally - { - } - return retval; - } - // $ANTLR end "deleteStatement" - - public class insertStatement_return : TreeRuleReturnScope - { - private IASTNode tree; - override public object Tree - { - get { return tree; } - set { tree = (IASTNode) value; } - } - }; - - // $ANTLR start "insertStatement" - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:71:1: insertStatement : ^( INSERT intoClause query ) ; - public HqlSqlWalker.insertStatement_return insertStatement() // throws RecognitionException [1] - { - HqlSqlWalker.insertStatement_return retval = new HqlSqlWalker.insertStatement_return(); - retval.Start = input.LT(1); - - IASTNode root_0 = null; - - IASTNode _first_0 = null; - IASTNode _last = null; - - IASTNode INSERT9 = null; - HqlSqlWalker.intoClause_return intoClause10 = default(HqlSqlWalker.intoClause_return); - - HqlSqlWalker.query_return query11 = default(HqlSqlWalker.query_return); - - - IASTNode INSERT9_tree=null; - - try - { - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:80:2: ( ^( INSERT intoClause query ) ) - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:80:4: ^( INSERT intoClause query ) - { - root_0 = (IASTNode)adaptor.GetNilNode(); - - _last = (IASTNode)input.LT(1); - { - IASTNode _save_last_1 = _last; - IASTNode _first_1 = null; - IASTNode root_1 = (IASTNode)adaptor.GetNilNode();_last = (IASTNode)input.LT(1); - INSERT9=(IASTNode)Match(input,INSERT,FOLLOW_INSERT_in_insertStatement317); - INSERT9_tree = (IASTNode)adaptor.DupNode(INSERT9); - - root_1 = (IASTNode)adaptor.BecomeRoot(INSERT9_tree, root_1); - - - BeforeStatement( "insert", INSERT ); - - Match(input, Token.DOWN, null); - _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_intoClause_in_insertStatement321); - intoClause10 = intoClause(); - state.followingStackPointer--; - - adaptor.AddChild(root_1, intoClause10.Tree); - _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_query_in_insertStatement323); - query11 = query(); - state.followingStackPointer--; - - adaptor.AddChild(root_1, query11.Tree); - - Match(input, Token.UP, null); adaptor.AddChild(root_0, root_1);_last = _save_last_1; - } - - - } - - retval.Tree = (IASTNode)adaptor.RulePostProcessing(root_0); - - - BeforeStatementCompletion( "insert" ); - PostProcessInsert( ((IASTNode)retval.Tree) ); - AfterStatementCompletion( "insert" ); - - } - catch (RecognitionException re) - { - ReportError(re); - Recover(input,re); - } - finally - { - } - return retval; - } - // $ANTLR end "insertStatement" - - public class intoClause_return : TreeRuleReturnScope - { - private IASTNode tree; - override public object Tree - { - get { return tree; } - set { tree = (IASTNode) value; } - } - }; - - // $ANTLR start "intoClause" - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:83:1: intoClause : ^( INTO (p= path ) ps= insertablePropertySpec ) ; - public HqlSqlWalker.intoClause_return intoClause() // throws RecognitionException [1] - { - HqlSqlWalker.intoClause_return retval = new HqlSqlWalker.intoClause_return(); - retval.Start = input.LT(1); - - IASTNode root_0 = null; - - IASTNode _first_0 = null; - IASTNode _last = null; - - IASTNode INTO12 = null; - HqlSqlWalker.path_return p = default(HqlSqlWalker.path_return); - - HqlSqlWalker.insertablePropertySpec_return ps = default(HqlSqlWalker.insertablePropertySpec_return); - - - IASTNode INTO12_tree=null; - - try - { - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:87:2: ( ^( INTO (p= path ) ps= insertablePropertySpec ) ) - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:87:4: ^( INTO (p= path ) ps= insertablePropertySpec ) - { - root_0 = (IASTNode)adaptor.GetNilNode(); - - _last = (IASTNode)input.LT(1); - { - IASTNode _save_last_1 = _last; - IASTNode _first_1 = null; - IASTNode root_1 = (IASTNode)adaptor.GetNilNode();_last = (IASTNode)input.LT(1); - INTO12=(IASTNode)Match(input,INTO,FOLLOW_INTO_in_intoClause347); - INTO12_tree = (IASTNode)adaptor.DupNode(INTO12); - - root_1 = (IASTNode)adaptor.BecomeRoot(INTO12_tree, root_1); - - - HandleClauseStart( INTO ); - - Match(input, Token.DOWN, null); - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:87:43: (p= path ) - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:87:44: p= path - { - _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_path_in_intoClause354); - p = path(); - state.followingStackPointer--; - - adaptor.AddChild(root_1, p.Tree); - - } - - _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_insertablePropertySpec_in_intoClause359); - ps = insertablePropertySpec(); - state.followingStackPointer--; - - adaptor.AddChild(root_1, ps.Tree); - - Match(input, Token.UP, null); adaptor.AddChild(root_0, root_1);_last = _save_last_1; - } - - - } - - retval.Tree = (IASTNode)adaptor.RulePostProcessing(root_0); - - - retval.Tree = CreateIntoClause(((p != null) ? p.p : default(String)), ((ps != null) ? ((IASTNode)ps.Tree) : null)); - - } - catch (RecognitionException re) - { - ReportError(re); - Recover(input,re); - } - finally - { - } - return retval; - } - // $ANTLR end "intoClause" - - public class insertablePropertySpec_return : TreeRuleReturnScope - { - private IASTNode tree; - override public object Tree - { - get { return tree; } - set { tree = (IASTNode) value; } - } - }; - - // $ANTLR start "insertablePropertySpec" - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:90:1: insertablePropertySpec : ^( RANGE ( IDENT )+ ) ; - public HqlSqlWalker.insertablePropertySpec_return insertablePropertySpec() // throws RecognitionException [1] - { - HqlSqlWalker.insertablePropertySpec_return retval = new HqlSqlWalker.insertablePropertySpec_return(); - retval.Start = input.LT(1); - - IASTNode root_0 = null; - - IASTNode _first_0 = null; - IASTNode _last = null; - - IASTNode RANGE13 = null; - IASTNode IDENT14 = null; - - IASTNode RANGE13_tree=null; - IASTNode IDENT14_tree=null; - - try - { - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:91:2: ( ^( RANGE ( IDENT )+ ) ) - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:91:4: ^( RANGE ( IDENT )+ ) - { - root_0 = (IASTNode)adaptor.GetNilNode(); - - _last = (IASTNode)input.LT(1); - { - IASTNode _save_last_1 = _last; - IASTNode _first_1 = null; - IASTNode root_1 = (IASTNode)adaptor.GetNilNode();_last = (IASTNode)input.LT(1); - RANGE13=(IASTNode)Match(input,RANGE,FOLLOW_RANGE_in_insertablePropertySpec375); - RANGE13_tree = (IASTNode)adaptor.DupNode(RANGE13); - - root_1 = (IASTNode)adaptor.BecomeRoot(RANGE13_tree, root_1); - - - - Match(input, Token.DOWN, null); - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:91:13: ( IDENT )+ - int cnt5 = 0; - do - { - int alt5 = 2; - int LA5_0 = input.LA(1); - - if ( (LA5_0 == IDENT) ) - { - alt5 = 1; - } - - - switch (alt5) - { - case 1 : - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:91:14: IDENT - { - _last = (IASTNode)input.LT(1); - IDENT14=(IASTNode)Match(input,IDENT,FOLLOW_IDENT_in_insertablePropertySpec378); - IDENT14_tree = (IASTNode)adaptor.DupNode(IDENT14); - - adaptor.AddChild(root_1, IDENT14_tree); - - - } - break; - - default: - if ( cnt5 >= 1 ) goto loop5; - EarlyExitException eee5 = - new EarlyExitException(5, input); - throw eee5; - } - cnt5++; - } while (true); - - loop5: - ; // Stops C# compiler whinging that label 'loop5' has no statements - - - Match(input, Token.UP, null); adaptor.AddChild(root_0, root_1);_last = _save_last_1; - } - - - } - - retval.Tree = (IASTNode)adaptor.RulePostProcessing(root_0); - - } - catch (RecognitionException re) - { - ReportError(re); - Recover(input,re); - } - finally - { - } - return retval; - } - // $ANTLR end "insertablePropertySpec" - - public class setClause_return : TreeRuleReturnScope - { - private IASTNode tree; - override public object Tree - { - get { return tree; } - set { tree = (IASTNode) value; } - } - }; - - // $ANTLR start "setClause" - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:94:1: setClause : ^( SET ( assignment )* ) ; - public HqlSqlWalker.setClause_return setClause() // throws RecognitionException [1] - { - HqlSqlWalker.setClause_return retval = new HqlSqlWalker.setClause_return(); - retval.Start = input.LT(1); - - IASTNode root_0 = null; - - IASTNode _first_0 = null; - IASTNode _last = null; - - IASTNode SET15 = null; - HqlSqlWalker.assignment_return assignment16 = default(HqlSqlWalker.assignment_return); - - - IASTNode SET15_tree=null; - - try - { - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:95:2: ( ^( SET ( assignment )* ) ) - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:95:4: ^( SET ( assignment )* ) - { - root_0 = (IASTNode)adaptor.GetNilNode(); - - _last = (IASTNode)input.LT(1); - { - IASTNode _save_last_1 = _last; - IASTNode _first_1 = null; - IASTNode root_1 = (IASTNode)adaptor.GetNilNode();_last = (IASTNode)input.LT(1); - SET15=(IASTNode)Match(input,SET,FOLLOW_SET_in_setClause395); - SET15_tree = (IASTNode)adaptor.DupNode(SET15); - - root_1 = (IASTNode)adaptor.BecomeRoot(SET15_tree, root_1); - - - HandleClauseStart( SET ); - - if ( input.LA(1) == Token.DOWN ) - { - Match(input, Token.DOWN, null); - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:95:41: ( assignment )* - do - { - int alt6 = 2; - int LA6_0 = input.LA(1); - - if ( (LA6_0 == EQ) ) - { - alt6 = 1; - } - - - switch (alt6) - { - case 1 : - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:95:42: assignment - { - _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_assignment_in_setClause400); - assignment16 = assignment(); - state.followingStackPointer--; - - adaptor.AddChild(root_1, assignment16.Tree); - - } - break; - - default: - goto loop6; - } - } while (true); - - loop6: - ; // Stops C# compiler whining that label 'loop6' has no statements - - - Match(input, Token.UP, null); - }adaptor.AddChild(root_0, root_1);_last = _save_last_1; - } - - - } - - retval.Tree = (IASTNode)adaptor.RulePostProcessing(root_0); - - } - catch (RecognitionException re) - { - ReportError(re); - Recover(input,re); - } - finally - { - } - return retval; - } - // $ANTLR end "setClause" - - public class assignment_return : TreeRuleReturnScope - { - private IASTNode tree; - override public object Tree - { - get { return tree; } - set { tree = (IASTNode) value; } - } - }; - - // $ANTLR start "assignment" - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:98:1: assignment : ^( EQ (p= propertyRef ) ( newValue ) ) ; - public HqlSqlWalker.assignment_return assignment() // throws RecognitionException [1] - { - HqlSqlWalker.assignment_return retval = new HqlSqlWalker.assignment_return(); - retval.Start = input.LT(1); - - IASTNode root_0 = null; - - IASTNode _first_0 = null; - IASTNode _last = null; - - IASTNode EQ17 = null; - HqlSqlWalker.propertyRef_return p = default(HqlSqlWalker.propertyRef_return); - - HqlSqlWalker.newValue_return newValue18 = default(HqlSqlWalker.newValue_return); - - - IASTNode EQ17_tree=null; - - try - { - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:104:2: ( ^( EQ (p= propertyRef ) ( newValue ) ) ) - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:104:4: ^( EQ (p= propertyRef ) ( newValue ) ) - { - root_0 = (IASTNode)adaptor.GetNilNode(); - - _last = (IASTNode)input.LT(1); - { - IASTNode _save_last_1 = _last; - IASTNode _first_1 = null; - IASTNode root_1 = (IASTNode)adaptor.GetNilNode();_last = (IASTNode)input.LT(1); - EQ17=(IASTNode)Match(input,EQ,FOLLOW_EQ_in_assignment427); - EQ17_tree = (IASTNode)adaptor.DupNode(EQ17); - - root_1 = (IASTNode)adaptor.BecomeRoot(EQ17_tree, root_1); - - - - Match(input, Token.DOWN, null); - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:104:10: (p= propertyRef ) - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:104:11: p= propertyRef - { - _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_propertyRef_in_assignment432); - p = propertyRef(); - state.followingStackPointer--; - - adaptor.AddChild(root_1, p.Tree); - - } - - Resolve(((p != null) ? ((IASTNode)p.Tree) : null)); - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:104:48: ( newValue ) - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:104:49: newValue - { - _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_newValue_in_assignment438); - newValue18 = newValue(); - state.followingStackPointer--; - - adaptor.AddChild(root_1, newValue18.Tree); - - } - - - Match(input, Token.UP, null); adaptor.AddChild(root_0, root_1);_last = _save_last_1; - } - - - } - - retval.Tree = (IASTNode)adaptor.RulePostProcessing(root_0); - - - EvaluateAssignment( ((IASTNode)retval.Tree) ); - - } - catch (RecognitionException re) - { - ReportError(re); - Recover(input,re); - } - finally - { - } - return retval; - } - // $ANTLR end "assignment" - - public class newValue_return : TreeRuleReturnScope - { - private IASTNode tree; - override public object Tree - { - get { return tree; } - set { tree = (IASTNode) value; } - } - }; - - // $ANTLR start "newValue" - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:108:1: newValue : ( expr | query ); - public HqlSqlWalker.newValue_return newValue() // throws RecognitionException [1] - { - HqlSqlWalker.newValue_return retval = new HqlSqlWalker.newValue_return(); - retval.Start = input.LT(1); - - IASTNode root_0 = null; - - IASTNode _first_0 = null; - IASTNode _last = null; - - HqlSqlWalker.expr_return expr19 = default(HqlSqlWalker.expr_return); - - HqlSqlWalker.query_return query20 = default(HqlSqlWalker.query_return); - - - - try - { - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:109:2: ( expr | query ) - int alt7 = 2; - int LA7_0 = input.LA(1); - - if ( (LA7_0 == COUNT || LA7_0 == DOT || LA7_0 == FALSE || LA7_0 == NULL || LA7_0 == TRUE || LA7_0 == CASE || LA7_0 == AGGREGATE || LA7_0 == CASE2 || LA7_0 == INDEX_OP || LA7_0 == METHOD_CALL || LA7_0 == UNARY_MINUS || (LA7_0 >= VECTOR_EXPR && LA7_0 <= WEIRD_IDENT) || (LA7_0 >= NUM_INT && LA7_0 <= JAVA_CONSTANT) || (LA7_0 >= PLUS && LA7_0 <= DIV) || (LA7_0 >= COLON && LA7_0 <= IDENT)) ) - { - alt7 = 1; - } - else if ( (LA7_0 == QUERY) ) - { - alt7 = 2; - } - else - { - NoViableAltException nvae_d7s0 = - new NoViableAltException("", 7, 0, input); - - throw nvae_d7s0; - } - switch (alt7) - { - case 1 : - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:109:4: expr - { - root_0 = (IASTNode)adaptor.GetNilNode(); - - _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_expr_in_newValue454); - expr19 = expr(); - state.followingStackPointer--; - - adaptor.AddChild(root_0, expr19.Tree); - - } - break; - case 2 : - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:109:11: query - { - root_0 = (IASTNode)adaptor.GetNilNode(); - - _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_query_in_newValue458); - query20 = query(); - state.followingStackPointer--; - - adaptor.AddChild(root_0, query20.Tree); - - } - break; - - } - retval.Tree = (IASTNode)adaptor.RulePostProcessing(root_0); - - } - catch (RecognitionException re) - { - ReportError(re); - Recover(input,re); - } - finally - { - } - return retval; - } - // $ANTLR end "newValue" - - public class query_return : TreeRuleReturnScope - { - private IASTNode tree; - override public object Tree - { - get { return tree; } - set { tree = (IASTNode) value; } - } - }; - - // $ANTLR start "query" - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:114:1: query : ^( QUERY ^( SELECT_FROM f= fromClause (s= selectClause )? ) (w= whereClause )? (g= groupClause )? (o= orderClause )? ) -> ^( SELECT ( $s)? $f ( $w)? ( $g)? ( $o)? ) ; - public HqlSqlWalker.query_return query() // throws RecognitionException [1] - { - HqlSqlWalker.query_return retval = new HqlSqlWalker.query_return(); - retval.Start = input.LT(1); - - IASTNode root_0 = null; - - IASTNode _first_0 = null; - IASTNode _last = null; - - IASTNode QUERY21 = null; - IASTNode SELECT_FROM22 = null; - HqlSqlWalker.fromClause_return f = default(HqlSqlWalker.fromClause_return); - - HqlSqlWalker.selectClause_return s = default(HqlSqlWalker.selectClause_return); - - HqlSqlWalker.whereClause_return w = default(HqlSqlWalker.whereClause_return); - - HqlSqlWalker.groupClause_return g = default(HqlSqlWalker.groupClause_return); - - HqlSqlWalker.orderClause_return o = default(HqlSqlWalker.orderClause_return); - - - IASTNode QUERY21_tree=null; - IASTNode SELECT_FROM22_tree=null; - RewriteRuleNodeStream stream_SELECT_FROM = new RewriteRuleNodeStream(adaptor,"token SELECT_FROM"); - RewriteRuleNodeStream stream_QUERY = new RewriteRuleNodeStream(adaptor,"token QUERY"); - RewriteRuleSubtreeStream stream_whereClause = new RewriteRuleSubtreeStream(adaptor,"rule whereClause"); - RewriteRuleSubtreeStream stream_orderClause = new RewriteRuleSubtreeStream(adaptor,"rule orderClause"); - RewriteRuleSubtreeStream stream_groupClause = new RewriteRuleSubtreeStream(adaptor,"rule groupClause"); - RewriteRuleSubtreeStream stream_fromClause = new RewriteRuleSubtreeStream(adaptor,"rule fromClause"); - RewriteRuleSubtreeStream stream_selectClause = new RewriteRuleSubtreeStream(adaptor,"rule selectClause"); - try - { - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:121:2: ( ^( QUERY ^( SELECT_FROM f= fromClause (s= selectClause )? ) (w= whereClause )? (g= groupClause )? (o= orderClause )? ) -> ^( SELECT ( $s)? $f ( $w)? ( $g)? ( $o)? ) ) - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:121:4: ^( QUERY ^( SELECT_FROM f= fromClause (s= selectClause )? ) (w= whereClause )? (g= groupClause )? (o= orderClause )? ) - { - _last = (IASTNode)input.LT(1); - { - IASTNode _save_last_1 = _last; - IASTNode _first_1 = null; - IASTNode root_1 = (IASTNode)adaptor.GetNilNode();_last = (IASTNode)input.LT(1); - QUERY21=(IASTNode)Match(input,QUERY,FOLLOW_QUERY_in_query480); - stream_QUERY.Add(QUERY21); - - - BeforeStatement( "select", SELECT ); - - Match(input, Token.DOWN, null); - _last = (IASTNode)input.LT(1); - { - IASTNode _save_last_2 = _last; - IASTNode _first_2 = null; - IASTNode root_2 = (IASTNode)adaptor.GetNilNode();_last = (IASTNode)input.LT(1); - SELECT_FROM22=(IASTNode)Match(input,SELECT_FROM,FOLLOW_SELECT_FROM_in_query492); - stream_SELECT_FROM.Add(SELECT_FROM22); - - - - Match(input, Token.DOWN, null); - _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_fromClause_in_query500); - f = fromClause(); - state.followingStackPointer--; - - stream_fromClause.Add(f.Tree); - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:125:5: (s= selectClause )? - int alt8 = 2; - int LA8_0 = input.LA(1); - - if ( (LA8_0 == SELECT) ) - { - alt8 = 1; - } - switch (alt8) - { - case 1 : - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:125:6: s= selectClause - { - _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_selectClause_in_query509); - s = selectClause(); - state.followingStackPointer--; - - stream_selectClause.Add(s.Tree); - - } - break; - - } - - - Match(input, Token.UP, null); adaptor.AddChild(root_1, root_2);_last = _save_last_2; - } - - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:127:4: (w= whereClause )? - int alt9 = 2; - int LA9_0 = input.LA(1); - - if ( (LA9_0 == WHERE) ) - { - alt9 = 1; - } - switch (alt9) - { - case 1 : - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:127:5: w= whereClause - { - _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_whereClause_in_query524); - w = whereClause(); - state.followingStackPointer--; - - stream_whereClause.Add(w.Tree); - - } - break; - - } - - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:128:4: (g= groupClause )? - int alt10 = 2; - int LA10_0 = input.LA(1); - - if ( (LA10_0 == GROUP) ) - { - alt10 = 1; - } - switch (alt10) - { - case 1 : - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:128:5: g= groupClause - { - _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_groupClause_in_query534); - g = groupClause(); - state.followingStackPointer--; - - stream_groupClause.Add(g.Tree); - - } - break; - - } - - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:129:4: (o= orderClause )? - int alt11 = 2; - int LA11_0 = input.LA(1); - - if ( (LA11_0 == ORDER) ) - { - alt11 = 1; - } - switch (alt11) - { - case 1 : - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:129:5: o= orderClause - { - _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_orderClause_in_query544); - o = orderClause(); - state.followingStackPointer--; - - stream_orderClause.Add(o.Tree); - - } - break; - - } - - - Match(input, Token.UP, null); adaptor.AddChild(root_0, root_1);_last = _save_last_1; - } - - - - // AST REWRITE - // elements: s, o, w, f, g - // token labels: - // rule labels: f, w, g, retval, s, o - // token list labels: - // rule list labels: - // wildcard labels: - retval.Tree = root_0; - RewriteRuleSubtreeStream stream_f = new RewriteRuleSubtreeStream(adaptor, "rule f", f!=null ? f.Tree : null); - RewriteRuleSubtreeStream stream_w = new RewriteRuleSubtreeStream(adaptor, "rule w", w!=null ? w.Tree : null); - RewriteRuleSubtreeStream stream_g = new RewriteRuleSubtreeStream(adaptor, "rule g", g!=null ? g.Tree : null); - RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval!=null ? retval.Tree : null); - RewriteRuleSubtreeStream stream_s = new RewriteRuleSubtreeStream(adaptor, "rule s", s!=null ? s.Tree : null); - RewriteRuleSubtreeStream stream_o = new RewriteRuleSubtreeStream(adaptor, "rule o", o!=null ? o.Tree : null); - - root_0 = (IASTNode)adaptor.GetNilNode(); - // 131:2: -> ^( SELECT ( $s)? $f ( $w)? ( $g)? ( $o)? ) - { - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:131:5: ^( SELECT ( $s)? $f ( $w)? ( $g)? ( $o)? ) - { - IASTNode root_1 = (IASTNode)adaptor.GetNilNode(); - root_1 = (IASTNode)adaptor.BecomeRoot((IASTNode)adaptor.Create(SELECT, "SELECT"), root_1); - - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:131:14: ( $s)? - if ( stream_s.HasNext() ) - { - adaptor.AddChild(root_1, stream_s.NextTree()); - - } - stream_s.Reset(); - adaptor.AddChild(root_1, stream_f.NextTree()); - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:131:21: ( $w)? - if ( stream_w.HasNext() ) - { - adaptor.AddChild(root_1, stream_w.NextTree()); - - } - stream_w.Reset(); - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:131:25: ( $g)? - if ( stream_g.HasNext() ) - { - adaptor.AddChild(root_1, stream_g.NextTree()); - - } - stream_g.Reset(); - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:131:29: ( $o)? - if ( stream_o.HasNext() ) - { - adaptor.AddChild(root_1, stream_o.NextTree()); - - } - stream_o.Reset(); - - adaptor.AddChild(root_0, root_1); - } - - } - - retval.Tree = root_0; - } - - retval.Tree = (IASTNode)adaptor.RulePostProcessing(root_0); - - - // Antlr note: #x_in refers to the input AST, #x refers to the output AST - BeforeStatementCompletion( "select" ); - ProcessQuery( ((s != null) ? ((IASTNode)s.Tree) : null), ((IASTNode)retval.Tree) ); - AfterStatementCompletion( "select" ); - - } - catch (RecognitionException re) - { - ReportError(re); - Recover(input,re); - } - finally - { - } - return retval; - } - // $ANTLR end "query" - - public class orderClause_return : TreeRuleReturnScope - { - private IASTNode tree; - override public object Tree - { - get { return tree; } - set { tree = (IASTNode) value; } - } - }; - - // $ANTLR start "orderClause" - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:134:1: orderClause : ^( ORDER orderExprs ) ; - public HqlSqlWalker.orderClause_return orderClause() // throws RecognitionException [1] - { - HqlSqlWalker.orderClause_return retval = new HqlSqlWalker.orderClause_return(); - retval.Start = input.LT(1); - - IASTNode root_0 = null; - - IASTNode _first_0 = null; - IASTNode _last = null; - - IASTNode ORDER23 = null; - HqlSqlWalker.orderExprs_return orderExprs24 = default(HqlSqlWalker.orderExprs_return); - - - IASTNode ORDER23_tree=null; - - try - { - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:135:2: ( ^( ORDER orderExprs ) ) - // C:\\CSharp\\NH\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:135:4: ^( ORDER orderExprs ) - { - root_0 = (IASTNode)adaptor.GetNilNode(); - - _last = (IASTNode)input.LT(1); - { - IASTNode _save_last_1 = _last; - IASTNode _first_1 = null; - IASTNode root_1 = (IASTNode)adaptor.GetNilNode();_last = (IASTNode)input.LT(1); - ORDER23=(IASTNode)Match(input,ORDER,FOLLOW_ORDER_in_orderClause589); - ORDER23_tree = (IASTNode)adaptor.DupNode(ORDER23); - - root_1 = (IASTNode)... [truncated message content] |