// $ANTLR start "orderElement" // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:300:1: orderElement : expression ( ascendingOrDescending )? ; public HqlParser.orderElement_return orderElement() // throws RecognitionException [1] { HqlParser.orderElement_return retval = new HqlParser.orderElement_return(); retval.Start = input.LT(1); IASTNode root_0 = null; HqlParser.expression_return expression128 = default(HqlParser.expression_return); HqlParser.ascendingOrDescending_return ascendingOrDescending129 = default(HqlParser.ascendingOrDescending_return); try { // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:301:2: ( expression ( ascendingOrDescending )? ) // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:301:4: expression ( ascendingOrDescending )? { root_0 = (IASTNode)adaptor.GetNilNode(); PushFollow(FOLLOW_expression_in_orderElement1609); expression128 = expression(); state.followingStackPointer--; adaptor.AddChild(root_0, expression128.Tree); // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:301:15: ( ascendingOrDescending )? int alt39 = 2; int LA39_0 = input.LA(1); if ( (LA39_0 == ASCENDING || LA39_0 == DESCENDING || (LA39_0 >= 130 && LA39_0 <= 131)) ) { alt39 = 1; } switch (alt39) { case 1 : // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:301:17: ascendingOrDescending { PushFollow(FOLLOW_ascendingOrDescending_in_orderElement1613); ascendingOrDescending129 = ascendingOrDescending(); state.followingStackPointer--; adaptor.AddChild(root_0, ascendingOrDescending129.Tree); } break; } } retval.Stop = input.LT(-1); retval.Tree = (IASTNode)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop); } catch (RecognitionException re) { ReportError(re); Recover(input,re); // Conversion of the second argument necessary, but harmless retval.Tree = (IASTNode)adaptor.ErrorNode(input, (IToken) retval.Start, input.LT(-1), re); } finally { } return retval; }
// $ANTLR start "orderElement" // Hql.g:318:1: orderElement : expression ( ascendingOrDescending )? ; public HqlParser.orderElement_return orderElement() // throws RecognitionException [1] { HqlParser.orderElement_return retval = new HqlParser.orderElement_return(); retval.Start = input.LT(1); IASTNode root_0 = null; HqlParser.expression_return expression141 = default(HqlParser.expression_return); HqlParser.ascendingOrDescending_return ascendingOrDescending142 = default(HqlParser.ascendingOrDescending_return); try { // Hql.g:319:2: ( expression ( ascendingOrDescending )? ) // Hql.g:319:4: expression ( ascendingOrDescending )? { root_0 = (IASTNode)adaptor.GetNilNode(); PushFollow(FOLLOW_expression_in_orderElement1707); expression141 = expression(); state.followingStackPointer--; adaptor.AddChild(root_0, expression141.Tree); // Hql.g:319:15: ( ascendingOrDescending )? int alt45 = 2; int LA45_0 = input.LA(1); if ( (LA45_0 == ASCENDING || LA45_0 == DESCENDING || (LA45_0 >= 133 && LA45_0 <= 134)) ) { alt45 = 1; } switch (alt45) { case 1 : // Hql.g:319:17: ascendingOrDescending { PushFollow(FOLLOW_ascendingOrDescending_in_orderElement1711); ascendingOrDescending142 = ascendingOrDescending(); state.followingStackPointer--; adaptor.AddChild(root_0, ascendingOrDescending142.Tree); } break; } } retval.Stop = input.LT(-1); retval.Tree = (IASTNode)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop); } catch (RecognitionException re) { ReportError(re); Recover(input,re); // Conversion of the second argument necessary, but harmless retval.Tree = (IASTNode)adaptor.ErrorNode(input, (IToken) retval.Start, input.LT(-1), re); } finally { } return retval; }