// $ANTLR start "whenClause" // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:506:1: whenClause : ( WHEN logicalExpression THEN expression ) ; public HqlParser.whenClause_return whenClause() // throws RecognitionException [1] { HqlParser.whenClause_return retval = new HqlParser.whenClause_return(); retval.Start = input.LT(1); IASTNode root_0 = null; IToken WHEN203 = null; IToken THEN205 = null; HqlParser.logicalExpression_return logicalExpression204 = default(HqlParser.logicalExpression_return); HqlParser.expression_return expression206 = default(HqlParser.expression_return); IASTNode WHEN203_tree=null; IASTNode THEN205_tree=null; try { // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:507:2: ( ( WHEN logicalExpression THEN expression ) ) // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:507:4: ( WHEN logicalExpression THEN expression ) { root_0 = (IASTNode)adaptor.GetNilNode(); // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:507:4: ( WHEN logicalExpression THEN expression ) // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:507:5: WHEN logicalExpression THEN expression { WHEN203=(IToken)Match(input,WHEN,FOLLOW_WHEN_in_whenClause2564); WHEN203_tree = (IASTNode)adaptor.Create(WHEN203); root_0 = (IASTNode)adaptor.BecomeRoot(WHEN203_tree, root_0); PushFollow(FOLLOW_logicalExpression_in_whenClause2567); logicalExpression204 = logicalExpression(); state.followingStackPointer--; adaptor.AddChild(root_0, logicalExpression204.Tree); THEN205=(IToken)Match(input,THEN,FOLLOW_THEN_in_whenClause2569); PushFollow(FOLLOW_expression_in_whenClause2572); expression206 = expression(); state.followingStackPointer--; adaptor.AddChild(root_0, expression206.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 "whenClause" // Hql.g:524:1: whenClause : ( WHEN logicalExpression THEN expression ) ; public HqlParser.whenClause_return whenClause() // throws RecognitionException [1] { HqlParser.whenClause_return retval = new HqlParser.whenClause_return(); retval.Start = input.LT(1); IASTNode root_0 = null; IToken WHEN216 = null; IToken THEN218 = null; HqlParser.logicalExpression_return logicalExpression217 = default(HqlParser.logicalExpression_return); HqlParser.expression_return expression219 = default(HqlParser.expression_return); IASTNode WHEN216_tree=null; IASTNode THEN218_tree=null; try { // Hql.g:525:2: ( ( WHEN logicalExpression THEN expression ) ) // Hql.g:525:4: ( WHEN logicalExpression THEN expression ) { root_0 = (IASTNode)adaptor.GetNilNode(); // Hql.g:525:4: ( WHEN logicalExpression THEN expression ) // Hql.g:525:5: WHEN logicalExpression THEN expression { WHEN216=(IToken)Match(input,WHEN,FOLLOW_WHEN_in_whenClause2663); WHEN216_tree = (IASTNode)adaptor.Create(WHEN216); root_0 = (IASTNode)adaptor.BecomeRoot(WHEN216_tree, root_0); PushFollow(FOLLOW_logicalExpression_in_whenClause2666); logicalExpression217 = logicalExpression(); state.followingStackPointer--; adaptor.AddChild(root_0, logicalExpression217.Tree); THEN218=(IToken)Match(input,THEN,FOLLOW_THEN_in_whenClause2668); PushFollow(FOLLOW_expression_in_whenClause2671); expression219 = expression(); state.followingStackPointer--; adaptor.AddChild(root_0, expression219.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; }