Class ContentAssistContextFactory
- java.lang.Object
-
- org.eclipse.xtext.ide.editor.contentassist.antlr.ContentAssistContextFactory
-
- All Implemented Interfaces:
com.google.common.base.Function<ContentAssistContext.Builder,ContentAssistContext>,java.util.function.Function<ContentAssistContext.Builder,ContentAssistContext>
- Direct Known Subclasses:
PartialContentAssistContextFactory
public class ContentAssistContextFactory extends java.lang.Object implements com.google.common.base.Function<ContentAssistContext.Builder,ContentAssistContext>
- Since:
- 2.9
-
-
Field Summary
Fields Modifier and Type Field Description protected intcompletionOffsetprotected CompletionPrefixProvidercompletionPrefixProviderprotected com.google.inject.Provider<ContentAssistContext.Builder>contentAssistContextProviderprotected java.util.List<ContentAssistContext.Builder>contextBuildersprotected org.eclipse.emf.ecore.EObjectcurrentModelprotected org.eclipse.xtext.nodemodel.INodecurrentNodeprotected org.eclipse.xtext.nodemodel.INodedatatypeNodeprotected FollowElementComputerfollowElementComputerprotected org.eclipse.xtext.nodemodel.INodelastCompleteNodeprotected org.eclipse.xtext.nodemodel.INodelastVisibleNodeprotected Lexerlexerprotected IContentAssistParserparserprotected org.eclipse.xtext.parser.IParseResultparseResultprotected org.eclipse.xtext.resource.XtextResourceresourceprotected org.eclipse.xtext.nodemodel.ICompositeNoderootNodeprotected org.eclipse.xtext.util.ITextRegionselectionprotected org.eclipse.xtext.parser.antlr.ITokenDefProvidertokenDefProvider
-
Constructor Summary
Constructors Constructor Description ContentAssistContextFactory()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ContentAssistContextapply(ContentAssistContext.Builder from)protected booleancanBeCalledAfter(org.eclipse.xtext.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,org.eclipse.xtext.AbstractElement>computeCurrentModel(org.eclipse.emf.ecore.EObject currentModel, org.eclipse.xtext.nodemodel.INode lastCompleteNode, java.util.Collection<org.eclipse.xtext.AbstractElement> followElements)ContentAssistContext[]create(java.lang.String document, org.eclipse.xtext.util.ITextRegion selection, int offset, org.eclipse.xtext.resource.XtextResource resource)protected CallHierarchyHelpercreateCallHierachyHelper(org.eclipse.emf.ecore.EObject previousGrammarElement, java.lang.String previousText, org.eclipse.emf.ecore.EObject nextGrammarElement)protected voidcreateContextsForLastCompleteNode(org.eclipse.emf.ecore.EObject previousModel, boolean strict)booleandoComputePrefix(org.eclipse.xtext.nodemodel.ICompositeNode node, java.lang.StringBuilder result)ContentAssistContext.BuilderdoCreateContext(org.eclipse.xtext.nodemodel.INode lastCompleteNode, org.eclipse.emf.ecore.EObject currentModel, org.eclipse.emf.ecore.EObject previousModel, org.eclipse.xtext.nodemodel.INode currentNode, java.lang.String prefix)protected ContentAssistContext[]doCreateContexts(int offset)protected voiddoCreateContexts(org.eclipse.xtext.nodemodel.INode lastCompleteNode, org.eclipse.xtext.nodemodel.INode currentNode, java.lang.String prefix, org.eclipse.emf.ecore.EObject previousModel, java.util.Collection<FollowElement> followElements)protected intgetCompletionOffset()org.eclipse.xtext.nodemodel.INodegetContainingDatatypeRuleNode(org.eclipse.xtext.nodemodel.INode node)protected org.eclipse.xtext.nodemodel.INodegetCurrentNode()protected java.lang.StringgetInputToParse(java.lang.String completeInput, int offset)protected java.lang.StringgetInputToParse(org.eclipse.xtext.nodemodel.INode node)protected org.eclipse.xtext.nodemodel.INodegetLastCompleteNodeByOffset(org.eclipse.xtext.nodemodel.INode node, int offsetPosition)java.lang.StringgetNodeTextUpToCompletionOffset(org.eclipse.xtext.nodemodel.INode currentNode)IContentAssistParsergetParser()java.lang.StringgetPrefix(org.eclipse.xtext.nodemodel.INode prefixNode)protected org.eclipse.xtext.AbstractRulegetRule(org.eclipse.emf.ecore.EObject currentGrammarElement)protected voidhandleLastCompleteNodeAsPartOfDatatypeNode()protected voidhandleLastCompleteNodeHasNoGrammarElement(java.util.List<ContentAssistContext.Builder> contextBuilderToCheck, org.eclipse.emf.ecore.EObject previousModel)protected voidhandleLastCompleteNodeIsAtEndOfDatatypeNode()protected voidhandleLastCompleteNodeIsPartOfLookahead()protected voidinitializeAndAdjustCompletionOffset(int offset)protected voidinitializeFromViewerAndResource(int offset)protected voidinitializeNodeAndModelData()protected booleanisErrorToken(org.antlr.runtime.Token token)Returntrueif the token should be considered to be an error token.protected booleanisLikelyToBeValidProposal(org.eclipse.xtext.nodemodel.INode lastCompleteNode, java.lang.Iterable<ContentAssistContext> contexts)voidsetParser(IContentAssistParser parser)voidsetPool(java.util.concurrent.ExecutorService pool)
-
-
-
Field Detail
-
parser
@Inject protected IContentAssistParser parser
-
lexer
@Inject protected Lexer lexer
-
contentAssistContextProvider
@Inject protected com.google.inject.Provider<ContentAssistContext.Builder> contentAssistContextProvider
-
tokenDefProvider
@Inject protected org.eclipse.xtext.parser.antlr.ITokenDefProvider tokenDefProvider
-
followElementComputer
@Inject protected FollowElementComputer followElementComputer
-
completionPrefixProvider
@Inject protected CompletionPrefixProvider completionPrefixProvider
- Since:
- 2.13
-
resource
protected org.eclipse.xtext.resource.XtextResource resource
-
rootNode
protected org.eclipse.xtext.nodemodel.ICompositeNode rootNode
-
lastCompleteNode
protected org.eclipse.xtext.nodemodel.INode lastCompleteNode
-
currentNode
protected org.eclipse.xtext.nodemodel.INode currentNode
-
lastVisibleNode
protected org.eclipse.xtext.nodemodel.INode lastVisibleNode
-
currentModel
protected org.eclipse.emf.ecore.EObject currentModel
-
contextBuilders
protected java.util.List<ContentAssistContext.Builder> contextBuilders
-
parseResult
protected org.eclipse.xtext.parser.IParseResult parseResult
-
datatypeNode
protected org.eclipse.xtext.nodemodel.INode datatypeNode
-
completionOffset
protected int completionOffset
-
selection
protected org.eclipse.xtext.util.ITextRegion selection
-
-
Method Detail
-
apply
public ContentAssistContext apply(ContentAssistContext.Builder from)
- Specified by:
applyin interfacecom.google.common.base.Function<ContentAssistContext.Builder,ContentAssistContext>- Specified by:
applyin interfacejava.util.function.Function<ContentAssistContext.Builder,ContentAssistContext>
-
create
public ContentAssistContext[] create(java.lang.String document, org.eclipse.xtext.util.ITextRegion selection, int offset, org.eclipse.xtext.resource.XtextResource resource)
-
getCurrentNode
protected org.eclipse.xtext.nodemodel.INode getCurrentNode()
-
setPool
public void setPool(java.util.concurrent.ExecutorService pool)
-
doCreateContexts
protected ContentAssistContext[] doCreateContexts(int offset)
-
initializeFromViewerAndResource
protected void initializeFromViewerAndResource(int offset)
-
initializeNodeAndModelData
protected void initializeNodeAndModelData()
-
initializeAndAdjustCompletionOffset
protected void initializeAndAdjustCompletionOffset(int offset)
-
handleLastCompleteNodeIsPartOfLookahead
protected void handleLastCompleteNodeIsPartOfLookahead()
-
handleLastCompleteNodeIsAtEndOfDatatypeNode
protected void handleLastCompleteNodeIsAtEndOfDatatypeNode()
-
getInputToParse
protected java.lang.String getInputToParse(org.eclipse.xtext.nodemodel.INode node)
- Since:
- 2.13
-
getInputToParse
protected java.lang.String getInputToParse(java.lang.String completeInput, int offset)- Since:
- 2.13
-
handleLastCompleteNodeHasNoGrammarElement
protected void handleLastCompleteNodeHasNoGrammarElement(java.util.List<ContentAssistContext.Builder> contextBuilderToCheck, org.eclipse.emf.ecore.EObject previousModel)
-
handleLastCompleteNodeAsPartOfDatatypeNode
protected void handleLastCompleteNodeAsPartOfDatatypeNode()
-
isLikelyToBeValidProposal
protected boolean isLikelyToBeValidProposal(org.eclipse.xtext.nodemodel.INode lastCompleteNode, java.lang.Iterable<ContentAssistContext> contexts)
-
createContextsForLastCompleteNode
protected void createContextsForLastCompleteNode(org.eclipse.emf.ecore.EObject previousModel, boolean strict)
-
isErrorToken
protected boolean isErrorToken(org.antlr.runtime.Token token)
Returntrueif 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.
-
doCreateContexts
protected void doCreateContexts(org.eclipse.xtext.nodemodel.INode lastCompleteNode, org.eclipse.xtext.nodemodel.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,org.eclipse.xtext.AbstractElement> computeCurrentModel(org.eclipse.emf.ecore.EObject currentModel, org.eclipse.xtext.nodemodel.INode lastCompleteNode, java.util.Collection<org.eclipse.xtext.AbstractElement> followElements)
-
getContainingDatatypeRuleNode
public org.eclipse.xtext.nodemodel.INode getContainingDatatypeRuleNode(org.eclipse.xtext.nodemodel.INode node)
-
getCompletionOffset
protected int getCompletionOffset()
-
doCreateContext
public ContentAssistContext.Builder doCreateContext(org.eclipse.xtext.nodemodel.INode lastCompleteNode, org.eclipse.emf.ecore.EObject currentModel, org.eclipse.emf.ecore.EObject previousModel, org.eclipse.xtext.nodemodel.INode currentNode, java.lang.String prefix)
-
getPrefix
public java.lang.String getPrefix(org.eclipse.xtext.nodemodel.INode prefixNode)
-
getNodeTextUpToCompletionOffset
public java.lang.String getNodeTextUpToCompletionOffset(org.eclipse.xtext.nodemodel.INode currentNode)
-
doComputePrefix
public boolean doComputePrefix(org.eclipse.xtext.nodemodel.ICompositeNode node, java.lang.StringBuilder result)
-
setParser
public void setParser(IContentAssistParser parser)
-
getParser
public IContentAssistParser getParser()
-
canBeCalledAfter
protected boolean canBeCalledAfter(org.eclipse.xtext.AbstractRule rule, org.eclipse.emf.ecore.EObject previousGrammarElement, java.lang.String previousText, org.eclipse.emf.ecore.EObject nextGrammarElement)
-
createCallHierachyHelper
protected CallHierarchyHelper createCallHierachyHelper(org.eclipse.emf.ecore.EObject previousGrammarElement, java.lang.String previousText, org.eclipse.emf.ecore.EObject nextGrammarElement)
-
getRule
protected org.eclipse.xtext.AbstractRule getRule(org.eclipse.emf.ecore.EObject currentGrammarElement)
-
getLastCompleteNodeByOffset
protected org.eclipse.xtext.nodemodel.INode getLastCompleteNodeByOffset(org.eclipse.xtext.nodemodel.INode node, int offsetPosition)
-
-