/*
* generated by Xtext
*/
package org.eclipse.emf.mwe2.language.ui.contentassist.antlr;
import java.util.Collection;
import java.util.Map;
import java.util.HashMap;
import org.antlr.runtime.RecognitionException;
import org.eclipse.xtext.AbstractElement;
import org.eclipse.xtext.ui.editor.contentassist.antlr.AbstractContentAssistParser;
import org.eclipse.xtext.ui.editor.contentassist.antlr.FollowElement;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
import com.google.inject.Inject;
import org.eclipse.emf.mwe2.language.services.Mwe2GrammarAccess;
public class Mwe2Parser extends AbstractContentAssistParser {
@Inject
private Mwe2GrammarAccess grammarAccess;
private Map<AbstractElement, String> nameMappings;
@Override
protected org.eclipse.emf.mwe2.language.ui.contentassist.antlr.internal.InternalMwe2Parser createParser() {
org.eclipse.emf.mwe2.language.ui.contentassist.antlr.internal.InternalMwe2Parser result = new org.eclipse.emf.mwe2.language.ui.contentassist.antlr.internal.InternalMwe2Parser(null);
result.setGrammarAccess(grammarAccess);
return result;
}
@Override
protected String getRuleName(AbstractElement element) {
if (nameMappings == null) {
nameMappings = new HashMap<AbstractElement, String>() {
private static final long serialVersionUID = 1L;
{
put(grammarAccess.getRootComponentAccess().getAlternatives_1(), "rule__RootComponent__Alternatives_1");
put(grammarAccess.getComponentAccess().getAlternatives_1(), "rule__Component__Alternatives_1");
put(grammarAccess.getValueAccess().getAlternatives(), "rule__Value__Alternatives");
put(grammarAccess.getBooleanLiteralAccess().getAlternatives_1(), "rule__BooleanLiteral__Alternatives_1");
put(grammarAccess.getStringLiteralAccess().getAlternatives(), "rule__StringLiteral__Alternatives");
put(grammarAccess.getConstantValueAccess().getAlternatives(), "rule__ConstantValue__Alternatives");
put(grammarAccess.getModuleAccess().getGroup(), "rule__Module__Group__0");
put(grammarAccess.getDeclaredPropertyAccess().getGroup(), "rule__DeclaredProperty__Group__0");
put(grammarAccess.getDeclaredPropertyAccess().getGroup_3(), "rule__DeclaredProperty__Group_3__0");
put(grammarAccess.getRootComponentAccess().getGroup(), "rule__RootComponent__Group__0");
put(grammarAccess.getRootComponentAccess().getGroup_1_1(), "rule__RootComponent__Group_1_1__0");
put(grammarAccess.getRootComponentAccess().getGroup_2(), "rule__RootComponent__Group_2__0");
put(grammarAccess.getComponentAccess().getGroup(), "rule__Component__Group__0");
put(grammarAccess.getComponentAccess().getGroup_1_1(), "rule__Component__Group_1_1__0");
put(grammarAccess.getComponentAccess().getGroup_2(), "rule__Component__Group_2__0");
put(grammarAccess.getImportAccess().getGroup(), "rule__Import__Group__0");
put(grammarAccess.getImportedFQNAccess().getGroup(), "rule__ImportedFQN__Group__0");
put(grammarAccess.getAssignmentAccess().getGroup(), "rule__Assignment__Group__0");
put(grammarAccess.getBooleanLiteralAccess().getGroup(), "rule__BooleanLiteral__Group__0");
put(grammarAccess.getFQNAccess().getGroup(), "rule__FQN__Group__0");
put(grammarAccess.getFQNAccess().getGroup_1(), "rule__FQN__Group_1__0");
put(grammarAccess.getStringLiteralAccess().getGroup_0(), "rule__StringLiteral__Group_0__0");
put(grammarAccess.getStringLiteralAccess().getGroup_0_2(), "rule__StringLiteral__Group_0_2__0");
put(grammarAccess.getStringLiteralAccess().getGroup_1(), "rule__StringLiteral__Group_1__0");
put(grammarAccess.getStringLiteralAccess().getGroup_1_2(), "rule__StringLiteral__Group_1_2__0");
put(grammarAccess.getPropertyReferenceAccess().getGroup(), "rule__PropertyReference__Group__0");
put(grammarAccess.getModuleAccess().getCanonicalNameAssignment_2(), "rule__Module__CanonicalNameAssignment_2");
put(grammarAccess.getModuleAccess().getImportsAssignment_3(), "rule__Module__ImportsAssignment_3");
put(grammarAccess.getModuleAccess().getDeclaredPropertiesAssignment_4(), "rule__Module__DeclaredPropertiesAssignment_4");
put(grammarAccess.getModuleAccess().getRootAssignment_5(), "rule__Module__RootAssignment_5");
put(grammarAccess.getDeclaredPropertyAccess().getTypeAssignment_1(), "rule__DeclaredProperty__TypeAssignment_1");
put(grammarAccess.getDeclaredPropertyAccess().getNameAssignment_2(), "rule__DeclaredProperty__NameAssignment_2");
put(grammarAccess.getDeclaredPropertyAccess().getDefaultAssignment_3_1(), "rule__DeclaredProperty__DefaultAssignment_3_1");
put(grammarAccess.getRootComponentAccess().getTypeAssignment_1_0(), "rule__RootComponent__TypeAssignment_1_0");
put(grammarAccess.getRootComponentAccess().getModuleAssignment_1_1_1(), "rule__RootComponent__ModuleAssignment_1_1_1");
put(grammarAccess.getRootComponentAccess().getNameAssignment_2_1(), "rule__RootComponent__NameAssignment_2_1");
put(grammarAccess.getRootComponentAccess().getAutoInjectAssignment_3(), "rule__RootComponent__AutoInjectAssignment_3");
put(grammarAccess.getRootComponentAccess().getAssignmentAssignment_5(), "rule__RootComponent__AssignmentAssignment_5");
put(grammarAccess.getComponentAccess().getTypeAssignment_1_0(), "rule__Component__TypeAssignment_1_0");
put(grammarAccess.getComponentAccess().getModuleAssignment_1_1_1(), "rule__Component__ModuleAssignment_1_1_1");
put(grammarAccess.getComponentAccess().getNameAssignment_2_1(), "rule__Component__NameAssignment_2_1");
put(grammarAccess.getComponentAccess().getAutoInjectAssignment_3(), "rule__Component__AutoInjectAssignment_3");
put(grammarAccess.getComponentAccess().getAssignmentAssignment_5(), "rule__Component__AssignmentAssignment_5");
put(grammarAccess.getImportAccess().getImportedNamespaceAssignment_1(), "rule__Import__ImportedNamespaceAssignment_1");
put(grammarAccess.getAssignmentAccess().getFeatureAssignment_0(), "rule__Assignment__FeatureAssignment_0");
put(grammarAccess.getAssignmentAccess().getValueAssignment_2(), "rule__Assignment__ValueAssignment_2");
put(grammarAccess.getBooleanLiteralAccess().getIsTrueAssignment_1_0(), "rule__BooleanLiteral__IsTrueAssignment_1_0");
put(grammarAccess.getReferenceAccess().getReferableAssignment(), "rule__Reference__ReferableAssignment");
put(grammarAccess.getStringLiteralAccess().getBeginAssignment_0_0(), "rule__StringLiteral__BeginAssignment_0_0");
put(grammarAccess.getStringLiteralAccess().getPartsAssignment_0_1(), "rule__StringLiteral__PartsAssignment_0_1");
put(grammarAccess.getStringLiteralAccess().getPartsAssignment_0_2_0(), "rule__StringLiteral__PartsAssignment_0_2_0");
put(grammarAccess.getStringLiteralAccess().getPartsAssignment_0_2_1(), "rule__StringLiteral__PartsAssignment_0_2_1");
put(grammarAccess.getStringLiteralAccess().getEndAssignment_0_3(), "rule__StringLiteral__EndAssignment_0_3");
put(grammarAccess.getStringLiteralAccess().getBeginAssignment_1_0(), "rule__StringLiteral__BeginAssignment_1_0");
put(grammarAccess.getStringLiteralAccess().getPartsAssignment_1_1(), "rule__StringLiteral__PartsAssignment_1_1");
put(grammarAccess.getStringLiteralAccess().getPartsAssignment_1_2_0(), "rule__StringLiteral__PartsAssignment_1_2_0");
put(grammarAccess.getStringLiteralAccess().getPartsAssignment_1_2_1(), "rule__StringLiteral__PartsAssignment_1_2_1");
put(grammarAccess.getStringLiteralAccess().getEndAssignment_1_3(), "rule__StringLiteral__EndAssignment_1_3");
put(grammarAccess.getPropertyReferenceImplAccess().getReferableAssignment(), "rule__PropertyReferenceImpl__ReferableAssignment");
put(grammarAccess.getPlainStringAccess().getValueAssignment(), "rule__PlainString__ValueAssignment");
}
};
}
return nameMappings.get(element);
}
@Override
protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) {
try {
org.eclipse.emf.mwe2.language.ui.contentassist.antlr.internal.InternalMwe2Parser typedParser = (org.eclipse.emf.mwe2.language.ui.contentassist.antlr.internal.InternalMwe2Parser) parser;
typedParser.entryRuleModule();
return typedParser.getFollowElements();
} catch(RecognitionException ex) {
throw new RuntimeException(ex);
}
}
@Override
protected String[] getInitialHiddenTokens() {
return new String[] { "RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT" };
}
public Mwe2GrammarAccess getGrammarAccess() {
return this.grammarAccess;
}
public void setGrammarAccess(Mwe2GrammarAccess grammarAccess) {
this.grammarAccess = grammarAccess;
}
}