// $ANTLR start "ruleModel" // PsiInternalBug289524TestLanguage.g:65:1: ruleModel returns [Boolean current=false] : ( () // otherlv_1= 'Model' ( (lv_refs_2_0= ruleModelElement ) )* ) ; public final Boolean ruleModel() throws RecognitionException { Boolean current = false; Token otherlv_1 = null; Boolean lv_refs_2_0 = null; try { // PsiInternalBug289524TestLanguage.g:66:1: ( ( () otherlv_1= 'Model' ( (lv_refs_2_0= // ruleModelElement ) )* ) ) // PsiInternalBug289524TestLanguage.g:67:2: ( () otherlv_1= 'Model' ( (lv_refs_2_0= // ruleModelElement ) )* ) { // PsiInternalBug289524TestLanguage.g:67:2: ( () otherlv_1= 'Model' ( (lv_refs_2_0= // ruleModelElement ) )* ) // PsiInternalBug289524TestLanguage.g:68:3: () otherlv_1= 'Model' ( (lv_refs_2_0= // ruleModelElement ) )* { // PsiInternalBug289524TestLanguage.g:68:3: () // PsiInternalBug289524TestLanguage.g:69:4: { if (state.backtracking == 0) { /* */ } if (state.backtracking == 0) { precedeComposite(elementTypeProvider.getModel_ModelAction_0ElementType()); doneComposite(); associateWithSemanticElement(); } } if (state.backtracking == 0) { markLeaf(elementTypeProvider.getModel_ModelKeyword_1ElementType()); } otherlv_1 = (Token) match(input, 11, FollowSets000.FOLLOW_3); if (state.failed) return current; if (state.backtracking == 0) { doneLeaf(otherlv_1); } // PsiInternalBug289524TestLanguage.g:85:3: ( (lv_refs_2_0= ruleModelElement ) )* loop1: do { int alt1 = 2; int LA1_0 = input.LA(1); if ((LA1_0 == 12 || LA1_0 == 14)) { alt1 = 1; } switch (alt1) { case 1: // PsiInternalBug289524TestLanguage.g:86:4: (lv_refs_2_0= ruleModelElement ) { // PsiInternalBug289524TestLanguage.g:86:4: (lv_refs_2_0= ruleModelElement ) // PsiInternalBug289524TestLanguage.g:87:5: lv_refs_2_0= ruleModelElement { if (state.backtracking == 0) { markComposite( elementTypeProvider .getModel_RefsModelElementParserRuleCall_2_0ElementType()); } pushFollow(FollowSets000.FOLLOW_3); lv_refs_2_0 = ruleModelElement(); state._fsp--; if (state.failed) return current; if (state.backtracking == 0) { doneComposite(); if (!current) { associateWithSemanticElement(); current = true; } } } } break; default: break loop1; } } while (true); } } } catch (RecognitionException re) { reportError(re); recover(input, re); } finally { } return current; }