InternalXtext.g:579:1: ruleNamedArgument : ( ( rule__NamedArgument__Group__0 ) ) ;
557499
public final void ruleNamedArgument() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXtext.g:583:2: ( ( ( rule__NamedArgument__Group__0 ) ) )
            // InternalXtext.g:584:2: ( ( rule__NamedArgument__Group__0 ) )
            {
            // InternalXtext.g:584:2: ( ( rule__NamedArgument__Group__0 ) )
            // InternalXtext.g:585:3: ( rule__NamedArgument__Group__0 )
            {
             before(grammarAccess.getNamedArgumentAccess().getGroup()); 
            // InternalXtext.g:586:3: ( rule__NamedArgument__Group__0 )
            // InternalXtext.g:586:4: rule__NamedArgument__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_2);
            rule__NamedArgument__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getNamedArgumentAccess().getGroup()); 

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
46620
public final void ruleTerminalGroup() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXtext.g:1158:2: ( ( ( rule__TerminalGroup__Group__0 ) ) )
            // InternalXtext.g:1159:2: ( ( rule__TerminalGroup__Group__0 ) )
            {
            // InternalXtext.g:1159:2: ( ( rule__TerminalGroup__Group__0 ) )
            // InternalXtext.g:1160:3: ( rule__TerminalGroup__Group__0 )
            {
             before(grammarAccess.getTerminalGroupAccess().getGroup()); 
            // InternalXtext.g:1161:3: ( rule__TerminalGroup__Group__0 )
            // InternalXtext.g:1161:4: rule__TerminalGroup__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_2);
            rule__TerminalGroup__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getTerminalGroupAccess().getGroup()); 

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
89636
public final void ruleAbstractTokenWithCardinality() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXtext.g:458:2: ( ( ( rule__AbstractTokenWithCardinality__Group__0 ) ) )
            // InternalXtext.g:459:2: ( ( rule__AbstractTokenWithCardinality__Group__0 ) )
            {
            // InternalXtext.g:459:2: ( ( rule__AbstractTokenWithCardinality__Group__0 ) )
            // InternalXtext.g:460:3: ( rule__AbstractTokenWithCardinality__Group__0 )
            {
             before(grammarAccess.getAbstractTokenWithCardinalityAccess().getGroup()); 
            // InternalXtext.g:461:3: ( rule__AbstractTokenWithCardinality__Group__0 )
            // InternalXtext.g:461:4: rule__AbstractTokenWithCardinality__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_2);
            rule__AbstractTokenWithCardinality__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getAbstractTokenWithCardinalityAccess().getGroup()); 

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
210728
public final String entryRuleArgument() throws RecognitionException {
        String current = null;

        AntlrDatatypeRuleToken iv_ruleArgument = null;


        try {
            // InternalSimpleExpressions.g:721:2: (iv_ruleArgument= ruleArgument EOF )
            // InternalSimpleExpressions.g:722:2: iv_ruleArgument= ruleArgument EOF
            {
             newCompositeNode(grammarAccess.getArgumentRule()); 
            pushFollow(FOLLOW_1);
            iv_ruleArgument=ruleArgument();

            state._fsp--;

             current =iv_ruleArgument.getText(); 
            match(input,EOF,FOLLOW_2); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
146915
public final void ruleXThrowExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXbase.g:1421:2: ( ( ( rule__XThrowExpression__Group__0 ) ) )
            // InternalXbase.g:1422:2: ( ( rule__XThrowExpression__Group__0 ) )
            {
            // InternalXbase.g:1422:2: ( ( rule__XThrowExpression__Group__0 ) )
            // InternalXbase.g:1423:3: ( rule__XThrowExpression__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getXThrowExpressionAccess().getGroup()); 
            }
            // InternalXbase.g:1424:3: ( rule__XThrowExpression__Group__0 )
            // InternalXbase.g:1424:4: rule__XThrowExpression__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__XThrowExpression__Group__0();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getXThrowExpressionAccess().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 ;
    }
170468
public final void ruleXNullLiteral() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXbase.g:1321:2: ( ( ( rule__XNullLiteral__Group__0 ) ) )
            // InternalXbase.g:1322:2: ( ( rule__XNullLiteral__Group__0 ) )
            {
            // InternalXbase.g:1322:2: ( ( rule__XNullLiteral__Group__0 ) )
            // InternalXbase.g:1323:3: ( rule__XNullLiteral__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getXNullLiteralAccess().getGroup()); 
            }
            // InternalXbase.g:1324:3: ( rule__XNullLiteral__Group__0 )
            // InternalXbase.g:1324:4: rule__XNullLiteral__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__XNullLiteral__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
1128683
public final void rulePredicatedKeyword() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXtext.g:858:2: ( ( ( rule__PredicatedKeyword__Group__0 ) ) )
            // InternalXtext.g:859:2: ( ( rule__PredicatedKeyword__Group__0 ) )
            {
            // InternalXtext.g:859:2: ( ( rule__PredicatedKeyword__Group__0 ) )
            // InternalXtext.g:860:3: ( rule__PredicatedKeyword__Group__0 )
            {
             before(grammarAccess.getPredicatedKeywordAccess().getGroup()); 
            // InternalXtext.g:861:3: ( rule__PredicatedKeyword__Group__0 )
            // InternalXtext.g:861:4: rule__PredicatedKeyword__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_2);
            rule__PredicatedKeyword__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getPredicatedKeywordAccess().getGroup()); 

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
1144583
public final void ruleJvmArgumentTypeReference() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXtype.g:171:2: ( ( ( rule__JvmArgumentTypeReference__Alternatives ) ) )
            // InternalXtype.g:172:2: ( ( rule__JvmArgumentTypeReference__Alternatives ) )
            {
            // InternalXtype.g:172:2: ( ( rule__JvmArgumentTypeReference__Alternatives ) )
            // InternalXtype.g:173:3: ( rule__JvmArgumentTypeReference__Alternatives )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getJvmArgumentTypeReferenceAccess().getAlternatives()); 
            }
            // InternalXtype.g:174:3: ( rule__JvmArgumentTypeReference__Alternatives )
            // InternalXtype.g:174:4: rule__JvmArgumentTypeReference__Alternatives
            {
            pushFollow(FOLLOW_2);
            rule__JvmArgumentTypeReference__Alternatives();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
1312790
public final void ruleEnumRule() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXtext.g:1408:2: ( ( ( rule__EnumRule__Group__0 ) ) )
            // InternalXtext.g:1409:2: ( ( rule__EnumRule__Group__0 ) )
            {
            // InternalXtext.g:1409:2: ( ( rule__EnumRule__Group__0 ) )
            // InternalXtext.g:1410:3: ( rule__EnumRule__Group__0 )
            {
             before(grammarAccess.getEnumRuleAccess().getGroup()); 
            // InternalXtext.g:1411:3: ( rule__EnumRule__Group__0 )
            // InternalXtext.g:1411:4: rule__EnumRule__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_2);
            rule__EnumRule__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getEnumRuleAccess().getGroup()); 

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
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 ;

        }


        }


        }


        }
    }
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 ;
    }
337323
public final void ruleEnumLiterals() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXtext.g:1433:2: ( ( ( rule__EnumLiterals__Group__0 ) ) )
            // InternalXtext.g:1434:2: ( ( rule__EnumLiterals__Group__0 ) )
            {
            // InternalXtext.g:1434:2: ( ( rule__EnumLiterals__Group__0 ) )
            // InternalXtext.g:1435:3: ( rule__EnumLiterals__Group__0 )
            {
             before(grammarAccess.getEnumLiteralsAccess().getGroup()); 
            // InternalXtext.g:1436:3: ( rule__EnumLiterals__Group__0 )
            // InternalXtext.g:1436:4: rule__EnumLiterals__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_2);
            rule__EnumLiterals__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getEnumLiteralsAccess().getGroup()); 

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
683960
public final void ruleGroup() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXtext.g:408:2: ( ( ( rule__Group__Group__0 ) ) )
            // InternalXtext.g:409:2: ( ( rule__Group__Group__0 ) )
            {
            // InternalXtext.g:409:2: ( ( rule__Group__Group__0 ) )
            // InternalXtext.g:410:3: ( rule__Group__Group__0 )
            {
             before(grammarAccess.getGroupAccess().getGroup()); 
            // InternalXtext.g:411:3: ( rule__Group__Group__0 )
            // InternalXtext.g:411:4: rule__Group__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_2);
            rule__Group__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getGroupAccess().getGroup()); 

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
184715
public final void ruleQualifiedNameInStaticImport() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXbase.g:1929:2: ( ( ( ( rule__QualifiedNameInStaticImport__Group__0 ) ) ( ( rule__QualifiedNameInStaticImport__Group__0 )* ) ) )
            // InternalXbase.g:1930:2: ( ( ( rule__QualifiedNameInStaticImport__Group__0 ) ) ( ( rule__QualifiedNameInStaticImport__Group__0 )* ) )
            {
            // InternalXbase.g:1930:2: ( ( ( rule__QualifiedNameInStaticImport__Group__0 ) ) ( ( rule__QualifiedNameInStaticImport__Group__0 )* ) )
            // InternalXbase.g:1931:3: ( ( rule__QualifiedNameInStaticImport__Group__0 ) ) ( ( rule__QualifiedNameInStaticImport__Group__0 )* )
            {
            // InternalXbase.g:1931:3: ( ( rule__QualifiedNameInStaticImport__Group__0 ) )
            // InternalXbase.g:1932:4: ( rule__QualifiedNameInStaticImport__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup()); 
            }
            // InternalXbase.g:1933:4: ( rule__QualifiedNameInStaticImport__Group__0 )
            // InternalXbase.g:1933:5: rule__QualifiedNameInStaticImport__Group__0
            {
            pushFollow(FOLLOW_3);
            rule__QualifiedNameInStaticImport__Group__0();

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

            }

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

            }

            // InternalXbase.g:1936:3: ( ( rule__QualifiedNameInStaticImport__Group__0 )* )
            // InternalXbase.g:1937:4: ( rule__QualifiedNameInStaticImport__Group__0 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup()); 
            }
            // InternalXbase.g:1938:4: ( rule__QualifiedNameInStaticImport__Group__0 )*
            loop1:
            do {
                int alt1=2;
                int LA1_0 = input.LA(1);

                if ( (LA1_0==RULE_ID) ) {
                    int LA1_2 = input.LA(2);

                    if ( (LA1_2==43) ) {
                        alt1=1;
                    }


                }


                switch (alt1) {
            	case 1 :
            	    // InternalXbase.g:1938:5: rule__QualifiedNameInStaticImport__Group__0
            	    {
            	    pushFollow(FOLLOW_3);
            	    rule__QualifiedNameInStaticImport__Group__0();

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

            	    }
            	    break;

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

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

            }


            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
753415
private static NamedArgument[] toNamedArguments(Argument[] args) {
	NamedArgument[] nargs = new NamedArgument[args.length];
	for (int i = 0; i < args.length; i++) {
	    nargs[i] = (NamedArgument) args[i];
	}

	return nargs;
    }
552554
public final void ruleAbstractTerminal() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXtext.g:508:2: ( ( ( rule__AbstractTerminal__Alternatives ) ) )
            // InternalXtext.g:509:2: ( ( rule__AbstractTerminal__Alternatives ) )
            {
            // InternalXtext.g:509:2: ( ( rule__AbstractTerminal__Alternatives ) )
            // InternalXtext.g:510:3: ( rule__AbstractTerminal__Alternatives )
            {
             before(grammarAccess.getAbstractTerminalAccess().getAlternatives()); 
            // InternalXtext.g:511:3: ( rule__AbstractTerminal__Alternatives )
            // InternalXtext.g:511:4: rule__AbstractTerminal__Alternatives
            {
            pushFollow(FollowSets000.FOLLOW_2);
            rule__AbstractTerminal__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getAbstractTerminalAccess().getAlternatives()); 

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }