InternalXtext.g:754:1: ruleParameterReference : ( ( rule__ParameterReference__ParameterAssignment ) ) ;
519153
public final void ruleParameterReference() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXtext.g:758:2: ( ( ( rule__ParameterReference__ParameterAssignment ) ) )
            // InternalXtext.g:759:2: ( ( rule__ParameterReference__ParameterAssignment ) )
            {
            // InternalXtext.g:759:2: ( ( rule__ParameterReference__ParameterAssignment ) )
            // InternalXtext.g:760:3: ( rule__ParameterReference__ParameterAssignment )
            {
             before(grammarAccess.getParameterReferenceAccess().getParameterAssignment()); 
            // InternalXtext.g:761:3: ( rule__ParameterReference__ParameterAssignment )
            // InternalXtext.g:761:4: rule__ParameterReference__ParameterAssignment
            {
            pushFollow(FollowSets000.FOLLOW_2);
            rule__ParameterReference__ParameterAssignment();

            state._fsp--;


            }

             after(grammarAccess.getParameterReferenceAccess().getParameterAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
145863
public final void arguments() throws RecognitionException {
		int arguments_StartIndex = input.index();

		try {
			if ( state.backtracking>0 && alreadyParsedRule(input, 140) ) { return; }

			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:1297:5: ( '(' ( expressionList )? ')' )
			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:1297:7: '(' ( expressionList )? ')'
			{
			match(input,36,FOLLOW_36_in_arguments6395); if (state.failed) return;
			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:1297:11: ( expressionList )?
			int alt192=2;
			int LA192_0 = input.LA(1);
			if ( ((LA192_0 >= CharacterLiteral && LA192_0 <= DecimalLiteral)||LA192_0==FloatingPointLiteral||(LA192_0 >= HexLiteral && LA192_0 <= Identifier)||(LA192_0 >= OctalLiteral && LA192_0 <= StringLiteral)||LA192_0==29||LA192_0==36||(LA192_0 >= 40 && LA192_0 <= 41)||(LA192_0 >= 44 && LA192_0 <= 45)||LA192_0==53||LA192_0==65||LA192_0==67||(LA192_0 >= 70 && LA192_0 <= 71)||LA192_0==77||(LA192_0 >= 79 && LA192_0 <= 80)||LA192_0==82||LA192_0==85||LA192_0==92||LA192_0==94||(LA192_0 >= 97 && LA192_0 <= 98)||LA192_0==105||LA192_0==108||LA192_0==111||LA192_0==115||LA192_0==118||LA192_0==126) ) {
				alt192=1;
			}
			switch (alt192) {
				case 1 :
					// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:1297:11: expressionList
					{
					pushFollow(FOLLOW_expressionList_in_arguments6397);
					expressionList();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}

			match(input,37,FOLLOW_37_in_arguments6400); if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
			if ( state.backtracking>0 ) { memoize(input, 140, arguments_StartIndex); }

		}
	}
403047
public final EObject ruleSarlXLoopFormalParameter() throws RecognitionException {
        EObject current = null;

        Token lv_extension_1_0=null;
        Token otherlv_3=null;
        AntlrDatatypeRuleToken lv_name_2_0 = null;

        EObject lv_parameterType_4_0 = null;



        	enterRule();

        try {
            // InternalSARL.g:8462:2: ( ( () ( (lv_extension_1_0= 'extension' ) )? ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'as' ( (lv_parameterType_4_0= ruleJvmTypeReference ) ) )? ) )
            // InternalSARL.g:8463:2: ( () ( (lv_extension_1_0= 'extension' ) )? ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'as' ( (lv_parameterType_4_0= ruleJvmTypeReference ) ) )? )
            {
            // InternalSARL.g:8463:2: ( () ( (lv_extension_1_0= 'extension' ) )? ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'as' ( (lv_parameterType_4_0= ruleJvmTypeReference ) ) )? )
            // InternalSARL.g:8464:3: () ( (lv_extension_1_0= 'extension' ) )? ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'as' ( (lv_parameterType_4_0= ruleJvmTypeReference ) ) )?
            {
            // InternalSARL.g:8464:3: ()
            // InternalSARL.g:8465:4: 
            {
            if ( state.backtracking==0 ) {

              				current = forceCreateModelElement(
              					grammarAccess.getSarlXLoopFormalParameterAccess().getXtendFormalParameterAction_0(),
              					current);
              			
            }

            }

            // InternalSARL.g:8471:3: ( (lv_extension_1_0= 'extension' ) )?
            int alt229=2;
            int LA229_0 = input.LA(1);

            if ( (LA229_0==45) ) {
                alt229=1;
            }
            switch (alt229) {
                case 1 :
                    // InternalSARL.g:8472:4: (lv_extension_1_0= 'extension' )
                    {
                    // InternalSARL.g:8472:4: (lv_extension_1_0= 'extension' )
                    // InternalSARL.g:8473:5: lv_extension_1_0= 'extension'
                    {
                    lv_extension_1_0=(Token)match(input,45,FOLLOW_3); if (state.failed) return current;
                    if ( state.backtracking==0 ) {

                      					newLeafNode(lv_extension_1_0, grammarAccess.getSarlXLoopFormalParameterAccess().getExtensionExtensionKeyword_1_0());
                      				
                    }
                    if ( state.backtracking==0 ) {

                      					if (current==null) {
                      						current = createModelElement(grammarAccess.getSarlXLoopFormalParameterRule());
                      					}
                      					setWithLastConsumed(current, "extension", true, "extension");
                      				
                    }

                    }


                    }
                    break;

            }

            // InternalSARL.g:8485:3: ( (lv_name_2_0= ruleValidID ) )
            // InternalSARL.g:8486:4: (lv_name_2_0= ruleValidID )
            {
            // InternalSARL.g:8486:4: (lv_name_2_0= ruleValidID )
            // InternalSARL.g:8487:5: lv_name_2_0= ruleValidID
            {
            if ( state.backtracking==0 ) {

              					newCompositeNode(grammarAccess.getSarlXLoopFormalParameterAccess().getNameValidIDParserRuleCall_2_0());
              				
            }
            pushFollow(FOLLOW_74);
            lv_name_2_0=ruleValidID();

            state._fsp--;
            if (state.failed) return current;
            if ( state.backtracking==0 ) {

              					if (current==null) {
              						current = createModelElementForParent(grammarAccess.getSarlXLoopFormalParameterRule());
              					}
              					set(
              						current,
              						"name",
              						lv_name_2_0,
              						"org.eclipse.xtend.core.Xtend.ValidID");
              					afterParserOrEnumRuleCall();
              				
            }

            }


            }

            // InternalSARL.g:8504:3: (otherlv_3= 'as' ( (lv_parameterType_4_0= ruleJvmTypeReference ) ) )?
            int alt230=2;
            int LA230_0 = input.LA(1);

            if ( (LA230_0==64) ) {
                alt230=1;
            }
            switch (alt230) {
                case 1 :
                    // InternalSARL.g:8505:4: otherlv_3= 'as' ( (lv_parameterType_4_0= ruleJvmTypeReference ) )
                    {
                    otherlv_3=(Token)match(input,64,FOLLOW_41); if (state.failed) return current;
                    if ( state.backtracking==0 ) {

                      				newLeafNode(otherlv_3, grammarAccess.getSarlXLoopFormalParameterAccess().getAsKeyword_3_0());
                      			
                    }
                    // InternalSARL.g:8509:4: ( (lv_parameterType_4_0= ruleJvmTypeReference ) )
                    // InternalSARL.g:8510:5: (lv_parameterType_4_0= ruleJvmTypeReference )
                    {
                    // InternalSARL.g:8510:5: (lv_parameterType_4_0= ruleJvmTypeReference )
                    // InternalSARL.g:8511:6: lv_parameterType_4_0= ruleJvmTypeReference
                    {
                    if ( state.backtracking==0 ) {

                      						newCompositeNode(grammarAccess.getSarlXLoopFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_3_1_0());
                      					
                    }
                    pushFollow(FOLLOW_2);
                    lv_parameterType_4_0=ruleJvmTypeReference();

                    state._fsp--;
                    if (state.failed) return current;
                    if ( state.backtracking==0 ) {

                      						if (current==null) {
                      							current = createModelElementForParent(grammarAccess.getSarlXLoopFormalParameterRule());
                      						}
                      						set(
                      							current,
                      							"parameterType",
                      							lv_parameterType_4_0,
                      							"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
                      						afterParserOrEnumRuleCall();
                      					
                    }

                    }


                    }


                    }
                    break;

            }


            }


            }

            if ( state.backtracking==0 ) {

              	leaveRule();

            }
        }

            catch (RecognitionException re) {
                recover(input,re);
                appendSkippedTokens();
            }
        finally {
        }
        return current;
    }
320110
public final void entryRuleAssignment() throws RecognitionException {
        try {
            // InternalXtext.g:896:1: ( ruleAssignment EOF )
            // InternalXtext.g:897:1: ruleAssignment EOF
            {
             before(grammarAccess.getAssignmentRule()); 
            pushFollow(FollowSets000.FOLLOW_1);
            ruleAssignment();

            state._fsp--;

             after(grammarAccess.getAssignmentRule()); 
            match(input,EOF,FollowSets000.FOLLOW_2); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
640642
public final void entryRuleTypeRef() throws RecognitionException {
        try {
            // InternalXtext.g:296:1: ( ruleTypeRef EOF )
            // InternalXtext.g:297:1: ruleTypeRef EOF
            {
             before(grammarAccess.getTypeRefRule()); 
            pushFollow(FollowSets000.FOLLOW_1);
            ruleTypeRef();

            state._fsp--;

             after(grammarAccess.getTypeRefRule()); 
            match(input,EOF,FollowSets000.FOLLOW_2); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
282262
public final void entryRuleJvmArgumentTypeReference() throws RecognitionException {
        try {
            // InternalXbaseWithAnnotations.g:1817:1: ( ruleJvmArgumentTypeReference EOF )
            // InternalXbaseWithAnnotations.g:1818:1: ruleJvmArgumentTypeReference EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getJvmArgumentTypeReferenceRule()); 
            }
            pushFollow(FOLLOW_1);
            ruleJvmArgumentTypeReference();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getJvmArgumentTypeReferenceRule()); 
            }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
1326649
public final void ruleRuleNameAndParams() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXtext.g:258:2: ( ( ( rule__RuleNameAndParams__Group__0 ) ) )
            // InternalXtext.g:259:2: ( ( rule__RuleNameAndParams__Group__0 ) )
            {
            // InternalXtext.g:259:2: ( ( rule__RuleNameAndParams__Group__0 ) )
            // InternalXtext.g:260:3: ( rule__RuleNameAndParams__Group__0 )
            {
             before(grammarAccess.getRuleNameAndParamsAccess().getGroup()); 
            // InternalXtext.g:261:3: ( rule__RuleNameAndParams__Group__0 )
            // InternalXtext.g:261:4: rule__RuleNameAndParams__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_2);
            rule__RuleNameAndParams__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getRuleNameAndParamsAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
1186605
public final void ruleAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXtext.g:908:2: ( ( ( rule__Assignment__Group__0 ) ) )
            // InternalXtext.g:909:2: ( ( rule__Assignment__Group__0 ) )
            {
            // InternalXtext.g:909:2: ( ( rule__Assignment__Group__0 ) )
            // InternalXtext.g:910:3: ( rule__Assignment__Group__0 )
            {
             before(grammarAccess.getAssignmentAccess().getGroup()); 
            // InternalXtext.g:911:3: ( rule__Assignment__Group__0 )
            // InternalXtext.g:911:4: rule__Assignment__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_2);
            rule__Assignment__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getAssignmentAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
241345
@Override
    public void setRef(int parameterIndex, Ref x) throws SQLException {
        internalStmt.setRef(parameterIndex, x);
    }
590480
public final void formalParameterDeclsRest() throws RecognitionException {
		int formalParameterDeclsRest_StartIndex = input.index();

		try {
			if ( state.backtracking>0 && alreadyParsedRule(input, 58) ) { return; }

			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:574:5: ( variableDeclaratorId ( ',' formalParameterDecls )? | '...' variableDeclaratorId )
			int alt82=2;
			int LA82_0 = input.LA(1);
			if ( (LA82_0==Identifier) ) {
				alt82=1;
			}
			else if ( (LA82_0==48) ) {
				alt82=2;
			}

			else {
				if (state.backtracking>0) {state.failed=true; return;}
				NoViableAltException nvae =
					new NoViableAltException("", 82, 0, input);
				throw nvae;
			}

			switch (alt82) {
				case 1 :
					// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:574:7: variableDeclaratorId ( ',' formalParameterDecls )?
					{
					pushFollow(FOLLOW_variableDeclaratorId_in_formalParameterDeclsRest2070);
					variableDeclaratorId();
					state._fsp--;
					if (state.failed) return;
					// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:574:28: ( ',' formalParameterDecls )?
					int alt81=2;
					int LA81_0 = input.LA(1);
					if ( (LA81_0==43) ) {
						alt81=1;
					}
					switch (alt81) {
						case 1 :
							// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:574:29: ',' formalParameterDecls
							{
							match(input,43,FOLLOW_43_in_formalParameterDeclsRest2073); if (state.failed) return;
							pushFollow(FOLLOW_formalParameterDecls_in_formalParameterDeclsRest2075);
							formalParameterDecls();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}

					}
					break;
				case 2 :
					// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:575:9: '...' variableDeclaratorId
					{
					match(input,48,FOLLOW_48_in_formalParameterDeclsRest2087); if (state.failed) return;
					pushFollow(FOLLOW_variableDeclaratorId_in_formalParameterDeclsRest2089);
					variableDeclaratorId();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
			if ( state.backtracking>0 ) { memoize(input, 58, formalParameterDeclsRest_StartIndex); }

		}
	}
840454
public final void entryRuleCrossReferenceableTerminal() throws RecognitionException {
        try {
            // InternalXtext.g:1021:1: ( ruleCrossReferenceableTerminal EOF )
            // InternalXtext.g:1022:1: ruleCrossReferenceableTerminal EOF
            {
             before(grammarAccess.getCrossReferenceableTerminalRule()); 
            pushFollow(FollowSets000.FOLLOW_1);
            ruleCrossReferenceableTerminal();

            state._fsp--;

             after(grammarAccess.getCrossReferenceableTerminalRule()); 
            match(input,EOF,FollowSets000.FOLLOW_2); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
1293053
public final void ruleXAdditiveExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXbase.g:421:2: ( ( ( rule__XAdditiveExpression__Group__0 ) ) )
            // InternalXbase.g:422:2: ( ( rule__XAdditiveExpression__Group__0 ) )
            {
            // InternalXbase.g:422:2: ( ( rule__XAdditiveExpression__Group__0 ) )
            // InternalXbase.g:423:3: ( rule__XAdditiveExpression__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getXAdditiveExpressionAccess().getGroup()); 
            }
            // InternalXbase.g:424:3: ( rule__XAdditiveExpression__Group__0 )
            // InternalXbase.g:424:4: rule__XAdditiveExpression__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__XAdditiveExpression__Group__0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getXAdditiveExpressionAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
656144
public final EObject ruleCrossReference() throws RecognitionException {
        EObject current = null;

        Token otherlv_0=null;
        Token otherlv_2=null;
        Token otherlv_4=null;
        EObject lv_type_1_0 = null;

        EObject lv_terminal_3_0 = null;



        	enterRule();

        try {
            // InternalXtext.g:2640:2: ( (otherlv_0= '[' ( (lv_type_1_0= ruleTypeRef ) ) (otherlv_2= '|' ( (lv_terminal_3_0= ruleCrossReferenceableTerminal ) ) )? otherlv_4= ']' ) )
            // InternalXtext.g:2641:2: (otherlv_0= '[' ( (lv_type_1_0= ruleTypeRef ) ) (otherlv_2= '|' ( (lv_terminal_3_0= ruleCrossReferenceableTerminal ) ) )? otherlv_4= ']' )
            {
            // InternalXtext.g:2641:2: (otherlv_0= '[' ( (lv_type_1_0= ruleTypeRef ) ) (otherlv_2= '|' ( (lv_terminal_3_0= ruleCrossReferenceableTerminal ) ) )? otherlv_4= ']' )
            // InternalXtext.g:2642:3: otherlv_0= '[' ( (lv_type_1_0= ruleTypeRef ) ) (otherlv_2= '|' ( (lv_terminal_3_0= ruleCrossReferenceableTerminal ) ) )? otherlv_4= ']'
            {
            otherlv_0=(Token)match(input,45,FollowSets000.FOLLOW_13); 

            			newLeafNode(otherlv_0, grammarAccess.getCrossReferenceAccess().getLeftSquareBracketKeyword_0());
            		
            // InternalXtext.g:2646:3: ( (lv_type_1_0= ruleTypeRef ) )
            // InternalXtext.g:2647:4: (lv_type_1_0= ruleTypeRef )
            {
            // InternalXtext.g:2647:4: (lv_type_1_0= ruleTypeRef )
            // InternalXtext.g:2648:5: lv_type_1_0= ruleTypeRef
            {

            					newCompositeNode(grammarAccess.getCrossReferenceAccess().getTypeTypeRefParserRuleCall_1_0());
            				
            pushFollow(FollowSets000.FOLLOW_41);
            lv_type_1_0=ruleTypeRef();

            state._fsp--;


            					if (current==null) {
            						current = createModelElementForParent(grammarAccess.getCrossReferenceRule());
            					}
            					set(
            						current,
            						"type",
            						lv_type_1_0,
            						"org.eclipse.xtext.Xtext.TypeRef");
            					afterParserOrEnumRuleCall();
            				

            }


            }

            // InternalXtext.g:2665:3: (otherlv_2= '|' ( (lv_terminal_3_0= ruleCrossReferenceableTerminal ) ) )?
            int alt59=2;
            int LA59_0 = input.LA(1);

            if ( (LA59_0==30) ) {
                alt59=1;
            }
            switch (alt59) {
                case 1 :
                    // InternalXtext.g:2666:4: otherlv_2= '|' ( (lv_terminal_3_0= ruleCrossReferenceableTerminal ) )
                    {
                    otherlv_2=(Token)match(input,30,FollowSets000.FOLLOW_42); 

                    				newLeafNode(otherlv_2, grammarAccess.getCrossReferenceAccess().getVerticalLineKeyword_2_0());
                    			
                    // InternalXtext.g:2670:4: ( (lv_terminal_3_0= ruleCrossReferenceableTerminal ) )
                    // InternalXtext.g:2671:5: (lv_terminal_3_0= ruleCrossReferenceableTerminal )
                    {
                    // InternalXtext.g:2671:5: (lv_terminal_3_0= ruleCrossReferenceableTerminal )
                    // InternalXtext.g:2672:6: lv_terminal_3_0= ruleCrossReferenceableTerminal
                    {

                    						newCompositeNode(grammarAccess.getCrossReferenceAccess().getTerminalCrossReferenceableTerminalParserRuleCall_2_1_0());
                    					
                    pushFollow(FollowSets000.FOLLOW_43);
                    lv_terminal_3_0=ruleCrossReferenceableTerminal();

                    state._fsp--;


                    						if (current==null) {
                    							current = createModelElementForParent(grammarAccess.getCrossReferenceRule());
                    						}
                    						set(
                    							current,
                    							"terminal",
                    							lv_terminal_3_0,
                    							"org.eclipse.xtext.Xtext.CrossReferenceableTerminal");
                    						afterParserOrEnumRuleCall();
                    					

                    }


                    }


                    }
                    break;

            }

            otherlv_4=(Token)match(input,46,FollowSets000.FOLLOW_2); 

            			newLeafNode(otherlv_4, grammarAccess.getCrossReferenceAccess().getRightSquareBracketKeyword_3());
            		

            }


            }


            	leaveRule();

        }

            catch (RecognitionException re) {
                recover(input,re);
                appendSkippedTokens();
            }
        finally {
        }
        return current;
    }
190959
public final void entryRuleOpPostfix() throws RecognitionException {
        try {
            // InternalXbaseWithAnnotations.g:734:1: ( ruleOpPostfix EOF )
            // InternalXbaseWithAnnotations.g:735:1: ruleOpPostfix EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getOpPostfixRule()); 
            }
            pushFollow(FOLLOW_1);
            ruleOpPostfix();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getOpPostfixRule()); 
            }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
352002
public final void ruleQualifiedName() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXbaseWithAnnotations.g:1671:2: ( ( ( rule__QualifiedName__Group__0 ) ) )
            // InternalXbaseWithAnnotations.g:1672:2: ( ( rule__QualifiedName__Group__0 ) )
            {
            // InternalXbaseWithAnnotations.g:1672:2: ( ( rule__QualifiedName__Group__0 ) )
            // InternalXbaseWithAnnotations.g:1673:3: ( rule__QualifiedName__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getQualifiedNameAccess().getGroup()); 
            }
            // InternalXbaseWithAnnotations.g:1674:3: ( rule__QualifiedName__Group__0 )
            // InternalXbaseWithAnnotations.g:1674:4: rule__QualifiedName__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__QualifiedName__Group__0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getQualifiedNameAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
1080090
public final void entryRuleXFunctionTypeRef() throws RecognitionException {
        try {
            // InternalXtype.g:109:1: ( ruleXFunctionTypeRef EOF )
            // InternalXtype.g:110:1: ruleXFunctionTypeRef EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getXFunctionTypeRefRule()); 
            }
            pushFollow(FOLLOW_1);
            ruleXFunctionTypeRef();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getXFunctionTypeRefRule()); 
            }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
804866
public final void ruleXAnnotationElementValueOrCommaList() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXbaseWithAnnotations.g:121:2: ( ( ( rule__XAnnotationElementValueOrCommaList__Alternatives ) ) )
            // InternalXbaseWithAnnotations.g:122:2: ( ( rule__XAnnotationElementValueOrCommaList__Alternatives ) )
            {
            // InternalXbaseWithAnnotations.g:122:2: ( ( rule__XAnnotationElementValueOrCommaList__Alternatives ) )
            // InternalXbaseWithAnnotations.g:123:3: ( rule__XAnnotationElementValueOrCommaList__Alternatives )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getAlternatives()); 
            }
            // InternalXbaseWithAnnotations.g:124:3: ( rule__XAnnotationElementValueOrCommaList__Alternatives )
            // InternalXbaseWithAnnotations.g:124:4: rule__XAnnotationElementValueOrCommaList__Alternatives
            {
            pushFollow(FOLLOW_2);
            rule__XAnnotationElementValueOrCommaList__Alternatives();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getAlternatives()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }