public void CheckRRNodeStreamBehaviourWhileEmpty1() { string description = "RewriteRuleNodeStream test"; RewriteRuleNodeStream nodeTest = new RewriteRuleNodeStream(CreateTreeAdaptor(), description); Assert.IsFalse(nodeTest.HasNext(), "HasNext() has to give back false here."); Assert.AreEqual(description.ToString(), nodeTest.Description, "Description strings should be equal."); Assert.AreEqual(0, nodeTest.Size(), "The number of elements should be zero."); nodeTest.Reset(); Assert.IsTrue(true, "Reset() shouldn't make any problems here."); Assert.AreEqual(0, nodeTest.Size(), "The number of elements should be still zero."); nodeTest.NextNode(); }
public void CheckRRNodeStreamBehaviourWithElements() { RewriteRuleNodeStream nodeTest = new RewriteRuleNodeStream(CreateTreeAdaptor(), "RewriteRuleNodeStream test"); IToken token1 = CreateToken(1, "test token without any real context"); ITree tree1 = CreateTree(token1); // Test Add() nodeTest.Add(tree1); Assert.AreEqual(1, nodeTest.Size(), "nodeTest should have the size 1 (1)."); Assert.IsTrue(nodeTest.HasNext(), "HasNext() should be true here (1)."); // Test NextNode() CommonTree returnedTree = (CommonTree) nodeTest.NextNode(); Assert.AreEqual(tree1.Type, returnedTree.Type, "The returned tree should be equal to the given tree (1)."); Assert.AreEqual(1, nodeTest.Size(), "nodeTest should have the size 1 (2)."); Assert.IsFalse(nodeTest.HasNext(), "HasNext() should be false here (1)."); nodeTest.Reset(); Assert.AreEqual(1, nodeTest.Size(), "nodeTest should have the size 1 (3)."); Assert.IsTrue(nodeTest.HasNext(), "HasNext() should be true here (2)."); // Test NextTree() returnedTree = (CommonTree) nodeTest.NextTree(); Assert.AreEqual(token1, returnedTree.Token, "The returned token should be equal to the given token (3)."); Assert.AreEqual(1, nodeTest.Size(), "nodeTest should have the size 1 (4)."); Assert.IsFalse(nodeTest.HasNext(), "HasNext() should be false here (2)."); nodeTest.Reset(); Assert.AreEqual(1, nodeTest.Size(), "nodeTest should have the size 1 (5)."); Assert.IsTrue(nodeTest.HasNext(), "HasNext() should be true here (3)."); // Test, what happens with two elements IToken token2 = CreateToken(2, "test token without any real context"); ITree tree2 = CreateTree(token2); nodeTest.Add(tree2); Assert.AreEqual(2, nodeTest.Size(), "nodeTest should have the size 2 (1)."); Assert.IsTrue(nodeTest.HasNext(), "HasNext() should be true here (4)."); returnedTree = (CommonTree) nodeTest.NextTree(); Assert.AreEqual(token1, returnedTree.Token, "The returned token should be equal to the given token (4)."); Assert.AreEqual(2, nodeTest.Size(), "nodeTest should have the size 2 (2)."); Assert.IsTrue(nodeTest.HasNext(), "HasNext() should be true here (5)."); returnedTree = (CommonTree) nodeTest.NextTree(); Assert.AreEqual(token2, returnedTree.Token, "The returned token should be equal to the given token (5)."); Assert.IsFalse(nodeTest.HasNext(), "HasNext() should be false here (3)."); // Test exception nodeTest.NextTree(); }
// $ANTLR start "addrExprIndex" // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:446:1: addrExprIndex[ bool root ] : ^(i= INDEX_OP lhs2= addrExprLhs rhs2= expr ) -> ^( $i $lhs2 $rhs2) ; public HqlSqlWalker.addrExprIndex_return addrExprIndex(bool root) // throws RecognitionException [1] { HqlSqlWalker.addrExprIndex_return retval = new HqlSqlWalker.addrExprIndex_return(); retval.Start = input.LT(1); IASTNode root_0 = null; IASTNode _first_0 = null; IASTNode _last = null; IASTNode i = null; HqlSqlWalker.addrExprLhs_return lhs2 = default(HqlSqlWalker.addrExprLhs_return); HqlSqlWalker.expr_return rhs2 = default(HqlSqlWalker.expr_return); IASTNode i_tree=null; RewriteRuleNodeStream stream_INDEX_OP = new RewriteRuleNodeStream(adaptor,"token INDEX_OP"); RewriteRuleSubtreeStream stream_expr = new RewriteRuleSubtreeStream(adaptor,"rule expr"); RewriteRuleSubtreeStream stream_addrExprLhs = new RewriteRuleSubtreeStream(adaptor,"rule addrExprLhs"); try { // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:452:2: ( ^(i= INDEX_OP lhs2= addrExprLhs rhs2= expr ) -> ^( $i $lhs2 $rhs2) ) // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:452:4: ^(i= INDEX_OP lhs2= addrExprLhs rhs2= expr ) { _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); i=(IASTNode)Match(input,INDEX_OP,FOLLOW_INDEX_OP_in_addrExprIndex2321); stream_INDEX_OP.Add(i); Match(input, Token.DOWN, null); _last = (IASTNode)input.LT(1); PushFollow(FOLLOW_addrExprLhs_in_addrExprIndex2325); lhs2 = addrExprLhs(); state.followingStackPointer--; stream_addrExprLhs.Add(lhs2.Tree); _last = (IASTNode)input.LT(1); PushFollow(FOLLOW_expr_in_addrExprIndex2329); rhs2 = expr(); state.followingStackPointer--; stream_expr.Add(rhs2.Tree); Match(input, Token.UP, null); adaptor.AddChild(root_0, root_1);_last = _save_last_1; } // AST REWRITE // elements: rhs2, lhs2, i // token labels: i // rule labels: rhs2, retval, lhs2 // token list labels: // rule list labels: // wildcard labels: retval.Tree = root_0; RewriteRuleNodeStream stream_i = new RewriteRuleNodeStream(adaptor, "token i", i); RewriteRuleSubtreeStream stream_rhs2 = new RewriteRuleSubtreeStream(adaptor, "rule rhs2", rhs2!=null ? rhs2.Tree : null); RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval!=null ? retval.Tree : null); RewriteRuleSubtreeStream stream_lhs2 = new RewriteRuleSubtreeStream(adaptor, "rule lhs2", lhs2!=null ? lhs2.Tree : null); root_0 = (IASTNode)adaptor.GetNilNode(); // 453:3: -> ^( $i $lhs2 $rhs2) { // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:453:6: ^( $i $lhs2 $rhs2) { IASTNode root_1 = (IASTNode)adaptor.GetNilNode(); root_1 = (IASTNode)adaptor.BecomeRoot(stream_i.NextNode(), root_1); adaptor.AddChild(root_1, stream_lhs2.NextTree()); adaptor.AddChild(root_1, stream_rhs2.NextTree()); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0; } retval.Tree = (IASTNode)adaptor.RulePostProcessing(root_0); ProcessIndex(((IASTNode)retval.Tree)); } catch (RecognitionException re) { ReportError(re); Recover(input,re); } finally { } return retval; }
// $ANTLR start "propertyRefPath" // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:478:1: propertyRefPath : ^(d= DOT lhs= propertyRefLhs rhs= propertyName ) -> ^( $d $lhs $rhs) ; public HqlSqlWalker.propertyRefPath_return propertyRefPath() // throws RecognitionException [1] { HqlSqlWalker.propertyRefPath_return retval = new HqlSqlWalker.propertyRefPath_return(); retval.Start = input.LT(1); IASTNode root_0 = null; IASTNode _first_0 = null; IASTNode _last = null; IASTNode d = null; HqlSqlWalker.propertyRefLhs_return lhs = default(HqlSqlWalker.propertyRefLhs_return); HqlSqlWalker.propertyName_return rhs = default(HqlSqlWalker.propertyName_return); IASTNode d_tree=null; RewriteRuleNodeStream stream_DOT = new RewriteRuleNodeStream(adaptor,"token DOT"); RewriteRuleSubtreeStream stream_propertyName = new RewriteRuleSubtreeStream(adaptor,"rule propertyName"); RewriteRuleSubtreeStream stream_propertyRefLhs = new RewriteRuleSubtreeStream(adaptor,"rule propertyRefLhs"); try { // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:483:2: ( ^(d= DOT lhs= propertyRefLhs rhs= propertyName ) -> ^( $d $lhs $rhs) ) // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:483:4: ^(d= DOT lhs= propertyRefLhs rhs= propertyName ) { _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); d=(IASTNode)Match(input,DOT,FOLLOW_DOT_in_propertyRefPath2454); stream_DOT.Add(d); Match(input, Token.DOWN, null); _last = (IASTNode)input.LT(1); PushFollow(FOLLOW_propertyRefLhs_in_propertyRefPath2458); lhs = propertyRefLhs(); state.followingStackPointer--; stream_propertyRefLhs.Add(lhs.Tree); _last = (IASTNode)input.LT(1); PushFollow(FOLLOW_propertyName_in_propertyRefPath2462); rhs = propertyName(); state.followingStackPointer--; stream_propertyName.Add(rhs.Tree); Match(input, Token.UP, null); adaptor.AddChild(root_0, root_1);_last = _save_last_1; } // AST REWRITE // elements: d, lhs, rhs // token labels: d // rule labels: lhs, retval, rhs // token list labels: // rule list labels: // wildcard labels: retval.Tree = root_0; RewriteRuleNodeStream stream_d = new RewriteRuleNodeStream(adaptor, "token d", d); RewriteRuleSubtreeStream stream_lhs = new RewriteRuleSubtreeStream(adaptor, "rule lhs", lhs!=null ? lhs.Tree : null); RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval!=null ? retval.Tree : null); RewriteRuleSubtreeStream stream_rhs = new RewriteRuleSubtreeStream(adaptor, "rule rhs", rhs!=null ? rhs.Tree : null); root_0 = (IASTNode)adaptor.GetNilNode(); // 484:3: -> ^( $d $lhs $rhs) { // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:484:6: ^( $d $lhs $rhs) { IASTNode root_1 = (IASTNode)adaptor.GetNilNode(); root_1 = (IASTNode)adaptor.BecomeRoot(stream_d.NextNode(), root_1); adaptor.AddChild(root_1, stream_lhs.NextTree()); adaptor.AddChild(root_1, stream_rhs.NextTree()); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0; } retval.Tree = (IASTNode)adaptor.RulePostProcessing(root_0); // This gives lookupProperty() a chance to transform the tree to process collection properties (.elements, etc). retval.Tree = LookupProperty((IASTNode) retval.Tree,false,true); } catch (RecognitionException re) { ReportError(re); Recover(input,re); } finally { } return retval; }
// $ANTLR start "updateStatement" // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:51:1: updateStatement : ^(u= UPDATE (v= VERSIONED )? f= fromClause s= setClause (w= whereClause )? ) -> ^( $u $f $s ( $w)? ) ; public HqlSqlWalker.updateStatement_return updateStatement() // throws RecognitionException [1] { HqlSqlWalker.updateStatement_return retval = new HqlSqlWalker.updateStatement_return(); retval.Start = input.LT(1); IASTNode root_0 = null; IASTNode _first_0 = null; IASTNode _last = null; IASTNode u = null; IASTNode v = null; HqlSqlWalker.fromClause_return f = default(HqlSqlWalker.fromClause_return); HqlSqlWalker.setClause_return s = default(HqlSqlWalker.setClause_return); HqlSqlWalker.whereClause_return w = default(HqlSqlWalker.whereClause_return); IASTNode u_tree=null; IASTNode v_tree=null; RewriteRuleNodeStream stream_UPDATE = new RewriteRuleNodeStream(adaptor,"token UPDATE"); RewriteRuleNodeStream stream_VERSIONED = new RewriteRuleNodeStream(adaptor,"token VERSIONED"); RewriteRuleSubtreeStream stream_fromClause = new RewriteRuleSubtreeStream(adaptor,"rule fromClause"); RewriteRuleSubtreeStream stream_whereClause = new RewriteRuleSubtreeStream(adaptor,"rule whereClause"); RewriteRuleSubtreeStream stream_setClause = new RewriteRuleSubtreeStream(adaptor,"rule setClause"); try { // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:58:2: ( ^(u= UPDATE (v= VERSIONED )? f= fromClause s= setClause (w= whereClause )? ) -> ^( $u $f $s ( $w)? ) ) // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:58:4: ^(u= UPDATE (v= VERSIONED )? f= fromClause s= setClause (w= whereClause )? ) { _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); u=(IASTNode)Match(input,UPDATE,FOLLOW_UPDATE_in_updateStatement215); stream_UPDATE.Add(u); BeforeStatement( "update", UPDATE ); Match(input, Token.DOWN, null); // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:58:57: (v= VERSIONED )? int alt2 = 2; int LA2_0 = input.LA(1); if ( (LA2_0 == VERSIONED) ) { alt2 = 1; } switch (alt2) { case 1 : // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:58:58: v= VERSIONED { _last = (IASTNode)input.LT(1); v=(IASTNode)Match(input,VERSIONED,FOLLOW_VERSIONED_in_updateStatement222); stream_VERSIONED.Add(v); } break; } _last = (IASTNode)input.LT(1); PushFollow(FOLLOW_fromClause_in_updateStatement228); f = fromClause(); state.followingStackPointer--; stream_fromClause.Add(f.Tree); _last = (IASTNode)input.LT(1); PushFollow(FOLLOW_setClause_in_updateStatement232); s = setClause(); state.followingStackPointer--; stream_setClause.Add(s.Tree); // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:58:97: (w= whereClause )? int alt3 = 2; int LA3_0 = input.LA(1); if ( (LA3_0 == WHERE) ) { alt3 = 1; } switch (alt3) { case 1 : // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:58:98: w= whereClause { _last = (IASTNode)input.LT(1); PushFollow(FOLLOW_whereClause_in_updateStatement237); w = whereClause(); state.followingStackPointer--; stream_whereClause.Add(w.Tree); } break; } Match(input, Token.UP, null); adaptor.AddChild(root_0, root_1);_last = _save_last_1; } // AST REWRITE // elements: f, u, w, s // token labels: u // rule labels: w, f, 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_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); root_0 = (IASTNode)adaptor.GetNilNode(); // 59:3: -> ^( $u $f $s ( $w)? ) { // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:59:6: ^( $u $f $s ( $w)? ) { IASTNode root_1 = (IASTNode)adaptor.GetNilNode(); root_1 = (IASTNode)adaptor.BecomeRoot(stream_u.NextNode(), root_1); adaptor.AddChild(root_1, stream_f.NextTree()); adaptor.AddChild(root_1, stream_s.NextTree()); // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:59:17: ( $w)? if ( stream_w.HasNext() ) { adaptor.AddChild(root_1, stream_w.NextTree()); } stream_w.Reset(); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0; } retval.Tree = (IASTNode)adaptor.RulePostProcessing(root_0); BeforeStatementCompletion( "update" ); PrepareVersioned( ((IASTNode)retval.Tree), v ); PostProcessUpdate( ((IASTNode)retval.Tree) ); AfterStatementCompletion( "update" ); } catch (RecognitionException re) { ReportError(re); Recover(input,re); } finally { } return retval; }
// $ANTLR start "whereClause" // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:292:1: whereClause : ^(w= WHERE b= logicalExpr ) -> ^( $w $b) ; public HqlSqlWalker.whereClause_return whereClause() // throws RecognitionException [1] { HqlSqlWalker.whereClause_return retval = new HqlSqlWalker.whereClause_return(); retval.Start = input.LT(1); IASTNode root_0 = null; IASTNode _first_0 = null; IASTNode _last = null; IASTNode w = null; HqlSqlWalker.logicalExpr_return b = default(HqlSqlWalker.logicalExpr_return); IASTNode w_tree=null; RewriteRuleNodeStream stream_WHERE = new RewriteRuleNodeStream(adaptor,"token WHERE"); RewriteRuleSubtreeStream stream_logicalExpr = new RewriteRuleSubtreeStream(adaptor,"rule logicalExpr"); try { // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:293:2: ( ^(w= WHERE b= logicalExpr ) -> ^( $w $b) ) // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:293:4: ^(w= WHERE b= logicalExpr ) { _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); w=(IASTNode)Match(input,WHERE,FOLLOW_WHERE_in_whereClause1355); stream_WHERE.Add(w); HandleClauseStart( WHERE ); Match(input, Token.DOWN, null); _last = (IASTNode)input.LT(1); PushFollow(FOLLOW_logicalExpr_in_whereClause1361); b = logicalExpr(); state.followingStackPointer--; stream_logicalExpr.Add(b.Tree); Match(input, Token.UP, null); adaptor.AddChild(root_0, root_1);_last = _save_last_1; } // AST REWRITE // elements: w, b // token labels: w // rule labels: retval, b // token list labels: // rule list labels: // wildcard labels: retval.Tree = root_0; RewriteRuleNodeStream stream_w = new RewriteRuleNodeStream(adaptor, "token w", w); RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval!=null ? retval.Tree : null); RewriteRuleSubtreeStream stream_b = new RewriteRuleSubtreeStream(adaptor, "rule b", b!=null ? b.Tree : null); root_0 = (IASTNode)adaptor.GetNilNode(); // 294:2: -> ^( $w $b) { // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:294:5: ^( $w $b) { IASTNode root_1 = (IASTNode)adaptor.GetNilNode(); root_1 = (IASTNode)adaptor.BecomeRoot(stream_w.NextNode(), root_1); adaptor.AddChild(root_1, stream_b.NextTree()); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0; } retval.Tree = (IASTNode)adaptor.RulePostProcessing(root_0); } catch (RecognitionException re) { ReportError(re); Recover(input,re); } finally { } return retval; }
// $ANTLR start "selectClause" // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:151:1: selectClause : ^( SELECT (d= DISTINCT )? x= selectExprList ) -> ^( SELECT_CLAUSE[\"{select clause}\"] ( $d)? $x) ; public HqlSqlWalker.selectClause_return selectClause() // throws RecognitionException [1] { HqlSqlWalker.selectClause_return retval = new HqlSqlWalker.selectClause_return(); retval.Start = input.LT(1); IASTNode root_0 = null; IASTNode _first_0 = null; IASTNode _last = null; IASTNode d = null; IASTNode SELECT36 = null; HqlSqlWalker.selectExprList_return x = default(HqlSqlWalker.selectExprList_return); IASTNode d_tree=null; IASTNode SELECT36_tree=null; RewriteRuleNodeStream stream_DISTINCT = new RewriteRuleNodeStream(adaptor,"token DISTINCT"); RewriteRuleNodeStream stream_SELECT = new RewriteRuleNodeStream(adaptor,"token SELECT"); RewriteRuleSubtreeStream stream_selectExprList = new RewriteRuleSubtreeStream(adaptor,"rule selectExprList"); try { // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:152:2: ( ^( SELECT (d= DISTINCT )? x= selectExprList ) -> ^( SELECT_CLAUSE[\"{select clause}\"] ( $d)? $x) ) // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:152:4: ^( SELECT (d= DISTINCT )? x= selectExprList ) { _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); SELECT36=(IASTNode)Match(input,SELECT,FOLLOW_SELECT_in_selectClause689); stream_SELECT.Add(SELECT36); HandleClauseStart( SELECT ); BeforeSelectClause(); Match(input, Token.DOWN, null); // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:152:68: (d= DISTINCT )? int alt17 = 2; int LA17_0 = input.LA(1); if ( (LA17_0 == DISTINCT) ) { alt17 = 1; } switch (alt17) { case 1 : // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:152:69: d= DISTINCT { _last = (IASTNode)input.LT(1); d=(IASTNode)Match(input,DISTINCT,FOLLOW_DISTINCT_in_selectClause696); stream_DISTINCT.Add(d); } break; } _last = (IASTNode)input.LT(1); PushFollow(FOLLOW_selectExprList_in_selectClause702); x = selectExprList(); state.followingStackPointer--; stream_selectExprList.Add(x.Tree); Match(input, Token.UP, null); adaptor.AddChild(root_0, root_1);_last = _save_last_1; } // AST REWRITE // elements: x, d // token labels: d // rule labels: retval, x // token list labels: // rule list labels: // wildcard labels: retval.Tree = root_0; RewriteRuleNodeStream stream_d = new RewriteRuleNodeStream(adaptor, "token d", d); RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval!=null ? retval.Tree : null); RewriteRuleSubtreeStream stream_x = new RewriteRuleSubtreeStream(adaptor, "rule x", x!=null ? x.Tree : null); root_0 = (IASTNode)adaptor.GetNilNode(); // 153:2: -> ^( SELECT_CLAUSE[\"{select clause}\"] ( $d)? $x) { // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:153:5: ^( SELECT_CLAUSE[\"{select clause}\"] ( $d)? $x) { IASTNode root_1 = (IASTNode)adaptor.GetNilNode(); root_1 = (IASTNode)adaptor.BecomeRoot((IASTNode)adaptor.Create(SELECT_CLAUSE, "{select clause}"), root_1); // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:153:40: ( $d)? if ( stream_d.HasNext() ) { adaptor.AddChild(root_1, stream_d.NextNode()); } stream_d.Reset(); adaptor.AddChild(root_1, stream_x.NextTree()); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0; } retval.Tree = (IASTNode)adaptor.RulePostProcessing(root_0); } catch (RecognitionException re) { ReportError(re); Recover(input,re); } finally { } return retval; }
// $ANTLR start "addrExprDot" // C:\\Users\\Steve\\Documents\\NHibernate\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:446:1: addrExprDot[ bool root ] : ^(d= DOT lhs= addrExprLhs rhs= propertyName ) -> ^( $d $lhs $rhs) ; public HqlSqlWalker.addrExprDot_return addrExprDot(bool root) // throws RecognitionException [1] { HqlSqlWalker.addrExprDot_return retval = new HqlSqlWalker.addrExprDot_return(); retval.Start = input.LT(1); IASTNode root_0 = null; IASTNode _first_0 = null; IASTNode _last = null; IASTNode d = null; HqlSqlWalker.addrExprLhs_return lhs = default(HqlSqlWalker.addrExprLhs_return); HqlSqlWalker.propertyName_return rhs = default(HqlSqlWalker.propertyName_return); IASTNode d_tree=null; RewriteRuleNodeStream stream_DOT = new RewriteRuleNodeStream(adaptor,"token DOT"); RewriteRuleSubtreeStream stream_propertyName = new RewriteRuleSubtreeStream(adaptor,"rule propertyName"); RewriteRuleSubtreeStream stream_addrExprLhs = new RewriteRuleSubtreeStream(adaptor,"rule addrExprLhs"); try { // C:\\Users\\Steve\\Documents\\NHibernate\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:451:2: ( ^(d= DOT lhs= addrExprLhs rhs= propertyName ) -> ^( $d $lhs $rhs) ) // C:\\Users\\Steve\\Documents\\NHibernate\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:451:4: ^(d= DOT lhs= addrExprLhs rhs= propertyName ) { _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); d=(IASTNode)Match(input,DOT,FOLLOW_DOT_in_addrExprDot2318); stream_DOT.Add(d); Match(input, Token.DOWN, null); _last = (IASTNode)input.LT(1); PushFollow(FOLLOW_addrExprLhs_in_addrExprDot2322); lhs = addrExprLhs(); state.followingStackPointer--; stream_addrExprLhs.Add(lhs.Tree); _last = (IASTNode)input.LT(1); PushFollow(FOLLOW_propertyName_in_addrExprDot2326); rhs = propertyName(); state.followingStackPointer--; stream_propertyName.Add(rhs.Tree); Match(input, Token.UP, null); adaptor.AddChild(root_0, root_1);_last = _save_last_1; } // AST REWRITE // elements: rhs, lhs, d // token labels: d // rule labels: retval, rhs, lhs // token list labels: // rule list labels: // wildcard labels: retval.Tree = root_0; RewriteRuleNodeStream stream_d = new RewriteRuleNodeStream(adaptor, "token d", d); RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval!=null ? retval.Tree : null); RewriteRuleSubtreeStream stream_rhs = new RewriteRuleSubtreeStream(adaptor, "rule rhs", rhs!=null ? rhs.Tree : null); RewriteRuleSubtreeStream stream_lhs = new RewriteRuleSubtreeStream(adaptor, "rule lhs", lhs!=null ? lhs.Tree : null); root_0 = (IASTNode)adaptor.GetNilNode(); // 452:3: -> ^( $d $lhs $rhs) { // C:\\Users\\Steve\\Documents\\NHibernate\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:452:6: ^( $d $lhs $rhs) { IASTNode root_1 = (IASTNode)adaptor.GetNilNode(); root_1 = (IASTNode)adaptor.BecomeRoot(stream_d.NextNode(), root_1); adaptor.AddChild(root_1, stream_lhs.NextTree()); adaptor.AddChild(root_1, stream_rhs.NextTree()); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0; } retval.Tree = (IASTNode)adaptor.RulePostProcessing(root_0); LookupProperty(((IASTNode)retval.Tree),root,false); } catch (RecognitionException re) { ReportError(re); Recover(input,re); } finally { } return retval; }
// $ANTLR start "withClause" // C:\\Users\\Steve\\Documents\\NHibernate\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:281:1: withClause : ^(w= WITH b= logicalExpr ) -> ^( $w $b) ; public HqlSqlWalker.withClause_return withClause() // throws RecognitionException [1] { HqlSqlWalker.withClause_return retval = new HqlSqlWalker.withClause_return(); retval.Start = input.LT(1); IASTNode root_0 = null; IASTNode _first_0 = null; IASTNode _last = null; IASTNode w = null; HqlSqlWalker.logicalExpr_return b = default(HqlSqlWalker.logicalExpr_return); IASTNode w_tree=null; RewriteRuleNodeStream stream_WITH = new RewriteRuleNodeStream(adaptor,"token WITH"); RewriteRuleSubtreeStream stream_logicalExpr = new RewriteRuleSubtreeStream(adaptor,"rule logicalExpr"); try { // C:\\Users\\Steve\\Documents\\NHibernate\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:288:2: ( ^(w= WITH b= logicalExpr ) -> ^( $w $b) ) // C:\\Users\\Steve\\Documents\\NHibernate\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:288:4: ^(w= WITH b= logicalExpr ) { _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); w=(IASTNode)Match(input,WITH,FOLLOW_WITH_in_withClause1321); stream_WITH.Add(w); HandleClauseStart( WITH ); Match(input, Token.DOWN, null); _last = (IASTNode)input.LT(1); PushFollow(FOLLOW_logicalExpr_in_withClause1327); b = logicalExpr(); state.followingStackPointer--; stream_logicalExpr.Add(b.Tree); Match(input, Token.UP, null); adaptor.AddChild(root_0, root_1);_last = _save_last_1; } // AST REWRITE // elements: b, w // token labels: w // rule labels: retval, b // token list labels: // rule list labels: // wildcard labels: retval.Tree = root_0; RewriteRuleNodeStream stream_w = new RewriteRuleNodeStream(adaptor, "token w", w); RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval!=null ? retval.Tree : null); RewriteRuleSubtreeStream stream_b = new RewriteRuleSubtreeStream(adaptor, "rule b", b!=null ? b.Tree : null); root_0 = (IASTNode)adaptor.GetNilNode(); // 289:2: -> ^( $w $b) { // C:\\Users\\Steve\\Documents\\NHibernate\\nhibernate\\src\\NHibernate\\Hql\\Ast\\ANTLR\\HqlSqlWalker.g:289:5: ^( $w $b) { IASTNode root_1 = (IASTNode)adaptor.GetNilNode(); root_1 = (IASTNode)adaptor.BecomeRoot(stream_w.NextNode(), root_1); adaptor.AddChild(root_1, stream_b.NextTree()); adaptor.AddChild(root_0, root_1); } } retval.Tree = root_0; } retval.Tree = (IASTNode)adaptor.RulePostProcessing(root_0); } catch (RecognitionException re) { ReportError(re); Recover(input,re); } finally { } return retval; }