/*
* generated by Xtext
*/
package org.eclipse.papyrus.uml.textedit.transition.xtext.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.papyrus.uml.textedit.transition.xtext.services.UmlTransitionGrammarAccess;
public class UmlTransitionParser extends AbstractContentAssistParser {
@Inject
private UmlTransitionGrammarAccess grammarAccess;
private Map<AbstractElement, String> nameMappings;
@Override
protected org.eclipse.papyrus.uml.textedit.transition.xtext.ui.contentassist.antlr.internal.InternalUmlTransitionParser createParser() {
org.eclipse.papyrus.uml.textedit.transition.xtext.ui.contentassist.antlr.internal.InternalUmlTransitionParser result = new org.eclipse.papyrus.uml.textedit.transition.xtext.ui.contentassist.antlr.internal.InternalUmlTransitionParser(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.getEventRuleAccess().getAlternatives(), "rule__EventRule__Alternatives");
put(grammarAccess.getTimeEventRuleAccess().getAlternatives(), "rule__TimeEventRule__Alternatives");
put(grammarAccess.getBehaviorKindAccess().getAlternatives(), "rule__BehaviorKind__Alternatives");
put(grammarAccess.getTransitionRuleAccess().getGroup(), "rule__TransitionRule__Group__0");
put(grammarAccess.getTransitionRuleAccess().getGroup_0(), "rule__TransitionRule__Group_0__0");
put(grammarAccess.getTransitionRuleAccess().getGroup_0_1(), "rule__TransitionRule__Group_0_1__0");
put(grammarAccess.getRelativeTimeEventRuleAccess().getGroup(), "rule__RelativeTimeEventRule__Group__0");
put(grammarAccess.getAbsoluteTimeEventRuleAccess().getGroup(), "rule__AbsoluteTimeEventRule__Group__0");
put(grammarAccess.getChangeEventRuleAccess().getGroup(), "rule__ChangeEventRule__Group__0");
put(grammarAccess.getGuardRuleAccess().getGroup(), "rule__GuardRule__Group__0");
put(grammarAccess.getEffectRuleAccess().getGroup(), "rule__EffectRule__Group__0");
put(grammarAccess.getTransitionRuleAccess().getTriggersAssignment_0_0(), "rule__TransitionRule__TriggersAssignment_0_0");
put(grammarAccess.getTransitionRuleAccess().getTriggersAssignment_0_1_1(), "rule__TransitionRule__TriggersAssignment_0_1_1");
put(grammarAccess.getTransitionRuleAccess().getGuardAssignment_1(), "rule__TransitionRule__GuardAssignment_1");
put(grammarAccess.getTransitionRuleAccess().getEffectAssignment_2(), "rule__TransitionRule__EffectAssignment_2");
put(grammarAccess.getCallOrSignalEventRuleAccess().getOperationOrSignalAssignment(), "rule__CallOrSignalEventRule__OperationOrSignalAssignment");
put(grammarAccess.getAnyReceiveEventRuleAccess().getIsAReceiveEventAssignment(), "rule__AnyReceiveEventRule__IsAReceiveEventAssignment");
put(grammarAccess.getRelativeTimeEventRuleAccess().getExprAssignment_1(), "rule__RelativeTimeEventRule__ExprAssignment_1");
put(grammarAccess.getAbsoluteTimeEventRuleAccess().getExprAssignment_1(), "rule__AbsoluteTimeEventRule__ExprAssignment_1");
put(grammarAccess.getChangeEventRuleAccess().getExpAssignment_1(), "rule__ChangeEventRule__ExpAssignment_1");
put(grammarAccess.getGuardRuleAccess().getConstraintAssignment_1(), "rule__GuardRule__ConstraintAssignment_1");
put(grammarAccess.getEffectRuleAccess().getKindAssignment_1(), "rule__EffectRule__KindAssignment_1");
put(grammarAccess.getEffectRuleAccess().getBehaviorNameAssignment_2(), "rule__EffectRule__BehaviorNameAssignment_2");
}
};
}
return nameMappings.get(element);
}
@Override
protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) {
try {
org.eclipse.papyrus.uml.textedit.transition.xtext.ui.contentassist.antlr.internal.InternalUmlTransitionParser typedParser = (org.eclipse.papyrus.uml.textedit.transition.xtext.ui.contentassist.antlr.internal.InternalUmlTransitionParser) parser;
typedParser.entryRuleTransitionRule();
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 UmlTransitionGrammarAccess getGrammarAccess() {
return this.grammarAccess;
}
public void setGrammarAccess(UmlTransitionGrammarAccess grammarAccess) {
this.grammarAccess = grammarAccess;
}
}