Class RequiredRuleNameComputer
- java.lang.Object
-
- org.eclipse.xtext.ide.editor.contentassist.antlr.RequiredRuleNameComputer
-
public class RequiredRuleNameComputer extends java.lang.ObjectComputes the Antlr method names that need to be invoked to continue the follow element computation for content proposals. It is used if a previous round produced follow elements with a lookahead bigger than 1. The result ofgetRequiredRuleNames(Param)is the list of methods that need need to be invoked to force the parser in one or the other direction at the current decision point.- Since:
- 2.9
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classRequiredRuleNameComputer.ParamA parameter configuration for a parameterized rule in the current stack of the parser.
-
Constructor Summary
Constructors Constructor Description RequiredRuleNameComputer()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.StringadjustRuleName(java.lang.String ruleName, RequiredRuleNameComputer.Param param)protected java.lang.String[][]getAdjustedRequiredRuleNames(RequiredRuleNameComputer.Param param, org.eclipse.xtext.AbstractElement elementToParse, java.lang.String originalRuleName)protected java.lang.StringgetAdjustedSecondRule(RequiredRuleNameComputer.Param param, org.eclipse.xtext.Group group, int idx)protected org.eclipse.xtext.AbstractElementgetEnclosingSingleElementGroup(org.eclipse.xtext.AbstractElement elementToParse)Return the containing group if it contains exactly one element.protected java.util.List<org.eclipse.xtext.AbstractElement>getFilteredElements(java.util.List<org.eclipse.xtext.AbstractElement> elements, RequiredRuleNameComputer.Param param)java.lang.String[][]getRequiredRuleNames(RequiredRuleNameComputer.Param param)Returns the names of parser rules that should be called in order to obtain the follow elements for the parser call stack described by the given param.protected java.lang.String[][]getRequiredRuleNames(RequiredRuleNameComputer.Param param, org.eclipse.xtext.AbstractElement elementToParse)protected org.eclipse.xtext.xtext.RuleNamesgetRuleNames()protected java.lang.String[][]getRuleNamesInGroup(RequiredRuleNameComputer.Param param, org.eclipse.xtext.AbstractElement elementToParse, java.lang.String adjustedFirstRule, java.lang.String adjustedSecondRule)protected booleanisFiltered(org.eclipse.xtext.AbstractElement canddiate, RequiredRuleNameComputer.Param param)Returns true if the given candidate is a group that is filtered due to rule parameters in the current call graph.protected booleanisFiltered(RequiredRuleNameComputer.Param param)Returns true if the grammar element that is associated with the given param is filtered due to guard conditions of parameterized rules in the current call stack.
-
-
-
Method Detail
-
getRequiredRuleNames
public java.lang.String[][] getRequiredRuleNames(RequiredRuleNameComputer.Param param)
Returns the names of parser rules that should be called in order to obtain the follow elements for the parser call stack described by the given param.
-
getAdjustedRequiredRuleNames
protected java.lang.String[][] getAdjustedRequiredRuleNames(RequiredRuleNameComputer.Param param, org.eclipse.xtext.AbstractElement elementToParse, java.lang.String originalRuleName)
- Since:
- 2.14
-
getAdjustedSecondRule
protected java.lang.String getAdjustedSecondRule(RequiredRuleNameComputer.Param param, org.eclipse.xtext.Group group, int idx)
- Since:
- 2.14
-
getRuleNamesInGroup
protected java.lang.String[][] getRuleNamesInGroup(RequiredRuleNameComputer.Param param, org.eclipse.xtext.AbstractElement elementToParse, java.lang.String adjustedFirstRule, java.lang.String adjustedSecondRule)
- Since:
- 2.14
-
getRequiredRuleNames
protected java.lang.String[][] getRequiredRuleNames(RequiredRuleNameComputer.Param param, org.eclipse.xtext.AbstractElement elementToParse)
- Since:
- 2.14
-
getFilteredElements
protected java.util.List<org.eclipse.xtext.AbstractElement> getFilteredElements(java.util.List<org.eclipse.xtext.AbstractElement> elements, RequiredRuleNameComputer.Param param)
-
isFiltered
protected boolean isFiltered(RequiredRuleNameComputer.Param param)
Returns true if the grammar element that is associated with the given param is filtered due to guard conditions of parameterized rules in the current call stack. If the grammar element is the only element contained in a group, its container is checked, too.- See Also:
isFiltered(AbstractElement, Param)
-
getEnclosingSingleElementGroup
protected org.eclipse.xtext.AbstractElement getEnclosingSingleElementGroup(org.eclipse.xtext.AbstractElement elementToParse)
Return the containing group if it contains exactly one element.- Since:
- 2.14
-
isFiltered
protected boolean isFiltered(org.eclipse.xtext.AbstractElement canddiate, RequiredRuleNameComputer.Param param)Returns true if the given candidate is a group that is filtered due to rule parameters in the current call graph.
-
adjustRuleName
protected java.lang.String adjustRuleName(java.lang.String ruleName, RequiredRuleNameComputer.Param param)
-
getRuleNames
protected org.eclipse.xtext.xtext.RuleNames getRuleNames()
- Noreference:
- This method is not intended to be referenced by clients.
- Nooverride:
- This method is not intended to be re-implemented or extended by clients.
-
-