// $ANTLR start "collectionExpr" // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:591:1: collectionExpr : ( ELEMENTS | INDICES ) OPEN path CLOSE ; public HqlParser.collectionExpr_return collectionExpr() // throws RecognitionException [1] { HqlParser.collectionExpr_return retval = new HqlParser.collectionExpr_return(); retval.Start = input.LT(1); IASTNode root_0 = null; IToken ELEMENTS261 = null; IToken INDICES262 = null; IToken OPEN263 = null; IToken CLOSE265 = null; HqlParser.path_return path264 = default(HqlParser.path_return); IASTNode ELEMENTS261_tree=null; IASTNode INDICES262_tree=null; IASTNode OPEN263_tree=null; IASTNode CLOSE265_tree=null; try { // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:592:2: ( ( ELEMENTS | INDICES ) OPEN path CLOSE ) // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:592:4: ( ELEMENTS | INDICES ) OPEN path CLOSE { root_0 = (IASTNode)adaptor.GetNilNode(); // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:592:4: ( ELEMENTS | INDICES ) int alt93 = 2; int LA93_0 = input.LA(1); if ( (LA93_0 == ELEMENTS) ) { alt93 = 1; } else if ( (LA93_0 == INDICES) ) { alt93 = 2; } else { NoViableAltException nvae_d93s0 = new NoViableAltException("", 93, 0, input); throw nvae_d93s0; } switch (alt93) { case 1 : // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:592:5: ELEMENTS { ELEMENTS261=(IToken)Match(input,ELEMENTS,FOLLOW_ELEMENTS_in_collectionExpr3166); ELEMENTS261_tree = (IASTNode)adaptor.Create(ELEMENTS261); root_0 = (IASTNode)adaptor.BecomeRoot(ELEMENTS261_tree, root_0); } break; case 2 : // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Hql.g:592:17: INDICES { INDICES262=(IToken)Match(input,INDICES,FOLLOW_INDICES_in_collectionExpr3171); INDICES262_tree = (IASTNode)adaptor.Create(INDICES262); root_0 = (IASTNode)adaptor.BecomeRoot(INDICES262_tree, root_0); } break; } OPEN263=(IToken)Match(input,OPEN,FOLLOW_OPEN_in_collectionExpr3175); PushFollow(FOLLOW_path_in_collectionExpr3178); path264 = path(); state.followingStackPointer--; adaptor.AddChild(root_0, path264.Tree); CLOSE265=(IToken)Match(input,CLOSE,FOLLOW_CLOSE_in_collectionExpr3180); } 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 "collectionExpr" // Hql.g:609:1: collectionExpr : ( ELEMENTS | INDICES ) OPEN path CLOSE ; public HqlParser.collectionExpr_return collectionExpr() // throws RecognitionException [1] { HqlParser.collectionExpr_return retval = new HqlParser.collectionExpr_return(); retval.Start = input.LT(1); IASTNode root_0 = null; IToken ELEMENTS274 = null; IToken INDICES275 = null; IToken OPEN276 = null; IToken CLOSE278 = null; HqlParser.path_return path277 = default(HqlParser.path_return); IASTNode ELEMENTS274_tree=null; IASTNode INDICES275_tree=null; IASTNode OPEN276_tree=null; IASTNode CLOSE278_tree=null; try { // Hql.g:610:2: ( ( ELEMENTS | INDICES ) OPEN path CLOSE ) // Hql.g:610:4: ( ELEMENTS | INDICES ) OPEN path CLOSE { root_0 = (IASTNode)adaptor.GetNilNode(); // Hql.g:610:4: ( ELEMENTS | INDICES ) int alt99 = 2; int LA99_0 = input.LA(1); if ( (LA99_0 == ELEMENTS) ) { alt99 = 1; } else if ( (LA99_0 == INDICES) ) { alt99 = 2; } else { NoViableAltException nvae_d99s0 = new NoViableAltException("", 99, 0, input); throw nvae_d99s0; } switch (alt99) { case 1 : // Hql.g:610:5: ELEMENTS { ELEMENTS274=(IToken)Match(input,ELEMENTS,FOLLOW_ELEMENTS_in_collectionExpr3265); ELEMENTS274_tree = (IASTNode)adaptor.Create(ELEMENTS274); root_0 = (IASTNode)adaptor.BecomeRoot(ELEMENTS274_tree, root_0); } break; case 2 : // Hql.g:610:17: INDICES { INDICES275=(IToken)Match(input,INDICES,FOLLOW_INDICES_in_collectionExpr3270); INDICES275_tree = (IASTNode)adaptor.Create(INDICES275); root_0 = (IASTNode)adaptor.BecomeRoot(INDICES275_tree, root_0); } break; } OPEN276=(IToken)Match(input,OPEN,FOLLOW_OPEN_in_collectionExpr3274); PushFollow(FOLLOW_path_in_collectionExpr3277); path277 = path(); state.followingStackPointer--; adaptor.AddChild(root_0, path277.Tree); CLOSE278=(IToken)Match(input,CLOSE,FOLLOW_CLOSE_in_collectionExpr3279); } 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; }