Class BaseContentAssistParser<FE extends BaseFollowElement<LATerminal>,LATerminal extends ILookAheadTerminal,InternalParser extends BaseInternalContentAssistParser<FE,LATerminal>>
- java.lang.Object
-
- org.eclipse.xtext.ide.editor.contentassist.antlr.BaseContentAssistParser<FE,LATerminal,InternalParser>
-
- Direct Known Subclasses:
AbstractContentAssistParser
public abstract class BaseContentAssistParser<FE extends BaseFollowElement<LATerminal>,LATerminal extends ILookAheadTerminal,InternalParser extends BaseInternalContentAssistParser<FE,LATerminal>> extends java.lang.ObjectAbstract base type for theAbstractContentAssistParserand the deprecated equivalent in the xtext.ui bundle.- Since:
- 2.14
-
-
Constructor Summary
Constructors Constructor Description BaseContentAssistParser()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected booleanappendTextToParse(org.eclipse.xtext.nodemodel.ICompositeNode node, int offset, boolean skipOptional, java.lang.StringBuilder result)protected EofListenercreateEofListener(InternalParser parser, org.eclipse.xtext.AbstractElement elementToParse)protected abstract org.antlr.runtime.TokenSourcecreateLexer(org.antlr.runtime.CharStream stream)Create a token source for the given input based on the bound lexer.protected ObservableXtextTokenStreamcreateObservableTokenStream(LookAheadBasedTokenSource tokenSource, InternalParser parser)protected abstract InternalParsercreateParser()protected org.antlr.runtime.TokenSourcecreateTokenSource(java.lang.String input)Create a token source for the given input based on the bound lexer.protected org.eclipse.xtext.parser.antlr.IUnorderedGroupHelpercreateUnorderedGroupHelper()Creates a newIUnorderedGroupHelperthat is not yet initialized.protected java.util.Collection<org.eclipse.xtext.AbstractElement>getElementsToParse(FE element)protected java.util.Collection<org.eclipse.xtext.AbstractElement>getElementsToParse(org.eclipse.xtext.AbstractElement root)Return the element itself or its components if it is anAlternatives.protected java.util.Collection<org.eclipse.xtext.AbstractElement>getElementsToParse(org.eclipse.xtext.AbstractElement root, java.util.List<org.eclipse.xtext.AbstractElement> handledUnorderedGroupElements)Returns the root element or its alternative branches if it is anAlternativesor anUnorderedGroup.protected org.eclipse.xtext.AbstractElementgetEntryGrammarElement(org.eclipse.xtext.nodemodel.ICompositeNode entryPoint)org.eclipse.xtext.AbstractRulegetEntryRule()java.util.Collection<FE>getFollowElements(FE element)protected java.util.Collection<FE>getFollowElements(InternalParser parser)protected java.util.Collection<FE>getFollowElements(InternalParser parser, java.lang.String ruleName)protected java.util.Set<FE>getFollowElements(InternalParser parser, java.lang.String ruleName, boolean swallowInfiniteRecursion)protected java.util.Collection<FE>getFollowElements(InternalParser parser, org.eclipse.xtext.AbstractElement entryPoint)protected java.util.Collection<FE>getFollowElements(InternalParser parser, org.eclipse.xtext.AbstractElement elementToParse, java.lang.String[] ruleNames, int startIndex)protected java.util.Collection<FE>getFollowElements(InternalParser parser, org.eclipse.xtext.AbstractRule rule)java.util.Collection<FE>getFollowElements(java.lang.String input, boolean strict)java.util.Collection<FE>getFollowElements(org.eclipse.xtext.parser.IParseResult parseResult, EntryPointFinder entryPointFinder, int offset, boolean strict)protected abstract java.lang.String[]getInitialHiddenTokens()protected org.eclipse.xtext.parser.antlr.IUnorderedGroupHelpergetInitializedUnorderedGroupHelper(FE element, InternalParser parser, org.eclipse.xtext.UnorderedGroup group)protected java.lang.StringgetReplacement(org.eclipse.xtext.nodemodel.ICompositeNode node)Returns a syntactically correct replacement for nodes whose real content does not need to be parsed.RequiredRuleNameComputergetRequiredRuleNameComputer()Public for testing purpose.protected java.lang.String[][]getRequiredRuleNames(java.lang.String ruleName, java.util.List<java.lang.Integer> paramStack, org.eclipse.xtext.AbstractElement elementToParse)protected abstract java.lang.StringgetRuleName(org.eclipse.xtext.AbstractElement element)protected org.eclipse.xtext.xtext.RuleNamesgetRuleNames()protected java.lang.StringgetTextToParse(org.eclipse.xtext.parser.IParseResult parseResult, org.eclipse.xtext.nodemodel.ICompositeNode entryPoint, int offset)com.google.inject.Provider<org.eclipse.xtext.parser.antlr.IUnorderedGroupHelper>getUnorderedGroupHelper()Public for testing purpose.protected org.eclipse.xtext.parser.antlr.IUnorderedGroupHelperignoreFirstEntrance(org.eclipse.xtext.parser.antlr.IUnorderedGroupHelper helper)Factory method for theIgnoreFirstEntranceUnorderedGroupHelper.voidinitializeFor(org.eclipse.xtext.AbstractRule rule)voidsetRequiredRuleNameComputer(RequiredRuleNameComputer requiredRuleNameComputer)Public for testing purpose.protected ObservableXtextTokenStreamsetTokensFromFollowElement(InternalParser parser, FE element)voidsetUnorderedGroupHelper(com.google.inject.Provider<org.eclipse.xtext.parser.antlr.IUnorderedGroupHelper> unorderedGroupHelper)Public for testing purpose.protected org.eclipse.xtext.AbstractElementunwrapSingleElementGroups(org.eclipse.xtext.AbstractElement elementToParse)Returns the elementToParse or the innermost element if the elementToParse is a (parameterized) group that contains only a single element.
-
-
-
Method Detail
-
createTokenSource
protected org.antlr.runtime.TokenSource createTokenSource(java.lang.String input)
Create a token source for the given input based on the bound lexer.
-
createLexer
protected abstract org.antlr.runtime.TokenSource createLexer(org.antlr.runtime.CharStream stream)
Create a token source for the given input based on the bound lexer.
-
createParser
protected abstract InternalParser createParser()
-
setTokensFromFollowElement
protected ObservableXtextTokenStream setTokensFromFollowElement(InternalParser parser, FE element)
- Since:
- 2.14
-
getFollowElements
protected java.util.Collection<FE> getFollowElements(InternalParser parser, org.eclipse.xtext.AbstractElement elementToParse, java.lang.String[] ruleNames, int startIndex)
- Since:
- 2.14
-
createEofListener
protected EofListener createEofListener(InternalParser parser, org.eclipse.xtext.AbstractElement elementToParse)
- Since:
- 2.14
-
getFollowElements
protected java.util.Set<FE> getFollowElements(InternalParser parser, java.lang.String ruleName, boolean swallowInfiniteRecursion) throws java.lang.Exception
- Throws:
java.lang.Exception- Since:
- 2.14
-
getElementsToParse
protected java.util.Collection<org.eclipse.xtext.AbstractElement> getElementsToParse(FE element)
- Since:
- 2.14
-
createObservableTokenStream
protected ObservableXtextTokenStream createObservableTokenStream(LookAheadBasedTokenSource tokenSource, InternalParser parser)
- Since:
- 2.14
-
getInitializedUnorderedGroupHelper
protected org.eclipse.xtext.parser.antlr.IUnorderedGroupHelper getInitializedUnorderedGroupHelper(FE element, InternalParser parser, org.eclipse.xtext.UnorderedGroup group)
- Since:
- 2.14
-
initializeFor
public void initializeFor(org.eclipse.xtext.AbstractRule rule)
-
getEntryRule
public org.eclipse.xtext.AbstractRule getEntryRule()
-
getFollowElements
protected java.util.Collection<FE> getFollowElements(InternalParser parser)
-
getFollowElements
protected java.util.Collection<FE> getFollowElements(InternalParser parser, org.eclipse.xtext.AbstractRule rule)
-
getFollowElements
protected java.util.Collection<FE> getFollowElements(InternalParser parser, java.lang.String ruleName)
-
getInitialHiddenTokens
protected abstract java.lang.String[] getInitialHiddenTokens()
-
getFollowElements
public java.util.Collection<FE> getFollowElements(java.lang.String input, boolean strict)
-
unwrapSingleElementGroups
protected org.eclipse.xtext.AbstractElement unwrapSingleElementGroups(org.eclipse.xtext.AbstractElement elementToParse)
Returns the elementToParse or the innermost element if the elementToParse is a (parameterized) group that contains only a single element.
-
getElementsToParse
protected java.util.Collection<org.eclipse.xtext.AbstractElement> getElementsToParse(org.eclipse.xtext.AbstractElement root, java.util.List<org.eclipse.xtext.AbstractElement> handledUnorderedGroupElements)Returns the root element or its alternative branches if it is anAlternativesor anUnorderedGroup. In case of anUnorderedGroupthe result contains only the elements that are not yet processed up to the relevant cursor position.
-
ignoreFirstEntrance
protected org.eclipse.xtext.parser.antlr.IUnorderedGroupHelper ignoreFirstEntrance(org.eclipse.xtext.parser.antlr.IUnorderedGroupHelper helper)
Factory method for theIgnoreFirstEntranceUnorderedGroupHelper.
-
getElementsToParse
protected java.util.Collection<org.eclipse.xtext.AbstractElement> getElementsToParse(org.eclipse.xtext.AbstractElement root)
Return the element itself or its components if it is anAlternatives.
-
getRequiredRuleNames
protected java.lang.String[][] getRequiredRuleNames(java.lang.String ruleName, java.util.List<java.lang.Integer> paramStack, org.eclipse.xtext.AbstractElement elementToParse)
-
getRuleName
protected abstract java.lang.String getRuleName(org.eclipse.xtext.AbstractElement element)
-
createUnorderedGroupHelper
protected org.eclipse.xtext.parser.antlr.IUnorderedGroupHelper createUnorderedGroupHelper()
Creates a newIUnorderedGroupHelperthat is not yet initialized.
-
setUnorderedGroupHelper
public void setUnorderedGroupHelper(com.google.inject.Provider<org.eclipse.xtext.parser.antlr.IUnorderedGroupHelper> unorderedGroupHelper)
Public for testing purpose.
-
getUnorderedGroupHelper
public com.google.inject.Provider<org.eclipse.xtext.parser.antlr.IUnorderedGroupHelper> getUnorderedGroupHelper()
Public for testing purpose.
-
setRequiredRuleNameComputer
public void setRequiredRuleNameComputer(RequiredRuleNameComputer requiredRuleNameComputer)
Public for testing purpose.
-
getRequiredRuleNameComputer
public RequiredRuleNameComputer getRequiredRuleNameComputer()
Public for testing purpose.
-
getRuleNames
protected org.eclipse.xtext.xtext.RuleNames getRuleNames()
- Since:
- 2.14
-
getFollowElements
public java.util.Collection<FE> getFollowElements(org.eclipse.xtext.parser.IParseResult parseResult, EntryPointFinder entryPointFinder, int offset, boolean strict)
-
getEntryGrammarElement
protected org.eclipse.xtext.AbstractElement getEntryGrammarElement(org.eclipse.xtext.nodemodel.ICompositeNode entryPoint)
-
getTextToParse
protected java.lang.String getTextToParse(org.eclipse.xtext.parser.IParseResult parseResult, org.eclipse.xtext.nodemodel.ICompositeNode entryPoint, int offset)
-
appendTextToParse
protected boolean appendTextToParse(org.eclipse.xtext.nodemodel.ICompositeNode node, int offset, boolean skipOptional, java.lang.StringBuilder result)
-
getReplacement
protected java.lang.String getReplacement(org.eclipse.xtext.nodemodel.ICompositeNode node)
Returns a syntactically correct replacement for nodes whose real content does not need to be parsed.- Returns:
- the replacement or
null
-
getFollowElements
protected java.util.Collection<FE> getFollowElements(InternalParser parser, org.eclipse.xtext.AbstractElement entryPoint)
-
-