public class ContentAssistContextFactory extends java.lang.Object implements com.google.common.base.Function<ContentAssistContext.Builder,ContentAssistContext>
Modifier and Type | Field and Description |
---|---|
protected int |
completionOffset |
protected com.google.inject.Provider<ContentAssistContext.Builder> |
contentAssistContextProvider |
protected java.util.List<ContentAssistContext.Builder> |
contextBuilders |
protected org.eclipse.emf.ecore.EObject |
currentModel |
protected INode |
currentNode |
protected INode |
datatypeNode |
protected INode |
lastCompleteNode |
protected INode |
lastVisibleNode |
protected org.eclipse.xtext.ide.editor.contentassist.antlr.internal.Lexer |
lexer |
protected IContentAssistParser |
parser |
protected IParseResult |
parseResult |
protected XtextResource |
resource |
protected ICompositeNode |
rootNode |
protected ITextRegion |
selection |
protected ITokenDefProvider |
tokenDefProvider |
Constructor and Description |
---|
ContentAssistContextFactory() |
Modifier and Type | Method and Description |
---|---|
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(FollowElementCalculator calculator,
FollowElement element) |
protected void |
computeFollowElements(FollowElementCalculator calculator,
FollowElement element,
com.google.common.collect.Multimap<java.lang.Integer,java.util.List<AbstractElement>> visited) |
ContentAssistContext[] |
create(java.lang.String document,
ITextRegion selection,
int offset,
XtextResource resource) |
protected 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) |
protected int |
getCompletionOffset() |
INode |
getContainingDatatypeRuleNode(INode node) |
protected INode |
getCurrentNode() |
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) |
void |
setPool(java.util.concurrent.ExecutorService pool) |
@Inject protected IContentAssistParser parser
@Inject protected org.eclipse.xtext.ide.editor.contentassist.antlr.internal.Lexer lexer
@Inject protected com.google.inject.Provider<ContentAssistContext.Builder> contentAssistContextProvider
@Inject protected ITokenDefProvider tokenDefProvider
protected XtextResource resource
protected ICompositeNode rootNode
protected INode lastCompleteNode
protected INode currentNode
protected INode lastVisibleNode
protected org.eclipse.emf.ecore.EObject currentModel
protected java.util.List<ContentAssistContext.Builder> contextBuilders
protected IParseResult parseResult
protected INode datatypeNode
protected int completionOffset
protected ITextRegion selection
public ContentAssistContext apply(ContentAssistContext.Builder from)
apply
in interface com.google.common.base.Function<ContentAssistContext.Builder,ContentAssistContext>
public ContentAssistContext[] create(java.lang.String document, ITextRegion selection, int offset, XtextResource resource)
protected INode getCurrentNode()
public void setPool(java.util.concurrent.ExecutorService pool)
protected ContentAssistContext[] doCreateContexts(int offset)
protected void initializeFromViewerAndResource(int offset)
protected void initializeNodeAndModelData()
protected void initializeAndAdjustCompletionOffset(int offset)
protected void handleLastCompleteNodeIsPartOfLookahead()
protected void handleLastCompleteNodeIsAtEndOfDatatypeNode()
protected void handleLastCompleteNodeHasNoGrammarElement(java.util.List<ContentAssistContext.Builder> contextBuilderToCheck, org.eclipse.emf.ecore.EObject previousModel)
protected void handleLastCompleteNodeAsPartOfDatatypeNode()
protected boolean isLikelyToBeValidProposal(INode lastCompleteNode, java.lang.Iterable<ContentAssistContext> contexts)
protected void createContextsForLastCompleteNode(org.eclipse.emf.ecore.EObject previousModel, boolean strict)
protected boolean isErrorToken(org.antlr.runtime.Token token)
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.true if the token should be considered to be an error token.
protected void doCreateContexts(INode lastCompleteNode, INode currentNode, java.lang.String prefix, org.eclipse.emf.ecore.EObject previousModel, java.util.Collection<FollowElement> followElements)
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(FollowElementCalculator calculator, FollowElement element)
protected void computeFollowElements(FollowElementCalculator calculator, FollowElement element, com.google.common.collect.Multimap<java.lang.Integer,java.util.List<AbstractElement>> visited)
protected int getCompletionOffset()
public ContentAssistContext.Builder doCreateContext(INode lastCompleteNode, org.eclipse.emf.ecore.EObject currentModel, org.eclipse.emf.ecore.EObject previousModel, INode currentNode, java.lang.String prefix)
public java.lang.String getPrefix(INode prefixNode)
public java.lang.String getNodeTextUpToCompletionOffset(INode currentNode)
public boolean doComputePrefix(ICompositeNode node, java.lang.StringBuilder result)
public void setParser(IContentAssistParser parser)
public IContentAssistParser getParser()
protected boolean canBeCalledAfter(AbstractRule rule, org.eclipse.emf.ecore.EObject previousGrammarElement, java.lang.String previousText, org.eclipse.emf.ecore.EObject nextGrammarElement)
protected CallHierarchyHelper createCallHierachyHelper(org.eclipse.emf.ecore.EObject previousGrammarElement, java.lang.String previousText, org.eclipse.emf.ecore.EObject nextGrammarElement)
protected AbstractRule getRule(org.eclipse.emf.ecore.EObject currentGrammarElement)