From: <jul...@us...> - 2011-06-14 15:18:08
|
Revision: 5926 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5926&view=rev Author: julian-maughan Date: 2011-06-14 15:18:00 +0000 (Tue, 14 Jun 2011) Log Message: ----------- Adds grammar support for Linq queries that have orderby on collection count (NH-2760) 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.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2760/ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2760/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2760/Mappings.hbm.xml trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2760/Model.cs Modified: trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Generated/HqlSqlWalker.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Generated/HqlSqlWalker.cs 2011-06-14 14:00:44 UTC (rev 5925) +++ trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Generated/HqlSqlWalker.cs 2011-06-14 15:18:00 UTC (rev 5926) @@ -1,4 +1,4 @@ -// $ANTLR 3.2 Sep 23, 2009 12:02:23 HqlSqlWalker.g 2011-05-22 07:45:51 +// $ANTLR 3.2 Sep 23, 2009 12:02:23 HqlSqlWalker.g 2011-06-14 20:28:08 // The variable 'variable' is assigned but its value is never used. #pragma warning disable 168, 219 @@ -681,16 +681,16 @@ // AST REWRITE - // elements: f, u, w, s + // elements: w, f, s, u // token labels: u - // rule labels: w, f, retval, s + // rule labels: f, w, 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_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_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); @@ -1845,17 +1845,17 @@ // AST REWRITE - // elements: w, o, f, s, g, tk, sk, h + // elements: sk, o, h, g, s, tk, w, f // token labels: - // rule labels: f, w, sk, g, retval, s, o, tk, h + // rule labels: f, w, g, sk, retval, s, o, tk, h // 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_sk = new RewriteRuleSubtreeStream(adaptor, "rule sk", sk!=null ? sk.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); @@ -1961,7 +1961,7 @@ }; // $ANTLR start "orderClause" - // HqlSqlWalker.g:142:1: orderClause : ^( ORDER orderExprs ) ; + // HqlSqlWalker.g:142:1: orderClause : ^( ORDER ( orderExprs | query ( ASCENDING | DESCENDING )? ) ) ; public HqlSqlWalker.orderClause_return orderClause() // throws RecognitionException [1] { HqlSqlWalker.orderClause_return retval = new HqlSqlWalker.orderClause_return(); @@ -1973,15 +1973,19 @@ IASTNode _last = null; IASTNode ORDER27 = null; + IASTNode set30 = null; HqlSqlWalker.orderExprs_return orderExprs28 = default(HqlSqlWalker.orderExprs_return); + HqlSqlWalker.query_return query29 = default(HqlSqlWalker.query_return); + IASTNode ORDER27_tree=null; + IASTNode set30_tree=null; try { - // HqlSqlWalker.g:143:2: ( ^( ORDER orderExprs ) ) - // HqlSqlWalker.g:143:4: ^( ORDER orderExprs ) + // HqlSqlWalker.g:143:2: ( ^( ORDER ( orderExprs | query ( ASCENDING | DESCENDING )? ) ) ) + // HqlSqlWalker.g:143:4: ^( ORDER ( orderExprs | query ( ASCENDING | DESCENDING )? ) ) { root_0 = (IASTNode)adaptor.GetNilNode(); @@ -1999,13 +2003,92 @@ HandleClauseStart( ORDER ); Match(input, Token.DOWN, null); - _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_orderExprs_in_orderClause658); - orderExprs28 = orderExprs(); - state.followingStackPointer--; + // HqlSqlWalker.g:143:44: ( orderExprs | query ( ASCENDING | DESCENDING )? ) + int alt17 = 2; + int LA17_0 = input.LA(1); - adaptor.AddChild(root_1, orderExprs28.Tree); + if ( (LA17_0 == COUNT || LA17_0 == DOT || LA17_0 == FALSE || LA17_0 == NULL || LA17_0 == TRUE || LA17_0 == CASE || LA17_0 == AGGREGATE || LA17_0 == CASE2 || LA17_0 == INDEX_OP || LA17_0 == METHOD_CALL || LA17_0 == UNARY_MINUS || (LA17_0 >= VECTOR_EXPR && LA17_0 <= WEIRD_IDENT) || (LA17_0 >= NUM_INT && LA17_0 <= JAVA_CONSTANT) || (LA17_0 >= COLON && LA17_0 <= PARAM) || (LA17_0 >= BNOT && LA17_0 <= DIV) || (LA17_0 >= QUOTED_String && LA17_0 <= IDENT)) ) + { + alt17 = 1; + } + else if ( (LA17_0 == UNION || LA17_0 == QUERY) ) + { + alt17 = 2; + } + else + { + NoViableAltException nvae_d17s0 = + new NoViableAltException("", 17, 0, input); + throw nvae_d17s0; + } + switch (alt17) + { + case 1 : + // HqlSqlWalker.g:143:45: orderExprs + { + _last = (IASTNode)input.LT(1); + PushFollow(FOLLOW_orderExprs_in_orderClause659); + orderExprs28 = orderExprs(); + state.followingStackPointer--; + + adaptor.AddChild(root_1, orderExprs28.Tree); + + } + break; + case 2 : + // HqlSqlWalker.g:143:58: query ( ASCENDING | DESCENDING )? + { + _last = (IASTNode)input.LT(1); + PushFollow(FOLLOW_query_in_orderClause663); + query29 = query(); + state.followingStackPointer--; + + adaptor.AddChild(root_1, query29.Tree); + // HqlSqlWalker.g:143:64: ( ASCENDING | DESCENDING )? + int alt16 = 2; + int LA16_0 = input.LA(1); + + if ( (LA16_0 == ASCENDING || LA16_0 == DESCENDING) ) + { + alt16 = 1; + } + switch (alt16) + { + case 1 : + // HqlSqlWalker.g: + { + _last = (IASTNode)input.LT(1); + set30 = (IASTNode)input.LT(1); + if ( input.LA(1) == ASCENDING || input.LA(1) == DESCENDING ) + { + input.Consume(); + + set30_tree = (IASTNode)adaptor.DupNode(set30); + + adaptor.AddChild(root_1, set30_tree); + + state.errorRecovery = false; + } + else + { + MismatchedSetException mse = new MismatchedSetException(null,input); + throw mse; + } + + + } + break; + + } + + + } + break; + + } + + Match(input, Token.UP, null); adaptor.AddChild(root_0, root_1);_last = _save_last_1; } @@ -2049,13 +2132,13 @@ IASTNode _first_0 = null; IASTNode _last = null; - IASTNode set30 = null; - HqlSqlWalker.expr_return expr29 = default(HqlSqlWalker.expr_return); + IASTNode set32 = null; + HqlSqlWalker.expr_return expr31 = default(HqlSqlWalker.expr_return); - HqlSqlWalker.orderExprs_return orderExprs31 = default(HqlSqlWalker.orderExprs_return); + HqlSqlWalker.orderExprs_return orderExprs33 = default(HqlSqlWalker.orderExprs_return); - IASTNode set30_tree=null; + IASTNode set32_tree=null; try { @@ -2065,33 +2148,33 @@ root_0 = (IASTNode)adaptor.GetNilNode(); _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_expr_in_orderExprs670); - expr29 = expr(); + PushFollow(FOLLOW_expr_in_orderExprs686); + expr31 = expr(); state.followingStackPointer--; - adaptor.AddChild(root_0, expr29.Tree); + adaptor.AddChild(root_0, expr31.Tree); // HqlSqlWalker.g:147:9: ( ASCENDING | DESCENDING )? - int alt16 = 2; - int LA16_0 = input.LA(1); + int alt18 = 2; + int LA18_0 = input.LA(1); - if ( (LA16_0 == ASCENDING || LA16_0 == DESCENDING) ) + if ( (LA18_0 == ASCENDING || LA18_0 == DESCENDING) ) { - alt16 = 1; + alt18 = 1; } - switch (alt16) + switch (alt18) { case 1 : // HqlSqlWalker.g: { _last = (IASTNode)input.LT(1); - set30 = (IASTNode)input.LT(1); + set32 = (IASTNode)input.LT(1); if ( input.LA(1) == ASCENDING || input.LA(1) == DESCENDING ) { input.Consume(); - set30_tree = (IASTNode)adaptor.DupNode(set30); + set32_tree = (IASTNode)adaptor.DupNode(set32); - adaptor.AddChild(root_0, set30_tree); + adaptor.AddChild(root_0, set32_tree); state.errorRecovery = false; } @@ -2108,24 +2191,24 @@ } // HqlSqlWalker.g:147:37: ( orderExprs )? - int alt17 = 2; - int LA17_0 = input.LA(1); + int alt19 = 2; + int LA19_0 = input.LA(1); - if ( (LA17_0 == COUNT || LA17_0 == DOT || LA17_0 == FALSE || LA17_0 == NULL || LA17_0 == TRUE || LA17_0 == CASE || LA17_0 == AGGREGATE || LA17_0 == CASE2 || LA17_0 == INDEX_OP || LA17_0 == METHOD_CALL || LA17_0 == UNARY_MINUS || (LA17_0 >= VECTOR_EXPR && LA17_0 <= WEIRD_IDENT) || (LA17_0 >= NUM_INT && LA17_0 <= JAVA_CONSTANT) || (LA17_0 >= COLON && LA17_0 <= PARAM) || (LA17_0 >= BNOT && LA17_0 <= DIV) || (LA17_0 >= QUOTED_String && LA17_0 <= IDENT)) ) + if ( (LA19_0 == COUNT || LA19_0 == DOT || LA19_0 == FALSE || LA19_0 == NULL || LA19_0 == TRUE || LA19_0 == CASE || LA19_0 == AGGREGATE || LA19_0 == CASE2 || LA19_0 == INDEX_OP || LA19_0 == METHOD_CALL || LA19_0 == UNARY_MINUS || (LA19_0 >= VECTOR_EXPR && LA19_0 <= WEIRD_IDENT) || (LA19_0 >= NUM_INT && LA19_0 <= JAVA_CONSTANT) || (LA19_0 >= COLON && LA19_0 <= PARAM) || (LA19_0 >= BNOT && LA19_0 <= DIV) || (LA19_0 >= QUOTED_String && LA19_0 <= IDENT)) ) { - alt17 = 1; + alt19 = 1; } - switch (alt17) + switch (alt19) { case 1 : // HqlSqlWalker.g:147:38: orderExprs { _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_orderExprs_in_orderExprs684); - orderExprs31 = orderExprs(); + PushFollow(FOLLOW_orderExprs_in_orderExprs700); + orderExprs33 = orderExprs(); state.followingStackPointer--; - adaptor.AddChild(root_0, orderExprs31.Tree); + adaptor.AddChild(root_0, orderExprs33.Tree); } break; @@ -2172,13 +2255,13 @@ IASTNode _first_0 = null; IASTNode _last = null; - IASTNode SKIP32 = null; - IASTNode NUM_INT33 = null; - HqlSqlWalker.parameter_return parameter34 = default(HqlSqlWalker.parameter_return); + IASTNode SKIP34 = null; + IASTNode NUM_INT35 = null; + HqlSqlWalker.parameter_return parameter36 = default(HqlSqlWalker.parameter_return); - IASTNode SKIP32_tree=null; - IASTNode NUM_INT33_tree=null; + IASTNode SKIP34_tree=null; + IASTNode NUM_INT35_tree=null; try { @@ -2192,43 +2275,43 @@ IASTNode _save_last_1 = _last; IASTNode _first_1 = null; IASTNode root_1 = (IASTNode)adaptor.GetNilNode();_last = (IASTNode)input.LT(1); - SKIP32=(IASTNode)Match(input,SKIP,FOLLOW_SKIP_in_skipClause698); - SKIP32_tree = (IASTNode)adaptor.DupNode(SKIP32); + SKIP34=(IASTNode)Match(input,SKIP,FOLLOW_SKIP_in_skipClause714); + SKIP34_tree = (IASTNode)adaptor.DupNode(SKIP34); - root_1 = (IASTNode)adaptor.BecomeRoot(SKIP32_tree, root_1); + root_1 = (IASTNode)adaptor.BecomeRoot(SKIP34_tree, root_1); Match(input, Token.DOWN, null); // HqlSqlWalker.g:151:11: ( NUM_INT | parameter ) - int alt18 = 2; - int LA18_0 = input.LA(1); + int alt20 = 2; + int LA20_0 = input.LA(1); - if ( (LA18_0 == NUM_INT) ) + if ( (LA20_0 == NUM_INT) ) { - alt18 = 1; + alt20 = 1; } - else if ( ((LA18_0 >= COLON && LA18_0 <= PARAM)) ) + else if ( ((LA20_0 >= COLON && LA20_0 <= PARAM)) ) { - alt18 = 2; + alt20 = 2; } else { - NoViableAltException nvae_d18s0 = - new NoViableAltException("", 18, 0, input); + NoViableAltException nvae_d20s0 = + new NoViableAltException("", 20, 0, input); - throw nvae_d18s0; + throw nvae_d20s0; } - switch (alt18) + switch (alt20) { case 1 : // HqlSqlWalker.g:151:12: NUM_INT { _last = (IASTNode)input.LT(1); - NUM_INT33=(IASTNode)Match(input,NUM_INT,FOLLOW_NUM_INT_in_skipClause701); - NUM_INT33_tree = (IASTNode)adaptor.DupNode(NUM_INT33); + NUM_INT35=(IASTNode)Match(input,NUM_INT,FOLLOW_NUM_INT_in_skipClause717); + NUM_INT35_tree = (IASTNode)adaptor.DupNode(NUM_INT35); - adaptor.AddChild(root_1, NUM_INT33_tree); + adaptor.AddChild(root_1, NUM_INT35_tree); } @@ -2237,11 +2320,11 @@ // HqlSqlWalker.g:151:22: parameter { _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_parameter_in_skipClause705); - parameter34 = parameter(); + PushFollow(FOLLOW_parameter_in_skipClause721); + parameter36 = parameter(); state.followingStackPointer--; - adaptor.AddChild(root_1, parameter34.Tree); + adaptor.AddChild(root_1, parameter36.Tree); } break; @@ -2292,13 +2375,13 @@ IASTNode _first_0 = null; IASTNode _last = null; - IASTNode TAKE35 = null; - IASTNode NUM_INT36 = null; - HqlSqlWalker.parameter_return parameter37 = default(HqlSqlWalker.parameter_return); + IASTNode TAKE37 = null; + IASTNode NUM_INT38 = null; + HqlSqlWalker.parameter_return parameter39 = default(HqlSqlWalker.parameter_return); - IASTNode TAKE35_tree=null; - IASTNode NUM_INT36_tree=null; + IASTNode TAKE37_tree=null; + IASTNode NUM_INT38_tree=null; try { @@ -2312,43 +2395,43 @@ IASTNode _save_last_1 = _last; IASTNode _first_1 = null; IASTNode root_1 = (IASTNode)adaptor.GetNilNode();_last = (IASTNode)input.LT(1); - TAKE35=(IASTNode)Match(input,TAKE,FOLLOW_TAKE_in_takeClause719); - TAKE35_tree = (IASTNode)adaptor.DupNode(TAKE35); + TAKE37=(IASTNode)Match(input,TAKE,FOLLOW_TAKE_in_takeClause735); + TAKE37_tree = (IASTNode)adaptor.DupNode(TAKE37); - root_1 = (IASTNode)adaptor.BecomeRoot(TAKE35_tree, root_1); + root_1 = (IASTNode)adaptor.BecomeRoot(TAKE37_tree, root_1); Match(input, Token.DOWN, null); // HqlSqlWalker.g:155:11: ( NUM_INT | parameter ) - int alt19 = 2; - int LA19_0 = input.LA(1); + int alt21 = 2; + int LA21_0 = input.LA(1); - if ( (LA19_0 == NUM_INT) ) + if ( (LA21_0 == NUM_INT) ) { - alt19 = 1; + alt21 = 1; } - else if ( ((LA19_0 >= COLON && LA19_0 <= PARAM)) ) + else if ( ((LA21_0 >= COLON && LA21_0 <= PARAM)) ) { - alt19 = 2; + alt21 = 2; } else { - NoViableAltException nvae_d19s0 = - new NoViableAltException("", 19, 0, input); + NoViableAltException nvae_d21s0 = + new NoViableAltException("", 21, 0, input); - throw nvae_d19s0; + throw nvae_d21s0; } - switch (alt19) + switch (alt21) { case 1 : // HqlSqlWalker.g:155:12: NUM_INT { _last = (IASTNode)input.LT(1); - NUM_INT36=(IASTNode)Match(input,NUM_INT,FOLLOW_NUM_INT_in_takeClause722); - NUM_INT36_tree = (IASTNode)adaptor.DupNode(NUM_INT36); + NUM_INT38=(IASTNode)Match(input,NUM_INT,FOLLOW_NUM_INT_in_takeClause738); + NUM_INT38_tree = (IASTNode)adaptor.DupNode(NUM_INT38); - adaptor.AddChild(root_1, NUM_INT36_tree); + adaptor.AddChild(root_1, NUM_INT38_tree); } @@ -2357,11 +2440,11 @@ // HqlSqlWalker.g:155:22: parameter { _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_parameter_in_takeClause726); - parameter37 = parameter(); + PushFollow(FOLLOW_parameter_in_takeClause742); + parameter39 = parameter(); state.followingStackPointer--; - adaptor.AddChild(root_1, parameter37.Tree); + adaptor.AddChild(root_1, parameter39.Tree); } break; @@ -2412,11 +2495,11 @@ IASTNode _first_0 = null; IASTNode _last = null; - IASTNode GROUP38 = null; - HqlSqlWalker.expr_return expr39 = default(HqlSqlWalker.expr_return); + IASTNode GROUP40 = null; + HqlSqlWalker.expr_return expr41 = default(HqlSqlWalker.expr_return); - IASTNode GROUP38_tree=null; + IASTNode GROUP40_tree=null; try { @@ -2430,54 +2513,54 @@ IASTNode _save_last_1 = _last; IASTNode _first_1 = null; IASTNode root_1 = (IASTNode)adaptor.GetNilNode();_last = (IASTNode)input.LT(1); - GROUP38=(IASTNode)Match(input,GROUP,FOLLOW_GROUP_in_groupClause740); - GROUP38_tree = (IASTNode)adaptor.DupNode(GROUP38); + GROUP40=(IASTNode)Match(input,GROUP,FOLLOW_GROUP_in_groupClause756); + GROUP40_tree = (IASTNode)adaptor.DupNode(GROUP40); - root_1 = (IASTNode)adaptor.BecomeRoot(GROUP38_tree, root_1); + root_1 = (IASTNode)adaptor.BecomeRoot(GROUP40_tree, root_1); HandleClauseStart( GROUP ); Match(input, Token.DOWN, null); // HqlSqlWalker.g:159:44: ( expr )+ - int cnt20 = 0; + int cnt22 = 0; do { - int alt20 = 2; - int LA20_0 = input.LA(1); + int alt22 = 2; + int LA22_0 = input.LA(1); - if ( (LA20_0 == COUNT || LA20_0 == DOT || LA20_0 == FALSE || LA20_0 == NULL || LA20_0 == TRUE || LA20_0 == CASE || LA20_0 == AGGREGATE || LA20_0 == CASE2 || LA20_0 == INDEX_OP || LA20_0 == METHOD_CALL || LA20_0 == UNARY_MINUS || (LA20_0 >= VECTOR_EXPR && LA20_0 <= WEIRD_IDENT) || (LA20_0 >= NUM_INT && LA20_0 <= JAVA_CONSTANT) || (LA20_0 >= COLON && LA20_0 <= PARAM) || (LA20_0 >= BNOT && LA20_0 <= DIV) || (LA20_0 >= QUOTED_String && LA20_0 <= IDENT)) ) + if ( (LA22_0 == COUNT || LA22_0 == DOT || LA22_0 == FALSE || LA22_0 == NULL || LA22_0 == TRUE || LA22_0 == CASE || LA22_0 == AGGREGATE || LA22_0 == CASE2 || LA22_0 == INDEX_OP || LA22_0 == METHOD_CALL || LA22_0 == UNARY_MINUS || (LA22_0 >= VECTOR_EXPR && LA22_0 <= WEIRD_IDENT) || (LA22_0 >= NUM_INT && LA22_0 <= JAVA_CONSTANT) || (LA22_0 >= COLON && LA22_0 <= PARAM) || (LA22_0 >= BNOT && LA22_0 <= DIV) || (LA22_0 >= QUOTED_String && LA22_0 <= IDENT)) ) { - alt20 = 1; + alt22 = 1; } - switch (alt20) + switch (alt22) { case 1 : // HqlSqlWalker.g:159:45: expr { _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_expr_in_groupClause745); - expr39 = expr(); + PushFollow(FOLLOW_expr_in_groupClause761); + expr41 = expr(); state.followingStackPointer--; - adaptor.AddChild(root_1, expr39.Tree); + adaptor.AddChild(root_1, expr41.Tree); } break; default: - if ( cnt20 >= 1 ) goto loop20; - EarlyExitException eee20 = - new EarlyExitException(20, input); - throw eee20; + if ( cnt22 >= 1 ) goto loop22; + EarlyExitException eee22 = + new EarlyExitException(22, input); + throw eee22; } - cnt20++; + cnt22++; } while (true); - loop20: - ; // Stops C# compiler whining that label 'loop20' has no statements + loop22: + ; // Stops C# compiler whining that label 'loop22' has no statements Match(input, Token.UP, null); adaptor.AddChild(root_0, root_1);_last = _save_last_1; @@ -2523,11 +2606,11 @@ IASTNode _first_0 = null; IASTNode _last = null; - IASTNode HAVING40 = null; - HqlSqlWalker.logicalExpr_return logicalExpr41 = default(HqlSqlWalker.logicalExpr_return); + IASTNode HAVING42 = null; + HqlSqlWalker.logicalExpr_return logicalExpr43 = default(HqlSqlWalker.logicalExpr_return); - IASTNode HAVING40_tree=null; + IASTNode HAVING42_tree=null; try { @@ -2541,20 +2624,20 @@ IASTNode _save_last_1 = _last; IASTNode _first_1 = null; IASTNode root_1 = (IASTNode)adaptor.GetNilNode();_last = (IASTNode)input.LT(1); - HAVING40=(IASTNode)Match(input,HAVING,FOLLOW_HAVING_in_havingClause761); - HAVING40_tree = (IASTNode)adaptor.DupNode(HAVING40); + HAVING42=(IASTNode)Match(input,HAVING,FOLLOW_HAVING_in_havingClause777); + HAVING42_tree = (IASTNode)adaptor.DupNode(HAVING42); - root_1 = (IASTNode)adaptor.BecomeRoot(HAVING40_tree, root_1); + root_1 = (IASTNode)adaptor.BecomeRoot(HAVING42_tree, root_1); Match(input, Token.DOWN, null); _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_logicalExpr_in_havingClause763); - logicalExpr41 = logicalExpr(); + PushFollow(FOLLOW_logicalExpr_in_havingClause779); + logicalExpr43 = logicalExpr(); state.followingStackPointer--; - adaptor.AddChild(root_1, logicalExpr41.Tree); + adaptor.AddChild(root_1, logicalExpr43.Tree); Match(input, Token.UP, null); adaptor.AddChild(root_0, root_1);_last = _save_last_1; } @@ -2600,12 +2683,12 @@ IASTNode _last = null; IASTNode d = null; - IASTNode SELECT42 = null; + IASTNode SELECT44 = null; HqlSqlWalker.selectExprList_return x = default(HqlSqlWalker.selectExprList_return); IASTNode d_tree=null; - IASTNode SELECT42_tree=null; + IASTNode SELECT44_tree=null; RewriteRuleNodeStream stream_SELECT = new RewriteRuleNodeStream(adaptor,"token SELECT"); RewriteRuleNodeStream stream_DISTINCT = new RewriteRuleNodeStream(adaptor,"token DISTINCT"); RewriteRuleSubtreeStream stream_selectExprList = new RewriteRuleSubtreeStream(adaptor,"rule selectExprList"); @@ -2619,28 +2702,28 @@ IASTNode _save_last_1 = _last; IASTNode _first_1 = null; IASTNode root_1 = (IASTNode)adaptor.GetNilNode();_last = (IASTNode)input.LT(1); - SELECT42=(IASTNode)Match(input,SELECT,FOLLOW_SELECT_in_selectClause777); - stream_SELECT.Add(SELECT42); + SELECT44=(IASTNode)Match(input,SELECT,FOLLOW_SELECT_in_selectClause793); + stream_SELECT.Add(SELECT44); HandleClauseStart( SELECT ); BeforeSelectClause(); Match(input, Token.DOWN, null); // HqlSqlWalker.g:167:68: (d= DISTINCT )? - int alt21 = 2; - int LA21_0 = input.LA(1); + int alt23 = 2; + int LA23_0 = input.LA(1); - if ( (LA21_0 == DISTINCT) ) + if ( (LA23_0 == DISTINCT) ) { - alt21 = 1; + alt23 = 1; } - switch (alt21) + switch (alt23) { case 1 : // HqlSqlWalker.g:167:69: d= DISTINCT { _last = (IASTNode)input.LT(1); - d=(IASTNode)Match(input,DISTINCT,FOLLOW_DISTINCT_in_selectClause784); + d=(IASTNode)Match(input,DISTINCT,FOLLOW_DISTINCT_in_selectClause800); stream_DISTINCT.Add(d); @@ -2650,7 +2733,7 @@ } _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_selectExprList_in_selectClause790); + PushFollow(FOLLOW_selectExprList_in_selectClause806); x = selectExprList(); state.followingStackPointer--; @@ -2662,7 +2745,7 @@ // AST REWRITE - // elements: d, x + // elements: x, d // token labels: d // rule labels: retval, x // token list labels: @@ -2735,9 +2818,9 @@ IASTNode _first_0 = null; IASTNode _last = null; - HqlSqlWalker.selectExpr_return selectExpr43 = default(HqlSqlWalker.selectExpr_return); + HqlSqlWalker.selectExpr_return selectExpr45 = default(HqlSqlWalker.selectExpr_return); - HqlSqlWalker.aliasedSelectExpr_return aliasedSelectExpr44 = default(HqlSqlWalker.aliasedSelectExpr_return); + HqlSqlWalker.aliasedSelectExpr_return aliasedSelectExpr46 = default(HqlSqlWalker.aliasedSelectExpr_return); @@ -2753,33 +2836,33 @@ root_0 = (IASTNode)adaptor.GetNilNode(); // HqlSqlWalker.g:175:4: ( selectExpr | aliasedSelectExpr )+ - int cnt22 = 0; + int cnt24 = 0; do { - int alt22 = 3; - int LA22_0 = input.LA(1); + int alt24 = 3; + int LA24_0 = input.LA(1); - if ( (LA22_0 == ALL || LA22_0 == COUNT || LA22_0 == DOT || LA22_0 == ELEMENTS || LA22_0 == INDICES || LA22_0 == UNION || LA22_0 == CASE || LA22_0 == OBJECT || LA22_0 == AGGREGATE || (LA22_0 >= CONSTRUCTOR && LA22_0 <= CASE2) || LA22_0 == METHOD_CALL || LA22_0 == QUERY || LA22_0 == UNARY_MINUS || LA22_0 == WEIRD_IDENT || (LA22_0 >= NUM_INT && LA22_0 <= NUM_LONG) || (LA22_0 >= COLON && LA22_0 <= PARAM) || (LA22_0 >= BNOT && LA22_0 <= DIV) || (LA22_0 >= QUOTED_String && LA22_0 <= IDENT)) ) + if ( (LA24_0 == ALL || LA24_0 == COUNT || LA24_0 == DOT || LA24_0 == ELEMENTS || LA24_0 == INDICES || LA24_0 == UNION || LA24_0 == CASE || LA24_0 == OBJECT || LA24_0 == AGGREGATE || (LA24_0 >= CONSTRUCTOR && LA24_0 <= CASE2) || LA24_0 == METHOD_CALL || LA24_0 == QUERY || LA24_0 == UNARY_MINUS || LA24_0 == WEIRD_IDENT || (LA24_0 >= NUM_INT && LA24_0 <= NUM_LONG) || (LA24_0 >= COLON && LA24_0 <= PARAM) || (LA24_0 >= BNOT && LA24_0 <= DIV) || (LA24_0 >= QUOTED_String && LA24_0 <= IDENT)) ) { - alt22 = 1; + alt24 = 1; } - else if ( (LA22_0 == AS) ) + else if ( (LA24_0 == AS) ) { - alt22 = 2; + alt24 = 2; } - switch (alt22) + switch (alt24) { case 1 : // HqlSqlWalker.g:175:6: selectExpr { _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_selectExpr_in_selectExprList825); - selectExpr43 = selectExpr(); + PushFollow(FOLLOW_selectExpr_in_selectExprList841); + selectExpr45 = selectExpr(); state.followingStackPointer--; - adaptor.AddChild(root_0, selectExpr43.Tree); + adaptor.AddChild(root_0, selectExpr45.Tree); } break; @@ -2787,26 +2870,26 @@ // HqlSqlWalker.g:175:19: aliasedSelectExpr { _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_aliasedSelectExpr_in_selectExprList829); - aliasedSelectExpr44 = aliasedSelectExpr(); + PushFollow(FOLLOW_aliasedSelectExpr_in_selectExprList845); + aliasedSelectExpr46 = aliasedSelectExpr(); state.followingStackPointer--; - adaptor.AddChild(root_0, aliasedSelectExpr44.Tree); + adaptor.AddChild(root_0, aliasedSelectExpr46.Tree); } break; default: - if ( cnt22 >= 1 ) goto loop22; - EarlyExitException eee22 = - new EarlyExitException(22, input); - throw eee22; + if ( cnt24 >= 1 ) goto loop24; + EarlyExitException eee24 = + new EarlyExitException(24, input); + throw eee24; } - cnt22++; + cnt24++; } while (true); - loop22: - ; // Stops C# compiler whining that label 'loop22' has no statements + loop24: + ; // Stops C# compiler whining that label 'loop24' has no statements _inSelect = oldInSelect; @@ -2851,13 +2934,13 @@ IASTNode _first_0 = null; IASTNode _last = null; - IASTNode AS45 = null; + IASTNode AS47 = null; HqlSqlWalker.selectExpr_return se = default(HqlSqlWalker.selectExpr_return); HqlSqlWalker.identifier_return i = default(HqlSqlWalker.identifier_return); - IASTNode AS45_tree=null; + IASTNode AS47_tree=null; try { @@ -2871,22 +2954,22 @@ IASTNode _save_last_1 = _last; IASTNode _first_1 = null; IASTNode root_1 = (IASTNode)adaptor.GetNilNode();_last = (IASTNode)input.LT(1); - AS45=(IASTNode)Match(input,AS,FOLLOW_AS_in_aliasedSelectExpr853); - AS45_tree = (IASTNode)adaptor.DupNode(AS45); + AS47=(IASTNode)Match(input,AS,FOLLOW_AS_in_aliasedSelectExpr869); + AS47_tree = (IASTNode)adaptor.DupNode(AS47); - root_1 = (IASTNode)adaptor.BecomeRoot(AS45_tree, root_1); + root_1 = (IASTNode)adaptor.BecomeRoot(AS47_tree, root_1); Match(input, Token.DOWN, null); _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_selectExpr_in_aliasedSelectExpr857); + PushFollow(FOLLOW_selectExpr_in_aliasedSelectExpr873); se = selectExpr(); state.followingStackPointer--; adaptor.AddChild(root_1, se.Tree); _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_identifier_in_aliasedSelectExpr861); + PushFollow(FOLLOW_identifier_in_aliasedSelectExpr877); i = identifier(); state.followingStackPointer--; @@ -2939,8 +3022,8 @@ IASTNode _first_0 = null; IASTNode _last = null; - IASTNode ALL46 = null; - IASTNode OBJECT47 = null; + IASTNode ALL48 = null; + IASTNode OBJECT49 = null; HqlSqlWalker.propertyRef_return p = default(HqlSqlWalker.propertyRef_return); HqlSqlWalker.aliasRef_return ar2 = default(HqlSqlWalker.aliasRef_return); @@ -2949,73 +3032,73 @@ HqlSqlWalker.constructor_return con = default(HqlSqlWalker.constructor_return); - HqlSqlWalker.functionCall_return functionCall48 = default(HqlSqlWalker.functionCall_return); + HqlSqlWalker.functionCall_return functionCall50 = default(HqlSqlWalker.functionCall_return); - HqlSqlWalker.parameter_return parameter49 = default(HqlSqlWalker.parameter_return); + HqlSqlWalker.parameter_return parameter51 = default(HqlSqlWalker.parameter_return); - HqlSqlWalker.count_return count50 = default(HqlSqlWalker.count_return); + HqlSqlWalker.count_return count52 = default(HqlSqlWalker.count_return); - HqlSqlWalker.collectionFunction_return collectionFunction51 = default(HqlSqlWalker.collectionFunction_return); + HqlSqlWalker.collectionFunction_return collectionFunction53 = default(HqlSqlWalker.collectionFunction_return); - HqlSqlWalker.literal_return literal52 = default(HqlSqlWalker.literal_return); + HqlSqlWalker.literal_return literal54 = default(HqlSqlWalker.literal_return); - HqlSqlWalker.arithmeticExpr_return arithmeticExpr53 = default(HqlSqlWalker.arithmeticExpr_return); + HqlSqlWalker.arithmeticExpr_return arithmeticExpr55 = default(HqlSqlWalker.arithmeticExpr_return); - HqlSqlWalker.query_return query54 = default(HqlSqlWalker.query_return); + HqlSqlWalker.query_return query56 = default(HqlSqlWalker.query_return); - IASTNode ALL46_tree=null; - IASTNode OBJECT47_tree=null; + IASTNode ALL48_tree=null; + IASTNode OBJECT49_tree=null; try { // HqlSqlWalker.g:189:2: (p= propertyRef | ^( ALL ar2= aliasRef ) | ^( OBJECT ar3= aliasRef ) | con= constructor | functionCall | parameter | count | collectionFunction | literal | arithmeticExpr | query ) - int alt23 = 11; + int alt25 = 11; switch ( input.LA(1) ) { case DOT: case WEIRD_IDENT: case IDENT: { - alt23 = 1; + alt25 = 1; } break; case ALL: { - alt23 = 2; + alt25 = 2; } break; case OBJECT: { - alt23 = 3; + alt25 = 3; } break; case CONSTRUCTOR: { - alt23 = 4; + alt25 = 4; } break; case AGGREGATE: case METHOD_CALL: { - alt23 = 5; + alt25 = 5; } break; case COLON: case PARAM: { - alt23 = 6; + alt25 = 6; } break; case COUNT: { - alt23 = 7; + alt25 = 7; } break; case ELEMENTS: case INDICES: { - alt23 = 8; + alt25 = 8; } break; case NUM_INT: @@ -3025,7 +3108,7 @@ case NUM_LONG: case QUOTED_String: { - alt23 = 9; + alt25 = 9; } break; case CASE: @@ -3040,23 +3123,23 @@ case STAR: case DIV: { - alt23 = 10; + alt25 = 10; } break; case UNION: case QUERY: { - alt23 = 11; + alt25 = 11; } break; default: - NoViableAltException nvae_d23s0 = - new NoViableAltException("", 23, 0, input); + NoViableAltException nvae_d25s0 = + new NoViableAltException("", 25, 0, input); - throw nvae_d23s0; + throw nvae_d25s0; } - switch (alt23) + switch (alt25) { case 1 : // HqlSqlWalker.g:189:4: p= propertyRef @@ -3064,7 +3147,7 @@ root_0 = (IASTNode)adaptor.GetNilNode(); _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_propertyRef_in_selectExpr876); + PushFollow(FOLLOW_propertyRef_in_selectExpr892); p = propertyRef(); state.followingStackPointer--; @@ -3083,16 +3166,16 @@ IASTNode _save_last_1 = _last; IASTNode _first_1 = null; IASTNode root_1 = (IASTNode)adaptor.GetNilNode();_last = (IASTNode)input.LT(1); - ALL46=(IASTNode)Match(input,ALL,FOLLOW_ALL_in_selectExpr888); - ALL46_tree = (IASTNode)adaptor.DupNode(ALL46); + ALL48=(IASTNode)Match(input,ALL,FOLLOW_ALL_in_selectExpr904); + ALL48_tree = (IASTNode)adaptor.DupNode(ALL48); - root_1 = (IASTNode)adaptor.BecomeRoot(ALL46_tree, root_1); + root_1 = (IASTNode)adaptor.BecomeRoot(ALL48_tree, root_1); Match(input, Token.DOWN, null); _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_aliasRef_in_selectExpr892); + PushFollow(FOLLOW_aliasRef_in_selectExpr908); ar2 = aliasRef(); state.followingStackPointer--; @@ -3115,16 +3198,16 @@ IASTNode _save_last_1 = _last; IASTNode _first_1 = null; IASTNode root_1 = (IASTNode)adaptor.GetNilNode();_last = (IASTNode)input.LT(1); - OBJECT47=(IASTNode)Match(input,OBJECT,FOLLOW_OBJECT_in_selectExpr904); - OBJECT47_tree = (IASTNode)adaptor.DupNode(OBJECT47); + OBJECT49=(IASTNode)Match(input,OBJECT,FOLLOW_OBJECT_in_selectExpr920); + OBJECT49_tree = (IASTNode)adaptor.DupNode(OBJECT49); - root_1 = (IASTNode)adaptor.BecomeRoot(OBJECT47_tree, root_1); + root_1 = (IASTNode)adaptor.BecomeRoot(OBJECT49_tree, root_1); Match(input, Token.DOWN, null); _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_aliasRef_in_selectExpr908); + PushFollow(FOLLOW_aliasRef_in_selectExpr924); ar3 = aliasRef(); state.followingStackPointer--; @@ -3143,7 +3226,7 @@ root_0 = (IASTNode)adaptor.GetNilNode(); _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_constructor_in_selectExpr919); + PushFollow(FOLLOW_constructor_in_selectExpr935); con = constructor(); state.followingStackPointer--; @@ -3158,11 +3241,11 @@ root_0 = (IASTNode)adaptor.GetNilNode(); _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_functionCall_in_selectExpr930); - functionCall48 = functionCall(); + PushFollow(FOLLOW_functionCall_in_selectExpr946); + functionCall50 = functionCall(); state.followingStackPointer--; - adaptor.AddChild(root_0, functionCall48.Tree); + adaptor.AddChild(root_0, functionCall50.Tree); } break; @@ -3172,11 +3255,11 @@ root_0 = (IASTNode)adaptor.GetNilNode(); _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_parameter_in_selectExpr935); - parameter49 = parameter(); + PushFollow(FOLLOW_parameter_in_selectExpr951); + parameter51 = parameter(); state.followingStackPointer--; - adaptor.AddChild(root_0, parameter49.Tree); + adaptor.AddChild(root_0, parameter51.Tree); } break; @@ -3186,11 +3269,11 @@ root_0 = (IASTNode)adaptor.GetNilNode(); _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_count_in_selectExpr940); - count50 = count(); + PushFollow(FOLLOW_count_in_selectExpr956); + count52 = count(); state.followingStackPointer--; - adaptor.AddChild(root_0, count50.Tree); + adaptor.AddChild(root_0, count52.Tree); } break; @@ -3200,11 +3283,11 @@ root_0 = (IASTNode)adaptor.GetNilNode(); _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_collectionFunction_in_selectExpr945); - collectionFunction51 = collectionFunction(); + PushFollow(FOLLOW_collectionFunction_in_selectExpr961); + collectionFunction53 = collectionFunction(); state.followingStackPointer--; - adaptor.AddChild(root_0, collectionFunction51.Tree); + adaptor.AddChild(root_0, collectionFunction53.Tree); } break; @@ -3214,11 +3297,11 @@ root_0 = (IASTNode)adaptor.GetNilNode(); _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_literal_in_selectExpr953); - literal52 = literal(); + PushFollow(FOLLOW_literal_in_selectExpr969); + literal54 = literal(); state.followingStackPointer--; - adaptor.AddChild(root_0, literal52.Tree); + adaptor.AddChild(root_0, literal54.Tree); } break; @@ -3228,11 +3311,11 @@ root_0 = (IASTNode)adaptor.GetNilNode(); _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_arithmeticExpr_in_selectExpr958); - arithmeticExpr53 = arithmeticExpr(); + PushFollow(FOLLOW_arithmeticExpr_in_selectExpr974); + arithmeticExpr55 = arithmeticExpr(); state.followingStackPointer--; - adaptor.AddChild(root_0, arithmeticExpr53.Tree); + adaptor.AddChild(root_0, arithmeticExpr55.Tree); } break; @@ -3242,11 +3325,11 @@ root_0 = (IASTNode)adaptor.GetNilNode(); _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_query_in_selectExpr963); - query54 = query(); + PushFollow(FOLLOW_query_in_selectExpr979); + query56 = query(); state.followingStackPointer--; - adaptor.AddChild(root_0, query54.Tree); + adaptor.AddChild(root_0, query56.Tree); } break; @@ -3289,15 +3372,15 @@ IASTNode _first_0 = null; IASTNode _last = null; - IASTNode COUNT55 = null; - IASTNode set56 = null; - IASTNode ROW_STAR58 = null; - HqlSqlWalker.aggregateExpr_return aggregateExpr57 = default(HqlSqlWalker.aggregateExpr_return); + IASTNode COUNT57 = null; + IASTNode set58 = null; + IASTNode ROW_STAR60 = null; + HqlSqlWalker.aggregateExpr_return aggregateExpr59 = default(HqlSqlWalker.aggregateExpr_return); - IASTNode COUNT55_tree=null; - IASTNode set56_tree=null; - IASTNode ROW_STAR58_tree=null; + IASTNode COUNT57_tree=null; + IASTNode set58_tree=null; + IASTNode ROW_STAR60_tree=null; try { @@ -3311,36 +3394,36 @@ IASTNode _save_last_1 = _last; IASTNode _first_1 = null; IASTNode root_1 = (IASTNode)adaptor.GetNilNode();_last = (IASTNode)input.LT(1); - COUNT55=(IASTNode)Match(input,COUNT,FOLLOW_COUNT_in_count975); - COUNT55_tree = (IASTNode)adaptor.DupNode(COUNT55); + COUNT57=(IASTNode)Match(input,COUNT,FOLLOW_COUNT_in_count991); + COUNT57_tree = (IASTNode)adaptor.DupNode(COUNT57); - root_1 = (IASTNode)adaptor.BecomeRoot(COUNT55_tree, root_1); + root_1 = (IASTNode)adaptor.BecomeRoot(COUNT57_tree, root_1); Match(input, Token.DOWN, null); // HqlSqlWalker.g:203:12: ( DISTINCT | ALL )? - int alt24 = 2; - int LA24_0 = input.LA(1); + int alt26 = 2; + int LA26_0 = input.LA(1); - if ( (LA24_0 == ALL || LA24_0 == DISTINCT) ) + if ( (LA26_0 == ALL || LA26_0 == DISTINCT) ) { - alt24 = 1; + alt26 = 1; } - switch (alt24) + switch (alt26) { case 1 : // HqlSqlWalker.g: { _last = (IASTNode)input.LT(1); - set56 = (IASTNode)input.LT(1); + set58 = (IASTNode)input.LT(1); if ( input.LA(1) == ALL || input.LA(1) == DISTINCT ) { input.Consume(); - set56_tree = (IASTNode)adaptor.DupNode(set56); + set58_tree = (IASTNode)adaptor.DupNode(set58); - adaptor.AddChild(root_1, set56_tree); + adaptor.AddChild(root_1, set58_tree); state.errorRecovery = false; } @@ -3357,35 +3440,35 @@ } // HqlSqlWalker.g:203:32: ( aggregateExpr | ROW_STAR ) - int alt25 = 2; - int LA25_0 = input.LA(1); + int alt27 = 2; + int LA27_0 = input.LA(1); - if ( (LA25_0 == COUNT || LA25_0 == DOT || LA25_0 == ELEMENTS || LA25_0 == FALSE || LA25_0 == INDICES || LA25_0 == NULL || LA25_0 == TRUE || LA25_0 == CASE || LA25_0 == AGGREGATE || LA25_0 == CASE2 || LA25_0 == INDEX_OP || LA25_0 == METHOD_CALL || LA25_0 == UNARY_MINUS || (LA25_0 >= VECTOR_EXPR && LA25_0 <= WEIRD_IDENT) || (LA25_0 >= NUM_INT && LA25_0 <= JAVA_CONSTANT) || (LA25_0 >= COLON && LA25_0 <= PARAM) || (LA25_0 >= BNOT && LA25_0 <= DIV) || (LA25_0 >= QUOTED_String && LA25_0 <= IDENT)) ) + if ( (LA27_0 == COUNT || LA27_0 == DOT || LA27_0 == ELEMENTS || LA27_0 == FALSE || LA27_0 == INDICES || LA27_0 == NULL || LA27_0 == TRUE || LA27_0 == CASE || LA27_0 == AGGREGATE || LA27_0 == CASE2 || LA27_0 == INDEX_OP || LA27_0 == METHOD_CALL || LA27_0 == UNARY_MINUS || (LA27_0 >= VECTOR_EXPR && LA27_0 <= WEIRD_IDENT) || (LA27_0 >= NUM_INT && LA27_0 <= JAVA_CONSTANT) || (LA27_0 >= COLON && LA27_0 <= PARAM) || (LA27_0 >= BNOT && LA27_0 <= DIV) || (LA27_0 >= QUOTED_String && LA27_0 <= IDENT)) ) { - alt25 = 1; + alt27 = 1; } - else if ( (LA25_0 == ROW_STAR) ) + else if ( (LA27_0 == ROW_STAR) ) { - alt25 = 2; + alt27 = 2; } else { - NoViableAltException nvae_d25s0 = - new NoViableAltException("", 25, 0, input); + NoViableAltException nvae_d27s0 = + new NoViableAltException("", 27, 0, input); - throw nvae_d25s0; + throw nvae_d27s0; } - switch (alt25) + switch (alt27) { case 1 : // HqlSqlWalker.g:203:34: aggregateExpr { _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_aggregateExpr_in_count990); - aggregateExpr57 = aggregateExpr(); + PushFollow(FOLLOW_aggregateExpr_in_count1006); + aggregateExpr59 = aggregateExpr(); state.followingStackPointer--; - adaptor.AddChild(root_1, aggregateExpr57.Tree); + adaptor.AddChild(root_1, aggregateExpr59.Tree); } break; @@ -3393,10 +3476,10 @@ // HqlSqlWalker.g:203:50: ROW_STAR { _last = (IASTNode)input.LT(1); - ROW_STAR58=(IASTNode)Match(input,ROW_STAR,FOLLOW_ROW_STAR_in_count994); - ROW_STAR58_tree = (IASTNode)adaptor.DupNode(ROW_STAR58); + ROW_STAR60=(IASTNode)Match(input,ROW_STAR,FOLLOW_ROW_STAR_in_count1010); + ROW_STAR60_tree = (IASTNode)adaptor.DupNode(ROW_STAR60); - adaptor.AddChild(root_1, ROW_STAR58_tree); + adaptor.AddChild(root_1, ROW_STAR60_tree); } @@ -3448,15 +3531,15 @@ IASTNode _first_0 = null; IASTNode _last = null; - IASTNode CONSTRUCTOR59 = null; - HqlSqlWalker.path_return path60 = default(HqlSqlWalker.path_return); + IASTNode CONSTRUCTOR61 = null; + HqlSqlWalker.path_return path62 = default(HqlSqlWalker.path_return); - HqlSqlWalker.selectExpr_return selectExpr61 = default(HqlSqlWalker.selectExpr_return); + HqlSqlWalker.selectExpr_return selectExpr63 = default(HqlSqlWalker.selectExpr_return); - HqlSqlWalker.aliasedSelectExpr_return aliasedSelectExpr62 = default(HqlSqlWalker.aliasedSelectExpr_return); + HqlSqlWalker.aliasedSelectExpr_return aliasedSelectExpr64 = default(HqlSqlWalker.aliasedSelectExpr_return); - IASTNode CONSTRUCTOR59_tree=null; + IASTNode CONSTRUCTOR61_tree=null; try { @@ -3470,47 +3553,47 @@ IASTNode _save_last_1 = _last; IASTNode _first_1 = null; IASTNode root_1 = (IASTNode)adaptor.GetNilNode();_last = (IASTNode)input.LT(1); - CONSTRUCTOR59=(IASTNode)Match(input,CONSTRUCTOR,FOLLOW_CONSTRUCTOR_in_constructor1010); - CONSTRUCTOR59_tree = (IASTNode)adaptor.DupNode(CONSTRUCTOR59); + CONSTRUCTOR61=(IASTNode)Match(input,CONSTRUCTOR,FOLLOW_CONSTRUCTOR_in_constructor1026); + CONSTRUCTOR61_tree = (IASTNode)adaptor.DupNode(CONSTRUCTOR61); - root_1 = (IASTNode)adaptor.BecomeRoot(CONSTRUCTOR59_tree, root_1); + root_1 = (IASTNode)adaptor.BecomeRoot(CONSTRUCTOR61_tree, root_1); Match(input, Token.DOWN, null); _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_path_in_constructor1012); - path60 = path(); + PushFollow(FOLLOW_path_in_constructor1028); + path62 = path(); state.followingStackPointer--; - adaptor.AddChild(root_1, path60.Tree); + adaptor.AddChild(root_1, path62.Tree); // HqlSqlWalker.g:207:23: ( selectExpr | aliasedSelectExpr )* do { - int alt26 = 3; - int LA26_0 = input.LA(1); + int alt28 = 3; + int LA28_0 = input.LA(1); - if ( (LA26_0 == ALL || LA26_0 == COUNT || LA26_0 == DOT || LA26_0 == ELEMENTS || LA26_0 == INDICES || LA26_0 == UNION || LA26_0 == CASE || LA26_0 == OBJECT || LA26_0 == AGGREGATE || (LA26_0 >= CONSTRUCTOR && LA26_0 <= CASE2) || LA26_0 == METHOD_CALL || LA26_0 == QUERY || LA26_0 == UNARY_MINUS || LA26_0 == WEIRD_IDENT || (LA26_0 >= NUM_INT && LA26_0 <= NUM_LONG) || (LA26_0 >= COLON && LA26_0 <= PARAM) || (LA26_0 >= BNOT && LA26_0 <= DIV) || (LA26_0 >= QUOTED_String && LA26_0 <= IDENT)) ) + if ( (LA28_0 == ALL || LA28_0 == COUNT || LA28_0 == DOT || LA28_0 == ELEMENTS || LA28_0 == INDICES || LA28_0 == UNION || LA28_0 == CASE || LA28_0 == OBJECT || LA28_0 == AGGREGATE || (LA28_0 >= CONSTRUCTOR && LA28_0 <= CASE2) || LA28_0 == METHOD_CALL || LA28_0 == QUERY || LA28_0 == UNARY_MINUS || LA28_0 == WEIRD_IDENT || (LA28_0 >= NUM_INT && LA28_0 <= NUM_LONG) || (LA28_0 >= COLON && LA28_0 <= PARAM) || (LA28_0 >= BNOT && LA28_0 <= DIV) || (LA28_0 >= QUOTED_String && LA28_0 <= IDENT)) ) { - alt26 = 1; + alt28 = 1; } - else if ( (LA26_0 == AS) ) + else if ( (LA28_0 == AS) ) { - alt26 = 2; + alt28 = 2; } - switch (alt26) + switch (alt28) { case 1 : // HqlSqlWalker.g:207:25: selectExpr { _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_selectExpr_in_constructor1016); - selectExpr61 = selectExpr(); + PushFollow(FOLLOW_selectExpr_in_constructor1032); + selectExpr63 = selectExpr(); state.followingStackPointer--; - adaptor.AddChild(root_1, selectExpr61.Tree); + adaptor.AddChild(root_1, selectExpr63.Tree); } break; @@ -3518,22 +3601,22 @@ // HqlSqlWalker.g:207:38: aliasedSelectExpr { _last = (IASTNode)input.LT(1); - PushFollow(FOLLOW_aliasedSelectExpr_in_constructor1020); - aliasedSelectExpr62 = aliasedSelectExpr(); + PushFollow(FOLLOW_aliasedSelectExpr_in_constructor1036); + aliasedSelectExpr64 = aliasedSelectExpr(); state.followingStackPointer--; - adaptor.AddChild(root_1, aliasedSelectExpr62.Tree); + adaptor.AddChild(root_1, aliasedSelectExpr64.Tree); } break; default: - goto loop26; + goto loop28; } } while (true); - loop26: - ; // Stops C# compiler whining that label 'loop26' has no statements + loop28: + ; // Stops C# compiler whining that label 'loop28' has no statements Match(input, Token.UP, null); adaptor.AddChild(root_0, root_1);_last = _save_last_1; @@ -3579,34 +3662,34 @@ IASTNode _first_0 = null; IASTNode _last = null; - HqlSqlWalker.expr_return expr63 = default(HqlSqlWalker.expr_return); + HqlSqlWalker.expr_return expr65 = default(HqlSqlWalker.expr_return); - HqlSqlWalker.collectionFunction_return collectionFunction64 = default(HqlSqlWalker.collectionFunction_return); + HqlSqlWalker.collectionFunction_return collectionFunction66 = default(HqlSqlWalker.collectionFunction_return); try { // HqlSqlWalker.g:211:2: ( expr | collectionFunction ) - int alt27 = 2; - int LA27_0 = input.LA(1); + int alt29 = 2; + int LA29_0 = input.LA(1); - if ( (LA27_0 == COUNT || LA27_0 == DOT || LA27_0 == FALSE || LA27_0 == NULL || LA27_0 == TRUE || LA27_0 == CASE || LA27_0 == AGGREGATE || LA27_0 == CASE2 || LA27_0 == INDEX_OP || LA27_0 == METHOD_CALL || LA27_0 == UNARY_MINUS || (LA27_0 >= VECTOR_EXPR && LA27_0 <= WEIRD_IDENT) || (LA27_0 >= NUM_INT && LA27_0 <= JAVA_CONSTANT) || (LA27_0 >= COLON && LA27_0 <= PARAM) || (LA27_0 >= BNOT && LA27_0 <= DIV) || (LA27_0 >= QUOTED_String && LA27_0 <= IDENT)) ) + if ( (LA29_0 == COUNT || LA29_0 == DOT || LA29_0 == FALSE || LA29_0 == NULL || LA29_0 == TRUE || LA29_0 == CASE || LA29_0 == AGGREGATE || LA29_0 == CASE2 || LA29_0 == INDEX_OP || LA29_0 == METHOD_CALL || LA29_0 == UNARY_MINUS || (LA29_0 >= VECTOR_EXPR && LA29_0 <= WEIRD_IDENT) |... [truncated message content] |