public static class ParserBasedContentAssistContextFactory.StatefulFactory 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 Lexer |
lexer |
protected PrefixMatcher |
matcher |
protected IContentAssistParser |
parser |
protected IParseResult |
parseResult |
protected XtextResource |
resource |
protected ICompositeNode |
rootNode |
protected org.eclipse.jface.text.ITextSelection |
selection |
protected ITokenDefProvider |
tokenDefProvider |
protected org.eclipse.jface.text.ITextViewer |
viewer |
Constructor and Description |
---|
ParserBasedContentAssistContextFactory.StatefulFactory() |
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(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) |
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) |
protected void |
setPool(java.util.concurrent.ExecutorService pool) |
@Inject protected IContentAssistParser parser
@Inject protected Lexer lexer
@Inject protected com.google.inject.Provider<ContentAssistContext.Builder> contentAssistContextProvider
@Inject protected PrefixMatcher matcher
@Inject protected ITokenDefProvider tokenDefProvider
protected org.eclipse.jface.text.ITextViewer viewer
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 org.eclipse.jface.text.ITextSelection selection
public ParserBasedContentAssistContextFactory.StatefulFactory()
public ContentAssistContext apply(ContentAssistContext.Builder from)
apply
in interface com.google.common.base.Function<ContentAssistContext.Builder,ContentAssistContext>
public ContentAssistContext[] create(org.eclipse.jface.text.ITextViewer viewer, int offset, XtextResource resource) throws org.eclipse.jface.text.BadLocationException
org.eclipse.jface.text.BadLocationException
protected INode getCurrentNode()
protected void setPool(java.util.concurrent.ExecutorService pool)
protected ContentAssistContext[] doCreateContexts(int offset) throws org.eclipse.jface.text.BadLocationException
org.eclipse.jface.text.BadLocationException
protected void initializeFromViewerAndResource(int offset)
protected void initializeNodeAndModelData()
protected void initializeAndAdjustCompletionOffset(int offset)
protected void handleLastCompleteNodeIsPartOfLookahead() throws org.eclipse.jface.text.BadLocationException
org.eclipse.jface.text.BadLocationException
protected void handleLastCompleteNodeIsAtEndOfDatatypeNode() throws org.eclipse.jface.text.BadLocationException
org.eclipse.jface.text.BadLocationException
protected void handleLastCompleteNodeHasNoGrammarElement(java.util.List<ContentAssistContext.Builder> contextBuilderToCheck, org.eclipse.emf.ecore.EObject previousModel) throws org.eclipse.jface.text.BadLocationException
org.eclipse.jface.text.BadLocationException
protected void handleLastCompleteNodeAsPartOfDatatypeNode() throws org.eclipse.jface.text.BadLocationException
org.eclipse.jface.text.BadLocationException
protected boolean isLikelyToBeValidProposal(INode lastCompleteNode, java.lang.Iterable<ContentAssistContext> contexts)
protected void createContextsForLastCompleteNode(org.eclipse.emf.ecore.EObject previousModel, boolean strict) throws org.eclipse.jface.text.BadLocationException
org.eclipse.jface.text.BadLocationException
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(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)
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 ParserBasedContentAssistContextFactory.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)