/*
* generated by Xtext
*/
package monoge.dsl.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 monoge.dsl.services.ExtensionGrammarAccess;
public class ExtensionParser extends AbstractContentAssistParser {
@Inject
private ExtensionGrammarAccess grammarAccess;
private Map<AbstractElement, String> nameMappings;
@Override
protected monoge.dsl.ui.contentassist.antlr.internal.InternalExtensionParser createParser() {
monoge.dsl.ui.contentassist.antlr.internal.InternalExtensionParser result = new monoge.dsl.ui.contentassist.antlr.internal.InternalExtensionParser(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.getExtensionAccess().getAlternatives(), "rule__Extension__Alternatives");
put(grammarAccess.getModifyOperatorAccess().getAlternatives(), "rule__ModifyOperator__Alternatives");
put(grammarAccess.getTypeAccess().getAlternatives(), "rule__Type__Alternatives");
put(grammarAccess.getCardinalityAccess().getAlternatives(), "rule__Cardinality__Alternatives");
put(grammarAccess.getRelationTypeAccess().getAlternatives(), "rule__RelationType__Alternatives");
put(grammarAccess.getEStringAccess().getAlternatives(), "rule__EString__Alternatives");
put(grammarAccess.getModelAccess().getGroup(), "rule__Model__Group__0");
put(grammarAccess.getModelAccess().getGroup_6(), "rule__Model__Group_6__0");
put(grammarAccess.getCreateAccess().getGroup(), "rule__Create__Group__0");
put(grammarAccess.getRefineAccess().getGroup(), "rule__Refine__Group__0");
put(grammarAccess.getGeneralizeAccess().getGroup(), "rule__Generalize__Group__0");
put(grammarAccess.getGeneralizeAccess().getGroup_6(), "rule__Generalize__Group_6__0");
put(grammarAccess.getModifyClassAccess().getGroup(), "rule__ModifyClass__Group__0");
put(grammarAccess.getAddPropertyAccess().getGroup(), "rule__AddProperty__Group__0");
put(grammarAccess.getTypeAccess().getGroup_1(), "rule__Type__Group_1__0");
put(grammarAccess.getModifyPropertyAccess().getGroup(), "rule__ModifyProperty__Group__0");
put(grammarAccess.getModifyPropertyAccess().getGroup_3(), "rule__ModifyProperty__Group_3__0");
put(grammarAccess.getValueAssignmentAccess().getGroup(), "rule__ValueAssignment__Group__0");
put(grammarAccess.getFilterPropertyAccess().getGroup(), "rule__FilterProperty__Group__0");
put(grammarAccess.getFilterClassAccess().getGroup(), "rule__FilterClass__Group__0");
put(grammarAccess.getAddConstraintAccess().getGroup(), "rule__AddConstraint__Group__0");
put(grammarAccess.getFilterConstraintAccess().getGroup(), "rule__FilterConstraint__Group__0");
put(grammarAccess.getModelAccess().getExtensionNameAssignment_1(), "rule__Model__ExtensionNameAssignment_1");
put(grammarAccess.getModelAccess().getMetamodelAssignment_3(), "rule__Model__MetamodelAssignment_3");
put(grammarAccess.getModelAccess().getPrefixAssignment_5(), "rule__Model__PrefixAssignment_5");
put(grammarAccess.getModelAccess().getMetamodelAssignment_6_1(), "rule__Model__MetamodelAssignment_6_1");
put(grammarAccess.getModelAccess().getPrefixAssignment_6_3(), "rule__Model__PrefixAssignment_6_3");
put(grammarAccess.getModelAccess().getExtensionsAssignment_8(), "rule__Model__ExtensionsAssignment_8");
put(grammarAccess.getMetamodelAccess().getNameAssignment(), "rule__Metamodel__NameAssignment");
put(grammarAccess.getPrefixAccess().getNameAssignment(), "rule__Prefix__NameAssignment");
put(grammarAccess.getCreateAccess().getClassAssignment_1(), "rule__Create__ClassAssignment_1");
put(grammarAccess.getRefineAccess().getClassNewAssignment_1(), "rule__Refine__ClassNewAssignment_1");
put(grammarAccess.getRefineAccess().getPrefixAssignment_3(), "rule__Refine__PrefixAssignment_3");
put(grammarAccess.getRefineAccess().getClassOriginalAssignment_5(), "rule__Refine__ClassOriginalAssignment_5");
put(grammarAccess.getGeneralizeAccess().getClassNewAssignment_1(), "rule__Generalize__ClassNewAssignment_1");
put(grammarAccess.getGeneralizeAccess().getPrefixAssignment_3(), "rule__Generalize__PrefixAssignment_3");
put(grammarAccess.getGeneralizeAccess().getClassAssignment_5(), "rule__Generalize__ClassAssignment_5");
put(grammarAccess.getGeneralizeAccess().getPrefixAssignment_6_1(), "rule__Generalize__PrefixAssignment_6_1");
put(grammarAccess.getGeneralizeAccess().getClassAssignment_6_3(), "rule__Generalize__ClassAssignment_6_3");
put(grammarAccess.getModifyClassAccess().getPrefixAssignment_1(), "rule__ModifyClass__PrefixAssignment_1");
put(grammarAccess.getModifyClassAccess().getClassAssignment_3(), "rule__ModifyClass__ClassAssignment_3");
put(grammarAccess.getModifyClassAccess().getModifyOperatorsAssignment_5(), "rule__ModifyClass__ModifyOperatorsAssignment_5");
put(grammarAccess.getAddPropertyAccess().getPropertyAssignment_1(), "rule__AddProperty__PropertyAssignment_1");
put(grammarAccess.getAddPropertyAccess().getTypeAssignment_3(), "rule__AddProperty__TypeAssignment_3");
put(grammarAccess.getAddPropertyAccess().getCardinalityAssignment_4(), "rule__AddProperty__CardinalityAssignment_4");
put(grammarAccess.getAddPropertyAccess().getRelationTypeAssignment_5(), "rule__AddProperty__RelationTypeAssignment_5");
put(grammarAccess.getTypeAccess().getTypeAssignment_0(), "rule__Type__TypeAssignment_0");
put(grammarAccess.getTypeAccess().getPrefixAssignment_1_0(), "rule__Type__PrefixAssignment_1_0");
put(grammarAccess.getTypeAccess().getClassAssignment_1_2(), "rule__Type__ClassAssignment_1_2");
put(grammarAccess.getModifyPropertyAccess().getPropertyAssignment_1(), "rule__ModifyProperty__PropertyAssignment_1");
put(grammarAccess.getModifyPropertyAccess().getValueAssignment_2(), "rule__ModifyProperty__ValueAssignment_2");
put(grammarAccess.getModifyPropertyAccess().getValueAssignment_3_1(), "rule__ModifyProperty__ValueAssignment_3_1");
put(grammarAccess.getValueAssignmentAccess().getAttributeAssignment_0(), "rule__ValueAssignment__AttributeAssignment_0");
put(grammarAccess.getValueAssignmentAccess().getValueAssignment_2(), "rule__ValueAssignment__ValueAssignment_2");
put(grammarAccess.getFilterPropertyAccess().getPropertyAssignment_1(), "rule__FilterProperty__PropertyAssignment_1");
put(grammarAccess.getFilterClassAccess().getPrefixAssignment_1(), "rule__FilterClass__PrefixAssignment_1");
put(grammarAccess.getFilterClassAccess().getClassAssignment_3(), "rule__FilterClass__ClassAssignment_3");
put(grammarAccess.getAddConstraintAccess().getConstraintAssignment_1(), "rule__AddConstraint__ConstraintAssignment_1");
put(grammarAccess.getAddConstraintAccess().getValueAssignment_2(), "rule__AddConstraint__ValueAssignment_2");
put(grammarAccess.getFilterConstraintAccess().getConstraintAssignment_1(), "rule__FilterConstraint__ConstraintAssignment_1");
}
};
}
return nameMappings.get(element);
}
@Override
protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) {
try {
monoge.dsl.ui.contentassist.antlr.internal.InternalExtensionParser typedParser = (monoge.dsl.ui.contentassist.antlr.internal.InternalExtensionParser) parser;
typedParser.entryRuleModel();
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 ExtensionGrammarAccess getGrammarAccess() {
return this.grammarAccess;
}
public void setGrammarAccess(ExtensionGrammarAccess grammarAccess) {
this.grammarAccess = grammarAccess;
}
}