// $ANTLR start "joinType" // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:246:1: joinType returns [int j] : ( ( (left= LEFT | right= RIGHT ) (outer= OUTER )? ) | FULL | INNER ); public HqlSqlWalker.joinType_return joinType() // throws RecognitionException [1] { HqlSqlWalker.joinType_return retval = new HqlSqlWalker.joinType_return(); retval.Start = input.LT(1); IASTNode root_0 = null; IASTNode _first_0 = null; IASTNode _last = null; IASTNode left = null; IASTNode right = null; IASTNode outer = null; IASTNode FULL63 = null; IASTNode INNER64 = null; IASTNode left_tree=null; IASTNode right_tree=null; IASTNode outer_tree=null; IASTNode FULL63_tree=null; IASTNode INNER64_tree=null; retval.j = INNER; try { // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:250:2: ( ( (left= LEFT | right= RIGHT ) (outer= OUTER )? ) | FULL | INNER ) int alt36 = 3; switch ( input.LA(1) ) { case LEFT: case RIGHT: { alt36 = 1; } break; case FULL: { alt36 = 2; } break; case INNER: { alt36 = 3; } break; default: NoViableAltException nvae_d36s0 = new NoViableAltException("", 36, 0, input); throw nvae_d36s0; } switch (alt36) { case 1 : // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:250:4: ( (left= LEFT | right= RIGHT ) (outer= OUTER )? ) { root_0 = (IASTNode)adaptor.GetNilNode(); // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:250:4: ( (left= LEFT | right= RIGHT ) (outer= OUTER )? ) // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:250:6: (left= LEFT | right= RIGHT ) (outer= OUTER )? { // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:250:6: (left= LEFT | right= RIGHT ) int alt34 = 2; int LA34_0 = input.LA(1); if ( (LA34_0 == LEFT) ) { alt34 = 1; } else if ( (LA34_0 == RIGHT) ) { alt34 = 2; } else { NoViableAltException nvae_d34s0 = new NoViableAltException("", 34, 0, input); throw nvae_d34s0; } switch (alt34) { case 1 : // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:250:7: left= LEFT { _last = (IASTNode)input.LT(1); left=(IASTNode)Match(input,LEFT,FOLLOW_LEFT_in_joinType1190); left_tree = (IASTNode)adaptor.DupNode(left); adaptor.AddChild(root_0, left_tree); } break; case 2 : // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:250:19: right= RIGHT { _last = (IASTNode)input.LT(1); right=(IASTNode)Match(input,RIGHT,FOLLOW_RIGHT_in_joinType1196); right_tree = (IASTNode)adaptor.DupNode(right); adaptor.AddChild(root_0, right_tree); } break; } // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:250:32: (outer= OUTER )? int alt35 = 2; int LA35_0 = input.LA(1); if ( (LA35_0 == OUTER) ) { alt35 = 1; } switch (alt35) { case 1 : // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:250:33: outer= OUTER { _last = (IASTNode)input.LT(1); outer=(IASTNode)Match(input,OUTER,FOLLOW_OUTER_in_joinType1202); outer_tree = (IASTNode)adaptor.DupNode(outer); adaptor.AddChild(root_0, outer_tree); } break; } if (left != null) retval.j = LEFT_OUTER; else if (right != null) retval.j = RIGHT_OUTER; else if (outer != null) retval.j = RIGHT_OUTER; } } break; case 2 : // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:256:4: FULL { root_0 = (IASTNode)adaptor.GetNilNode(); _last = (IASTNode)input.LT(1); FULL63=(IASTNode)Match(input,FULL,FOLLOW_FULL_in_joinType1216); FULL63_tree = (IASTNode)adaptor.DupNode(FULL63); adaptor.AddChild(root_0, FULL63_tree); retval.j = FULL; } break; case 3 : // /Users/Steve/Projects/NHibernate/Branches/2.1.x/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.g:259:4: INNER { root_0 = (IASTNode)adaptor.GetNilNode(); _last = (IASTNode)input.LT(1); INNER64=(IASTNode)Match(input,INNER,FOLLOW_INNER_in_joinType1223); INNER64_tree = (IASTNode)adaptor.DupNode(INNER64); adaptor.AddChild(root_0, INNER64_tree); retval.j = INNER; } break; } retval.Tree = (IASTNode)adaptor.RulePostProcessing(root_0); } catch (RecognitionException re) { ReportError(re); Recover(input,re); } finally { } return retval; }
// $ANTLR start "joinType" // HqlSqlWalker.g:262:1: joinType returns [int j] : ( ( (left= LEFT | right= RIGHT ) (outer= OUTER )? ) | FULL | INNER ); public HqlSqlWalker.joinType_return joinType() // throws RecognitionException [1] { HqlSqlWalker.joinType_return retval = new HqlSqlWalker.joinType_return(); retval.Start = input.LT(1); IASTNode root_0 = null; IASTNode _first_0 = null; IASTNode _last = null; IASTNode left = null; IASTNode right = null; IASTNode outer = null; IASTNode FULL68 = null; IASTNode INNER69 = null; IASTNode left_tree=null; IASTNode right_tree=null; IASTNode outer_tree=null; IASTNode FULL68_tree=null; IASTNode INNER69_tree=null; retval.j = INNER; try { // HqlSqlWalker.g:266:2: ( ( (left= LEFT | right= RIGHT ) (outer= OUTER )? ) | FULL | INNER ) int alt38 = 3; switch ( input.LA(1) ) { case LEFT: case RIGHT: { alt38 = 1; } break; case FULL: { alt38 = 2; } break; case INNER: { alt38 = 3; } break; default: NoViableAltException nvae_d38s0 = new NoViableAltException("", 38, 0, input); throw nvae_d38s0; } switch (alt38) { case 1 : // HqlSqlWalker.g:266:4: ( (left= LEFT | right= RIGHT ) (outer= OUTER )? ) { root_0 = (IASTNode)adaptor.GetNilNode(); // HqlSqlWalker.g:266:4: ( (left= LEFT | right= RIGHT ) (outer= OUTER )? ) // HqlSqlWalker.g:266:6: (left= LEFT | right= RIGHT ) (outer= OUTER )? { // HqlSqlWalker.g:266:6: (left= LEFT | right= RIGHT ) int alt36 = 2; int LA36_0 = input.LA(1); if ( (LA36_0 == LEFT) ) { alt36 = 1; } else if ( (LA36_0 == RIGHT) ) { alt36 = 2; } else { NoViableAltException nvae_d36s0 = new NoViableAltException("", 36, 0, input); throw nvae_d36s0; } switch (alt36) { case 1 : // HqlSqlWalker.g:266:7: left= LEFT { _last = (IASTNode)input.LT(1); left=(IASTNode)Match(input,LEFT,FOLLOW_LEFT_in_joinType1271); left_tree = (IASTNode)adaptor.DupNode(left); adaptor.AddChild(root_0, left_tree); } break; case 2 : // HqlSqlWalker.g:266:19: right= RIGHT { _last = (IASTNode)input.LT(1); right=(IASTNode)Match(input,RIGHT,FOLLOW_RIGHT_in_joinType1277); right_tree = (IASTNode)adaptor.DupNode(right); adaptor.AddChild(root_0, right_tree); } break; } // HqlSqlWalker.g:266:32: (outer= OUTER )? int alt37 = 2; int LA37_0 = input.LA(1); if ( (LA37_0 == OUTER) ) { alt37 = 1; } switch (alt37) { case 1 : // HqlSqlWalker.g:266:33: outer= OUTER { _last = (IASTNode)input.LT(1); outer=(IASTNode)Match(input,OUTER,FOLLOW_OUTER_in_joinType1283); outer_tree = (IASTNode)adaptor.DupNode(outer); adaptor.AddChild(root_0, outer_tree); } break; } if (left != null) retval.j = LEFT_OUTER; else if (right != null) retval.j = RIGHT_OUTER; else if (outer != null) retval.j = RIGHT_OUTER; } } break; case 2 : // HqlSqlWalker.g:272:4: FULL { root_0 = (IASTNode)adaptor.GetNilNode(); _last = (IASTNode)input.LT(1); FULL68=(IASTNode)Match(input,FULL,FOLLOW_FULL_in_joinType1297); FULL68_tree = (IASTNode)adaptor.DupNode(FULL68); adaptor.AddChild(root_0, FULL68_tree); retval.j = FULL; } break; case 3 : // HqlSqlWalker.g:275:4: INNER { root_0 = (IASTNode)adaptor.GetNilNode(); _last = (IASTNode)input.LT(1); INNER69=(IASTNode)Match(input,INNER,FOLLOW_INNER_in_joinType1304); INNER69_tree = (IASTNode)adaptor.DupNode(INNER69); adaptor.AddChild(root_0, INNER69_tree); retval.j = INNER; } break; } retval.Tree = (IASTNode)adaptor.RulePostProcessing(root_0); } catch (RecognitionException re) { ReportError(re); Recover(input,re); } finally { } return retval; }