|
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] |