// $ANTLR start "constructor" // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:190:1: constructor : ^( CONSTRUCTOR path ( selectExpr | aliasedSelectExpr )* ) ; public HqlSqlWalker.constructor_return constructor() // throws RecognitionException [1] { HqlSqlWalker.constructor_return retval = new HqlSqlWalker.constructor_return(); retval.Start = input.LT(1); IASTNode root_0 = null; IASTNode _first_0 = null; IASTNode _last = null; IASTNode CONSTRUCTOR52 = null; HqlSqlWalker.path_return path53 = default(HqlSqlWalker.path_return); HqlSqlWalker.selectExpr_return selectExpr54 = default(HqlSqlWalker.selectExpr_return); HqlSqlWalker.aliasedSelectExpr_return aliasedSelectExpr55 = default(HqlSqlWalker.aliasedSelectExpr_return); IASTNode CONSTRUCTOR52_tree=null; try { // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:191:2: ( ^( CONSTRUCTOR path ( selectExpr | aliasedSelectExpr )* ) ) // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:191:4: ^( CONSTRUCTOR path ( selectExpr | aliasedSelectExpr )* ) { 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); CONSTRUCTOR52=(IASTNode)Match(input,CONSTRUCTOR,FOLLOW_CONSTRUCTOR_in_constructor917); CONSTRUCTOR52_tree = (IASTNode)adaptor.DupNode(CONSTRUCTOR52); root_1 = (IASTNode)adaptor.BecomeRoot(CONSTRUCTOR52_tree, root_1); Match(input, Token.DOWN, null); _last = (IASTNode)input.LT(1); PushFollow(FOLLOW_path_in_constructor919); path53 = path(); state.followingStackPointer--; adaptor.AddChild(root_1, path53.Tree); // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:191:23: ( selectExpr | aliasedSelectExpr )* do { int alt22 = 3; int LA22_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 >= BNOT && LA22_0 <= DIV) || (LA22_0 >= QUOTED_String && LA22_0 <= IDENT)) ) { alt22 = 1; } else if ( (LA22_0 == AS) ) { alt22 = 2; } switch (alt22) { case 1 : // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:191:25: selectExpr { _last = (IASTNode)input.LT(1); PushFollow(FOLLOW_selectExpr_in_constructor923); selectExpr54 = selectExpr(); state.followingStackPointer--; adaptor.AddChild(root_1, selectExpr54.Tree); } break; case 2 : // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:191:38: aliasedSelectExpr { _last = (IASTNode)input.LT(1); PushFollow(FOLLOW_aliasedSelectExpr_in_constructor927); aliasedSelectExpr55 = aliasedSelectExpr(); state.followingStackPointer--; adaptor.AddChild(root_1, aliasedSelectExpr55.Tree); } break; default: goto loop22; } } while (true); 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; } } retval.Tree = (IASTNode)adaptor.RulePostProcessing(root_0); } catch (RecognitionException re) { ReportError(re); Recover(input,re); } finally { } return retval; }
// $ANTLR start "constructor" // HqlSqlWalker.g:206:1: constructor : ^( CONSTRUCTOR path ( selectExpr | aliasedSelectExpr )* ) ; public HqlSqlWalker.constructor_return constructor() // throws RecognitionException [1] { HqlSqlWalker.constructor_return retval = new HqlSqlWalker.constructor_return(); retval.Start = input.LT(1); IASTNode root_0 = null; IASTNode _first_0 = null; IASTNode _last = null; IASTNode CONSTRUCTOR57 = null; HqlSqlWalker.path_return path58 = default(HqlSqlWalker.path_return); HqlSqlWalker.selectExpr_return selectExpr59 = default(HqlSqlWalker.selectExpr_return); HqlSqlWalker.aliasedSelectExpr_return aliasedSelectExpr60 = default(HqlSqlWalker.aliasedSelectExpr_return); IASTNode CONSTRUCTOR57_tree=null; try { // HqlSqlWalker.g:207:2: ( ^( CONSTRUCTOR path ( selectExpr | aliasedSelectExpr )* ) ) // HqlSqlWalker.g:207:4: ^( CONSTRUCTOR path ( selectExpr | aliasedSelectExpr )* ) { 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); CONSTRUCTOR57=(IASTNode)Match(input,CONSTRUCTOR,FOLLOW_CONSTRUCTOR_in_constructor998); CONSTRUCTOR57_tree = (IASTNode)adaptor.DupNode(CONSTRUCTOR57); root_1 = (IASTNode)adaptor.BecomeRoot(CONSTRUCTOR57_tree, root_1); Match(input, Token.DOWN, null); _last = (IASTNode)input.LT(1); PushFollow(FOLLOW_path_in_constructor1000); path58 = path(); state.followingStackPointer--; adaptor.AddChild(root_1, path58.Tree); // HqlSqlWalker.g:207:23: ( selectExpr | aliasedSelectExpr )* do { int alt24 = 3; int LA24_0 = input.LA(1); 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 >= BNOT && LA24_0 <= DIV) || (LA24_0 >= COLON && LA24_0 <= IDENT)) ) { alt24 = 1; } else if ( (LA24_0 == AS) ) { alt24 = 2; } switch (alt24) { case 1 : // HqlSqlWalker.g:207:25: selectExpr { _last = (IASTNode)input.LT(1); PushFollow(FOLLOW_selectExpr_in_constructor1004); selectExpr59 = selectExpr(); state.followingStackPointer--; adaptor.AddChild(root_1, selectExpr59.Tree); } break; case 2 : // HqlSqlWalker.g:207:38: aliasedSelectExpr { _last = (IASTNode)input.LT(1); PushFollow(FOLLOW_aliasedSelectExpr_in_constructor1008); aliasedSelectExpr60 = aliasedSelectExpr(); state.followingStackPointer--; adaptor.AddChild(root_1, aliasedSelectExpr60.Tree); } break; default: goto loop24; } } while (true); loop24: ; // Stops C# compiler whining that label 'loop24' has no statements 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; }