// $ANTLR start "collectionFunctionOrSubselect" // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:344:1: collectionFunctionOrSubselect : ( collectionFunction | query ); public HqlSqlWalker.collectionFunctionOrSubselect_return collectionFunctionOrSubselect() // throws RecognitionException [1] { HqlSqlWalker.collectionFunctionOrSubselect_return retval = new HqlSqlWalker.collectionFunctionOrSubselect_return(); retval.Start = input.LT(1); IASTNode root_0 = null; IASTNode _first_0 = null; IASTNode _last = null; HqlSqlWalker.collectionFunction_return collectionFunction137 = default(HqlSqlWalker.collectionFunction_return); HqlSqlWalker.query_return query138 = default(HqlSqlWalker.query_return); try { // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:345:2: ( collectionFunction | query ) int alt46 = 2; int LA46_0 = input.LA(1); if ( (LA46_0 == ELEMENTS || LA46_0 == INDICES) ) { alt46 = 1; } else if ( (LA46_0 == UNION || LA46_0 == QUERY) ) { alt46 = 2; } else { NoViableAltException nvae_d46s0 = new NoViableAltException("", 46, 0, input); throw nvae_d46s0; } switch (alt46) { case 1 : // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:345:4: collectionFunction { root_0 = (IASTNode)adaptor.GetNilNode(); _last = (IASTNode)input.LT(1); PushFollow(FOLLOW_collectionFunction_in_collectionFunctionOrSubselect1727); collectionFunction137 = collectionFunction(); state.followingStackPointer--; adaptor.AddChild(root_0, collectionFunction137.Tree); } break; case 2 : // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:346:4: query { root_0 = (IASTNode)adaptor.GetNilNode(); _last = (IASTNode)input.LT(1); PushFollow(FOLLOW_query_in_collectionFunctionOrSubselect1732); query138 = query(); state.followingStackPointer--; adaptor.AddChild(root_0, query138.Tree); } break; } retval.Tree = (IASTNode)adaptor.RulePostProcessing(root_0); } catch (RecognitionException re) { ReportError(re); Recover(input,re); } finally { } return retval; }
// $ANTLR start "collectionFunctionOrSubselect" // HqlSqlWalker.g:368:1: collectionFunctionOrSubselect : ( collectionFunction | query ); public HqlSqlWalker.collectionFunctionOrSubselect_return collectionFunctionOrSubselect() // throws RecognitionException [1] { HqlSqlWalker.collectionFunctionOrSubselect_return retval = new HqlSqlWalker.collectionFunctionOrSubselect_return(); retval.Start = input.LT(1); IASTNode root_0 = null; IASTNode _first_0 = null; IASTNode _last = null; HqlSqlWalker.collectionFunction_return collectionFunction143 = default(HqlSqlWalker.collectionFunction_return); HqlSqlWalker.query_return query144 = default(HqlSqlWalker.query_return); try { // HqlSqlWalker.g:369:2: ( collectionFunction | query ) int alt48 = 2; int LA48_0 = input.LA(1); if ( (LA48_0 == ELEMENTS || LA48_0 == INDICES) ) { alt48 = 1; } else if ( (LA48_0 == UNION || LA48_0 == QUERY) ) { alt48 = 2; } else { NoViableAltException nvae_d48s0 = new NoViableAltException("", 48, 0, input); throw nvae_d48s0; } switch (alt48) { case 1 : // HqlSqlWalker.g:369:4: collectionFunction { root_0 = (IASTNode)adaptor.GetNilNode(); _last = (IASTNode)input.LT(1); PushFollow(FOLLOW_collectionFunction_in_collectionFunctionOrSubselect1847); collectionFunction143 = collectionFunction(); state.followingStackPointer--; adaptor.AddChild(root_0, collectionFunction143.Tree); } break; case 2 : // HqlSqlWalker.g:370:4: query { root_0 = (IASTNode)adaptor.GetNilNode(); _last = (IASTNode)input.LT(1); PushFollow(FOLLOW_query_in_collectionFunctionOrSubselect1852); query144 = query(); state.followingStackPointer--; adaptor.AddChild(root_0, query144.Tree); } break; } retval.Tree = (IASTNode)adaptor.RulePostProcessing(root_0); } catch (RecognitionException re) { ReportError(re); Recover(input,re); } finally { } return retval; }