org.eclipse.xtext.ui.editor.contentassist.antlr
Class ParserBasedContentAssistContextFactory.StatefulFactory
java.lang.Object
org.eclipse.xtext.ui.editor.contentassist.antlr.ParserBasedContentAssistContextFactory.StatefulFactory
- All Implemented Interfaces:
- com.google.common.base.Function<ContentAssistContext.Builder,ContentAssistContext>
- Enclosing class:
- ParserBasedContentAssistContextFactory
public static class ParserBasedContentAssistContextFactory.StatefulFactory
- extends java.lang.Object
- implements com.google.common.base.Function<ContentAssistContext.Builder,ContentAssistContext>
Method Summary |
ContentAssistContext |
apply(ContentAssistContext.Builder from)
|
protected boolean |
canBeCalledAfter(AbstractRule rule,
org.eclipse.emf.ecore.EObject previousGrammarElement,
java.lang.String previousText,
org.eclipse.emf.ecore.EObject nextGrammarElement)
|
protected com.google.common.collect.Multimap<org.eclipse.emf.ecore.EObject,AbstractElement> |
computeCurrentModel(org.eclipse.emf.ecore.EObject currentModel,
INode lastCompleteNode,
java.util.Collection<AbstractElement> followElements)
|
protected void |
computeFollowElements(java.util.Collection<FollowElement> followElements,
java.util.Collection<AbstractElement> result)
|
protected void |
computeFollowElements(ParserBasedContentAssistContextFactory.FollowElementCalculator calculator,
FollowElement element)
|
protected void |
computeFollowElements(ParserBasedContentAssistContextFactory.FollowElementCalculator calculator,
FollowElement element,
com.google.common.collect.Multimap<java.lang.Integer,java.util.List<AbstractElement>> visited)
|
ContentAssistContext[] |
create(org.eclipse.jface.text.ITextViewer viewer,
int offset,
XtextResource resource)
|
protected ParserBasedContentAssistContextFactory.CallHierarchyHelper |
createCallHierachyHelper(org.eclipse.emf.ecore.EObject previousGrammarElement,
java.lang.String previousText,
org.eclipse.emf.ecore.EObject nextGrammarElement)
|
protected void |
createContextsForLastCompleteNode(org.eclipse.emf.ecore.EObject previousModel,
boolean strict)
|
boolean |
doComputePrefix(ICompositeNode node,
java.lang.StringBuilder result)
|
ContentAssistContext.Builder |
doCreateContext(INode lastCompleteNode,
org.eclipse.emf.ecore.EObject currentModel,
org.eclipse.emf.ecore.EObject previousModel,
INode currentNode,
java.lang.String prefix)
|
protected void |
doCreateContexts(INode lastCompleteNode,
INode currentNode,
java.lang.String prefix,
org.eclipse.emf.ecore.EObject previousModel,
java.util.Collection<FollowElement> followElements)
|
protected ContentAssistContext[] |
doCreateContexts(int offset)
|
INode |
getContainingDatatypeRuleNode(INode node)
|
protected INode |
getLastCompleteNodeByOffset(INode node,
int offsetPosition)
|
java.lang.String |
getNodeTextUpToCompletionOffset(INode currentNode)
|
IContentAssistParser |
getParser()
|
java.lang.String |
getPrefix(INode prefixNode)
|
protected AbstractRule |
getRule(org.eclipse.emf.ecore.EObject currentGrammarElement)
|
protected void |
handleLastCompleteNodeAsPartOfDatatypeNode()
|
protected void |
handleLastCompleteNodeHasNoGrammarElement(java.util.List<ContentAssistContext.Builder> contextBuilderToCheck,
org.eclipse.emf.ecore.EObject previousModel)
|
protected void |
handleLastCompleteNodeIsAtEndOfDatatypeNode()
|
protected void |
handleLastCompleteNodeIsPartOfLookahead()
|
protected void |
initializeAndAdjustCompletionOffset(int offset)
|
protected void |
initializeFromViewerAndResource(int offset)
|
protected void |
initializeNodeAndModelData()
|
protected boolean |
isErrorToken(org.antlr.runtime.Token token)
Return true if the token should be considered to be an error token. |
protected boolean |
isLikelyToBeValidProposal(INode lastCompleteNode,
java.lang.Iterable<ContentAssistContext> contexts)
|
void |
setParser(IContentAssistParser parser)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface com.google.common.base.Function |
equals |
ParserBasedContentAssistContextFactory.StatefulFactory
public ParserBasedContentAssistContextFactory.StatefulFactory()
apply
public ContentAssistContext apply(ContentAssistContext.Builder from)
- Specified by:
apply
in interface com.google.common.base.Function<ContentAssistContext.Builder,ContentAssistContext>
create
public ContentAssistContext[] create(org.eclipse.jface.text.ITextViewer viewer,
int offset,
XtextResource resource)
throws org.eclipse.jface.text.BadLocationException
- Throws:
org.eclipse.jface.text.BadLocationException
doCreateContexts
protected ContentAssistContext[] doCreateContexts(int offset)
throws org.eclipse.jface.text.BadLocationException
- Throws:
org.eclipse.jface.text.BadLocationException
initializeFromViewerAndResource
protected void initializeFromViewerAndResource(int offset)
initializeNodeAndModelData
protected void initializeNodeAndModelData()
initializeAndAdjustCompletionOffset
protected void initializeAndAdjustCompletionOffset(int offset)
handleLastCompleteNodeIsPartOfLookahead
protected void handleLastCompleteNodeIsPartOfLookahead()
throws org.eclipse.jface.text.BadLocationException
- Throws:
org.eclipse.jface.text.BadLocationException
handleLastCompleteNodeIsAtEndOfDatatypeNode
protected void handleLastCompleteNodeIsAtEndOfDatatypeNode()
throws org.eclipse.jface.text.BadLocationException
- Throws:
org.eclipse.jface.text.BadLocationException
handleLastCompleteNodeHasNoGrammarElement
protected void handleLastCompleteNodeHasNoGrammarElement(java.util.List<ContentAssistContext.Builder> contextBuilderToCheck,
org.eclipse.emf.ecore.EObject previousModel)
throws org.eclipse.jface.text.BadLocationException
- Throws:
org.eclipse.jface.text.BadLocationException
handleLastCompleteNodeAsPartOfDatatypeNode
protected void handleLastCompleteNodeAsPartOfDatatypeNode()
throws org.eclipse.jface.text.BadLocationException
- Throws:
org.eclipse.jface.text.BadLocationException
isLikelyToBeValidProposal
protected boolean isLikelyToBeValidProposal(INode lastCompleteNode,
java.lang.Iterable<ContentAssistContext> contexts)
createContextsForLastCompleteNode
protected void createContextsForLastCompleteNode(org.eclipse.emf.ecore.EObject previousModel,
boolean strict)
throws org.eclipse.jface.text.BadLocationException
- Throws:
org.eclipse.jface.text.BadLocationException
isErrorToken
protected boolean isErrorToken(org.antlr.runtime.Token token)
- Return
true
if the token should be considered to be an error token.
If the token that is created from the prefix before the cursor position is an error
token, no proposals shall be computed that don't use a prefix.
- Returns:
true if the token should be considered to be an error token.- Since:
- 2.0
doCreateContexts
protected void doCreateContexts(INode lastCompleteNode,
INode currentNode,
java.lang.String prefix,
org.eclipse.emf.ecore.EObject previousModel,
java.util.Collection<FollowElement> followElements)
computeCurrentModel
protected com.google.common.collect.Multimap<org.eclipse.emf.ecore.EObject,AbstractElement> computeCurrentModel(org.eclipse.emf.ecore.EObject currentModel,
INode lastCompleteNode,
java.util.Collection<AbstractElement> followElements)
computeFollowElements
protected void computeFollowElements(java.util.Collection<FollowElement> followElements,
java.util.Collection<AbstractElement> result)
computeFollowElements
protected void computeFollowElements(ParserBasedContentAssistContextFactory.FollowElementCalculator calculator,
FollowElement element)
computeFollowElements
protected void computeFollowElements(ParserBasedContentAssistContextFactory.FollowElementCalculator calculator,
FollowElement element,
com.google.common.collect.Multimap<java.lang.Integer,java.util.List<AbstractElement>> visited)
getContainingDatatypeRuleNode
public INode getContainingDatatypeRuleNode(INode node)
doCreateContext
public ContentAssistContext.Builder doCreateContext(INode lastCompleteNode,
org.eclipse.emf.ecore.EObject currentModel,
org.eclipse.emf.ecore.EObject previousModel,
INode currentNode,
java.lang.String prefix)
getPrefix
public java.lang.String getPrefix(INode prefixNode)
getNodeTextUpToCompletionOffset
public java.lang.String getNodeTextUpToCompletionOffset(INode currentNode)
doComputePrefix
public boolean doComputePrefix(ICompositeNode node,
java.lang.StringBuilder result)
setParser
public void setParser(IContentAssistParser parser)
getParser
public IContentAssistParser getParser()
canBeCalledAfter
protected boolean canBeCalledAfter(AbstractRule rule,
org.eclipse.emf.ecore.EObject previousGrammarElement,
java.lang.String previousText,
org.eclipse.emf.ecore.EObject nextGrammarElement)
createCallHierachyHelper
protected ParserBasedContentAssistContextFactory.CallHierarchyHelper createCallHierachyHelper(org.eclipse.emf.ecore.EObject previousGrammarElement,
java.lang.String previousText,
org.eclipse.emf.ecore.EObject nextGrammarElement)
getRule
protected AbstractRule getRule(org.eclipse.emf.ecore.EObject currentGrammarElement)
getLastCompleteNodeByOffset
protected INode getLastCompleteNodeByOffset(INode node,
int offsetPosition)