InternalXtext.g:279:1: ruleParameter : ( ( rule__Parameter__NameAssignment ) ) ;
504837
public final void ruleParameter() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXtext.g:283:2: ( ( ( rule__Parameter__NameAssignment ) ) )
            // InternalXtext.g:284:2: ( ( rule__Parameter__NameAssignment ) )
            {
            // InternalXtext.g:284:2: ( ( rule__Parameter__NameAssignment ) )
            // InternalXtext.g:285:3: ( rule__Parameter__NameAssignment )
            {
             before(grammarAccess.getParameterAccess().getNameAssignment()); 
            // InternalXtext.g:286:3: ( rule__Parameter__NameAssignment )
            // InternalXtext.g:286:4: rule__Parameter__NameAssignment
            {
            pushFollow(FollowSets000.FOLLOW_2);
            rule__Parameter__NameAssignment();

            state._fsp--;


            }

             after(grammarAccess.getParameterAccess().getNameAssignment()); 

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
979580
public final void entryRuleQualifiedName() throws RecognitionException {
        try {
            // InternalXtype.g:309:1: ( ruleQualifiedName EOF )
            // InternalXtype.g:310:1: ruleQualifiedName EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getQualifiedNameRule()); 
            }
            pushFollow(FOLLOW_1);
            ruleQualifiedName();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
1247011
public final void entryRuleQualifiedNameInStaticImport() throws RecognitionException {
        try {
            // InternalXbaseWithAnnotations.g:2042:1: ( ruleQualifiedNameInStaticImport EOF )
            // InternalXbaseWithAnnotations.g:2043:1: ruleQualifiedNameInStaticImport EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getQualifiedNameInStaticImportRule()); 
            }
            pushFollow(FOLLOW_1);
            ruleQualifiedNameInStaticImport();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        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 ;
    }
315091
public final void ruleXVariableDeclaration() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXbase.g:1121:2: ( ( ( rule__XVariableDeclaration__Group__0 ) ) )
            // InternalXbase.g:1122:2: ( ( rule__XVariableDeclaration__Group__0 ) )
            {
            // InternalXbase.g:1122:2: ( ( rule__XVariableDeclaration__Group__0 ) )
            // InternalXbase.g:1123:3: ( rule__XVariableDeclaration__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getXVariableDeclarationAccess().getGroup()); 
            }
            // InternalXbase.g:1124:3: ( rule__XVariableDeclaration__Group__0 )
            // InternalXbase.g:1124:4: rule__XVariableDeclaration__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__XVariableDeclaration__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
729135
public final void ruleXCasePart() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXbase.g:946:2: ( ( ( rule__XCasePart__Group__0 ) ) )
            // InternalXbase.g:947:2: ( ( rule__XCasePart__Group__0 ) )
            {
            // InternalXbase.g:947:2: ( ( rule__XCasePart__Group__0 ) )
            // InternalXbase.g:948:3: ( rule__XCasePart__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getXCasePartAccess().getGroup()); 
            }
            // InternalXbase.g:949:3: ( rule__XCasePart__Group__0 )
            // InternalXbase.g:949:4: rule__XCasePart__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__XCasePart__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
541693
public final void ruleXAnnotation() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXbaseWithAnnotations.g:71:2: ( ( ( rule__XAnnotation__Group__0 ) ) )
            // InternalXbaseWithAnnotations.g:72:2: ( ( rule__XAnnotation__Group__0 ) )
            {
            // InternalXbaseWithAnnotations.g:72:2: ( ( rule__XAnnotation__Group__0 ) )
            // InternalXbaseWithAnnotations.g:73:3: ( rule__XAnnotation__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getXAnnotationAccess().getGroup()); 
            }
            // InternalXbaseWithAnnotations.g:74:3: ( rule__XAnnotation__Group__0 )
            // InternalXbaseWithAnnotations.g:74:4: rule__XAnnotation__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__XAnnotation__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
240005
public final EObject ruleFullJvmFormalParameter() throws RecognitionException {
        EObject current = null;

        EObject lv_parameterType_0_0 = null;

        AntlrDatatypeRuleToken lv_name_1_0 = null;



        	enterRule();

        try {
            // InternalXbaseWithAnnotations.g:4542:2: ( ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) ) )
            // InternalXbaseWithAnnotations.g:4543:2: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) )
            {
            // InternalXbaseWithAnnotations.g:4543:2: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) )
            // InternalXbaseWithAnnotations.g:4544:3: ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) )
            {
            // InternalXbaseWithAnnotations.g:4544:3: ( (lv_parameterType_0_0= ruleJvmTypeReference ) )
            // InternalXbaseWithAnnotations.g:4545:4: (lv_parameterType_0_0= ruleJvmTypeReference )
            {
            // InternalXbaseWithAnnotations.g:4545:4: (lv_parameterType_0_0= ruleJvmTypeReference )
            // InternalXbaseWithAnnotations.g:4546:5: lv_parameterType_0_0= ruleJvmTypeReference
            {
            if ( state.backtracking==0 ) {

              					newCompositeNode(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0());
              				
            }
            pushFollow(FOLLOW_3);
            lv_parameterType_0_0=ruleJvmTypeReference();

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

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

            }


            }

            // InternalXbaseWithAnnotations.g:4563:3: ( (lv_name_1_0= ruleValidID ) )
            // InternalXbaseWithAnnotations.g:4564:4: (lv_name_1_0= ruleValidID )
            {
            // InternalXbaseWithAnnotations.g:4564:4: (lv_name_1_0= ruleValidID )
            // InternalXbaseWithAnnotations.g:4565:5: lv_name_1_0= ruleValidID
            {
            if ( state.backtracking==0 ) {

              					newCompositeNode(grammarAccess.getFullJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0());
              				
            }
            pushFollow(FOLLOW_2);
            lv_name_1_0=ruleValidID();

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

              					if (current==null) {
              						current = createModelElementForParent(grammarAccess.getFullJvmFormalParameterRule());
              					}
              					set(
              						current,
              						"name",
              						lv_name_1_0,
              						"org.eclipse.xtext.xbase.Xtype.ValidID");
              					afterParserOrEnumRuleCall();
              				
            }

            }


            }


            }


            }

            if ( state.backtracking==0 ) {

              	leaveRule();

            }
        }

            catch (RecognitionException re) {
                recover(input,re);
                appendSkippedTokens();
            }
        finally {
        }
        return current;
    }
458208
public final void synpred23_InternalXbaseWithAnnotations_fragment() throws RecognitionException {   
        // InternalXbaseWithAnnotations.g:2381:8: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )
        // InternalXbaseWithAnnotations.g:2381:9: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
        {
        // InternalXbaseWithAnnotations.g:2381:9: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
        // InternalXbaseWithAnnotations.g:2382:9: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) )
        {
        // InternalXbaseWithAnnotations.g:2382:9: ()
        // InternalXbaseWithAnnotations.g:2383:9: 
        {
        }

        // InternalXbaseWithAnnotations.g:2384:9: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )?
        int alt126=2;
        int LA126_0 = input.LA(1);

        if ( (LA126_0==RULE_ID||LA126_0==14||LA126_0==39) ) {
            alt126=1;
        }
        switch (alt126) {
            case 1 :
                // InternalXbaseWithAnnotations.g:2385:10: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )*
                {
                // InternalXbaseWithAnnotations.g:2385:10: ( ( ruleJvmFormalParameter ) )
                // InternalXbaseWithAnnotations.g:2386:11: ( ruleJvmFormalParameter )
                {
                // InternalXbaseWithAnnotations.g:2386:11: ( ruleJvmFormalParameter )
                // InternalXbaseWithAnnotations.g:2387:12: ruleJvmFormalParameter
                {
                pushFollow(FOLLOW_43);
                ruleJvmFormalParameter();

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

                }


                }

                // InternalXbaseWithAnnotations.g:2390:10: ( ',' ( ( ruleJvmFormalParameter ) ) )*
                loop125:
                do {
                    int alt125=2;
                    int LA125_0 = input.LA(1);

                    if ( (LA125_0==15) ) {
                        alt125=1;
                    }


                    switch (alt125) {
                	case 1 :
                	    // InternalXbaseWithAnnotations.g:2391:11: ',' ( ( ruleJvmFormalParameter ) )
                	    {
                	    match(input,15,FOLLOW_22); if (state.failed) return ;
                	    // InternalXbaseWithAnnotations.g:2392:11: ( ( ruleJvmFormalParameter ) )
                	    // InternalXbaseWithAnnotations.g:2393:12: ( ruleJvmFormalParameter )
                	    {
                	    // InternalXbaseWithAnnotations.g:2393:12: ( ruleJvmFormalParameter )
                	    // InternalXbaseWithAnnotations.g:2394:13: ruleJvmFormalParameter
                	    {
                	    pushFollow(FOLLOW_43);
                	    ruleJvmFormalParameter();

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

                	    }


                	    }


                	    }
                	    break;

                	default :
                	    break loop125;
                    }
                } while (true);


                }
                break;

        }

        // InternalXbaseWithAnnotations.g:2399:9: ( ( '|' ) )
        // InternalXbaseWithAnnotations.g:2400:10: ( '|' )
        {
        // InternalXbaseWithAnnotations.g:2400:10: ( '|' )
        // InternalXbaseWithAnnotations.g:2401:11: '|'
        {
        match(input,57,FOLLOW_2); if (state.failed) return ;

        }


        }


        }


        }
    }
334993
public final void entryRuleXThrowExpression() throws RecognitionException {
        try {
            // InternalXbaseWithAnnotations.g:1534:1: ( ruleXThrowExpression EOF )
            // InternalXbaseWithAnnotations.g:1535:1: ruleXThrowExpression EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getXThrowExpressionRule()); 
            }
            pushFollow(FOLLOW_1);
            ruleXThrowExpression();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
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 ;
    }
356848
public final void ruleOpPostfix() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXbase.g:621:2: ( ( ( rule__OpPostfix__Alternatives ) ) )
            // InternalXbase.g:622:2: ( ( rule__OpPostfix__Alternatives ) )
            {
            // InternalXbase.g:622:2: ( ( rule__OpPostfix__Alternatives ) )
            // InternalXbase.g:623:3: ( rule__OpPostfix__Alternatives )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getOpPostfixAccess().getAlternatives()); 
            }
            // InternalXbase.g:624:3: ( rule__OpPostfix__Alternatives )
            // InternalXbase.g:624:4: rule__OpPostfix__Alternatives
            {
            pushFollow(FOLLOW_2);
            rule__OpPostfix__Alternatives();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
543213
public final void ruleXAnnotationElementValuePair() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXbaseWithAnnotations.g:96:2: ( ( ( rule__XAnnotationElementValuePair__Group__0 ) ) )
            // InternalXbaseWithAnnotations.g:97:2: ( ( rule__XAnnotationElementValuePair__Group__0 ) )
            {
            // InternalXbaseWithAnnotations.g:97:2: ( ( rule__XAnnotationElementValuePair__Group__0 ) )
            // InternalXbaseWithAnnotations.g:98:3: ( rule__XAnnotationElementValuePair__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getXAnnotationElementValuePairAccess().getGroup()); 
            }
            // InternalXbaseWithAnnotations.g:99:3: ( rule__XAnnotationElementValuePair__Group__0 )
            // InternalXbaseWithAnnotations.g:99:4: rule__XAnnotationElementValuePair__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__XAnnotationElementValuePair__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
1225892
public final void ruleQualifiedNameWithWildcard() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXbase.g:1854:2: ( ( ( rule__QualifiedNameWithWildcard__Group__0 ) ) )
            // InternalXbase.g:1855:2: ( ( rule__QualifiedNameWithWildcard__Group__0 ) )
            {
            // InternalXbase.g:1855:2: ( ( rule__QualifiedNameWithWildcard__Group__0 ) )
            // InternalXbase.g:1856:3: ( rule__QualifiedNameWithWildcard__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup()); 
            }
            // InternalXbase.g:1857:3: ( rule__QualifiedNameWithWildcard__Group__0 )
            // InternalXbase.g:1857:4: rule__QualifiedNameWithWildcard__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__QualifiedNameWithWildcard__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
1018362
public final void ruleValidID() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXbase.g:1879:2: ( ( RULE_ID ) )
            // InternalXbase.g:1880:2: ( RULE_ID )
            {
            // InternalXbase.g:1880:2: ( RULE_ID )
            // InternalXbase.g:1881:3: RULE_ID
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getValidIDAccess().getIDTerminalRuleCall()); 
            }
            match(input,RULE_ID,FOLLOW_2); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getValidIDAccess().getIDTerminalRuleCall()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
579232
public final void ruleXOrExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXbase.g:171:2: ( ( ( rule__XOrExpression__Group__0 ) ) )
            // InternalXbase.g:172:2: ( ( rule__XOrExpression__Group__0 ) )
            {
            // InternalXbase.g:172:2: ( ( rule__XOrExpression__Group__0 ) )
            // InternalXbase.g:173:3: ( rule__XOrExpression__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getXOrExpressionAccess().getGroup()); 
            }
            // InternalXbase.g:174:3: ( rule__XOrExpression__Group__0 )
            // InternalXbase.g:174:4: rule__XOrExpression__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__XOrExpression__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
1207175
public void namedConsequence(RuleDescrBuilder rule) {
        try {
            match(input,
                    DRL6Lexer.ID,
                    DroolsSoftKeywords.THEN,
                    null,
                    DroolsEditorType.KEYWORD);
            match(input,
                    DRL6Lexer.LEFT_SQUARE,
                    null,
                    null,
                    DroolsEditorType.SYMBOL);
            Token label = match(input,
                    DRL6Lexer.ID,
                    null,
                    null,
                    DroolsEditorType.SYMBOL);
            int first = input.index();
            match(input,
                    DRL6Lexer.RIGHT_SQUARE,
                    null,
                    null,
                    DroolsEditorType.SYMBOL);
            if (state.failed)
                return;

            String name = label.getText();
            String chunk = getConsequenceCode(first);

            // remove the closing squqre bracket "]" and any subsequent spaces and line breaks
            // keep indentation of 1st non-blank line
            chunk = chunk.replaceFirst("^\\]\\s*\\r?\\n?",
                    "");
            rule.namedRhs(name, chunk);

        } catch (RecognitionException re) {
            reportError(re);
        }
    }