// $ANTLR start "orderClause" // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:139:1: orderClause : ^( ORDER orderExprs ) ; public HqlSqlWalker.orderClause_return orderClause() // throws RecognitionException [1] { HqlSqlWalker.orderClause_return retval = new HqlSqlWalker.orderClause_return(); retval.Start = input.LT(1); IASTNode root_0 = null; IASTNode _first_0 = null; IASTNode _last = null; IASTNode ORDER27 = null; HqlSqlWalker.orderExprs_return orderExprs28 = default(HqlSqlWalker.orderExprs_return); IASTNode ORDER27_tree=null; try { // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:140:2: ( ^( ORDER orderExprs ) ) // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:140:4: ^( ORDER orderExprs ) { root_0 = (IASTNode)adaptor.GetNilNode(); _last = (IASTNode)input.LT(1); { IASTNode _save_last_1 = _last; IASTNode _first_1 = null; IASTNode root_1 = (IASTNode)adaptor.GetNilNode();_last = (IASTNode)input.LT(1); ORDER27=(IASTNode)Match(input,ORDER,FOLLOW_ORDER_in_orderClause612); ORDER27_tree = (IASTNode)adaptor.DupNode(ORDER27); root_1 = (IASTNode)adaptor.BecomeRoot(ORDER27_tree, root_1); HandleClauseStart( ORDER ); Match(input, Token.DOWN, null); _last = (IASTNode)input.LT(1); PushFollow(FOLLOW_orderExprs_in_orderClause616); orderExprs28 = orderExprs(); state.followingStackPointer--; adaptor.AddChild(root_1, orderExprs28.Tree); Match(input, Token.UP, null); adaptor.AddChild(root_0, root_1);_last = _save_last_1; } } retval.Tree = (IASTNode)adaptor.RulePostProcessing(root_0); } catch (RecognitionException re) { ReportError(re); Recover(input,re); } finally { } return retval; }
// $ANTLR start "orderClause" // 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(); retval.Start = input.LT(1); IASTNode root_0 = null; IASTNode _first_0 = null; 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 | query ( ASCENDING | DESCENDING )? ) ) ) // HqlSqlWalker.g:143:4: ^( ORDER ( orderExprs | query ( ASCENDING | DESCENDING )? ) ) { root_0 = (IASTNode)adaptor.GetNilNode(); _last = (IASTNode)input.LT(1); { IASTNode _save_last_1 = _last; IASTNode _first_1 = null; IASTNode root_1 = (IASTNode)adaptor.GetNilNode();_last = (IASTNode)input.LT(1); ORDER27=(IASTNode)Match(input,ORDER,FOLLOW_ORDER_in_orderClause654); ORDER27_tree = (IASTNode)adaptor.DupNode(ORDER27); root_1 = (IASTNode)adaptor.BecomeRoot(ORDER27_tree, root_1); HandleClauseStart( ORDER ); Match(input, Token.DOWN, null); // HqlSqlWalker.g:143:44: ( orderExprs | query ( ASCENDING | DESCENDING )? ) int alt17 = 2; int LA17_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)) ) { 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; } } retval.Tree = (IASTNode)adaptor.RulePostProcessing(root_0); } catch (RecognitionException re) { ReportError(re); Recover(input,re); } finally { } return retval; }