// $ANTLR start "altWhenClause" // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:510:1: altWhenClause : ( WHEN unaryExpression THEN expression ) ; public HqlParser.altWhenClause_return altWhenClause() // throws RecognitionException [1] { HqlParser.altWhenClause_return retval = new HqlParser.altWhenClause_return(); retval.Start = input.LT(1); IASTNode root_0 = null; IToken WHEN207 = null; IToken THEN209 = null; HqlParser.unaryExpression_return unaryExpression208 = default(HqlParser.unaryExpression_return); HqlParser.expression_return expression210 = default(HqlParser.expression_return); IASTNode WHEN207_tree=null; IASTNode THEN209_tree=null; try { // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:511:2: ( ( WHEN unaryExpression THEN expression ) ) // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:511:4: ( WHEN unaryExpression THEN expression ) { root_0 = (IASTNode)adaptor.GetNilNode(); // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:511:4: ( WHEN unaryExpression THEN expression ) // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:511:5: WHEN unaryExpression THEN expression { WHEN207=(IToken)Match(input,WHEN,FOLLOW_WHEN_in_altWhenClause2586); WHEN207_tree = (IASTNode)adaptor.Create(WHEN207); root_0 = (IASTNode)adaptor.BecomeRoot(WHEN207_tree, root_0); PushFollow(FOLLOW_unaryExpression_in_altWhenClause2589); unaryExpression208 = unaryExpression(); state.followingStackPointer--; adaptor.AddChild(root_0, unaryExpression208.Tree); THEN209=(IToken)Match(input,THEN,FOLLOW_THEN_in_altWhenClause2591); PushFollow(FOLLOW_expression_in_altWhenClause2594); expression210 = expression(); state.followingStackPointer--; adaptor.AddChild(root_0, expression210.Tree); } } 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 "altWhenClause" // Hql.g:528:1: altWhenClause : ( WHEN unaryExpression THEN expression ) ; public HqlParser.altWhenClause_return altWhenClause() // throws RecognitionException [1] { HqlParser.altWhenClause_return retval = new HqlParser.altWhenClause_return(); retval.Start = input.LT(1); IASTNode root_0 = null; IToken WHEN220 = null; IToken THEN222 = null; HqlParser.unaryExpression_return unaryExpression221 = default(HqlParser.unaryExpression_return); HqlParser.expression_return expression223 = default(HqlParser.expression_return); IASTNode WHEN220_tree=null; IASTNode THEN222_tree=null; try { // Hql.g:529:2: ( ( WHEN unaryExpression THEN expression ) ) // Hql.g:529:4: ( WHEN unaryExpression THEN expression ) { root_0 = (IASTNode)adaptor.GetNilNode(); // Hql.g:529:4: ( WHEN unaryExpression THEN expression ) // Hql.g:529:5: WHEN unaryExpression THEN expression { WHEN220=(IToken)Match(input,WHEN,FOLLOW_WHEN_in_altWhenClause2685); WHEN220_tree = (IASTNode)adaptor.Create(WHEN220); root_0 = (IASTNode)adaptor.BecomeRoot(WHEN220_tree, root_0); PushFollow(FOLLOW_unaryExpression_in_altWhenClause2688); unaryExpression221 = unaryExpression(); state.followingStackPointer--; adaptor.AddChild(root_0, unaryExpression221.Tree); THEN222=(IToken)Match(input,THEN,FOLLOW_THEN_in_altWhenClause2690); PushFollow(FOLLOW_expression_in_altWhenClause2693); expression223 = expression(); state.followingStackPointer--; adaptor.AddChild(root_0, expression223.Tree); } } 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; }