Package org.eclipse.xtend.core.linking
Class Linker
- java.lang.Object
-
- org.eclipse.xtext.linking.impl.AbstractLinker
-
- org.eclipse.xtext.linking.impl.AbstractCleaningLinker
-
- org.eclipse.xtext.linking.lazy.LazyLinker
-
- org.eclipse.xtext.xbase.linking.XbaseLazyLinker
-
- org.eclipse.xtend.core.linking.Linker
-
- All Implemented Interfaces:
org.eclipse.xtext.linking.ILinker
- Direct Known Subclasses:
RuntimeLinker
public class Linker extends org.eclipse.xtext.xbase.linking.XbaseLazyLinker
Optimized lazy linker implementation for Xtend. It's based on theBatchLinkableResource
. It also validates the concrete syntax of the cross link text.
-
-
Constructor Summary
Constructors Constructor Description Linker()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
afterCreateAndSetProxy(org.eclipse.emf.ecore.EObject obj, org.eclipse.xtext.nodemodel.INode node, org.eclipse.emf.ecore.EReference eRef, org.eclipse.xtext.CrossReference xref, org.eclipse.xtext.diagnostics.IDiagnosticProducer diagnosticProducer)
protected org.eclipse.emf.ecore.EClass
getProxyType(org.eclipse.emf.ecore.EObject obj, org.eclipse.emf.ecore.EReference eRef)
protected boolean
hasLeafNodes(org.eclipse.xtext.nodemodel.INode node)
protected boolean
isClearAllReferencesRequired(org.eclipse.emf.ecore.resource.Resource resource)
protected boolean
shouldCheckParentNode(org.eclipse.xtext.nodemodel.INode node)
Xtend does not use the grammar pattern where the cross reference is defined in a rule that did not instantiate the object.-
Methods inherited from class org.eclipse.xtext.xbase.linking.XbaseLazyLinker
clearReference, getAllLinkableContents
-
Methods inherited from class org.eclipse.xtext.linking.lazy.LazyLinker
createAndSetProxy, createProxy, doLinkModel, findInstantiableCompatible, findSubTypeInEPackage, getCache, getEncoder, getGrammarAccess, getRegistry, globalFindInstantiableCompatible, installProxies, installQueuedLinks, setEncoder, setGrammarAccess, setRegistry
-
-
-
-
Method Detail
-
shouldCheckParentNode
protected boolean shouldCheckParentNode(org.eclipse.xtext.nodemodel.INode node)
Xtend does not use the grammar pattern where the cross reference is defined in a rule that did not instantiate the object.- Overrides:
shouldCheckParentNode
in classorg.eclipse.xtext.linking.impl.AbstractCleaningLinker
-
isClearAllReferencesRequired
protected boolean isClearAllReferencesRequired(org.eclipse.emf.ecore.resource.Resource resource)
- Overrides:
isClearAllReferencesRequired
in classorg.eclipse.xtext.linking.impl.AbstractCleaningLinker
-
hasLeafNodes
protected boolean hasLeafNodes(org.eclipse.xtext.nodemodel.INode node)
- Overrides:
hasLeafNodes
in classorg.eclipse.xtext.linking.lazy.LazyLinker
-
afterCreateAndSetProxy
protected void afterCreateAndSetProxy(org.eclipse.emf.ecore.EObject obj, org.eclipse.xtext.nodemodel.INode node, org.eclipse.emf.ecore.EReference eRef, org.eclipse.xtext.CrossReference xref, org.eclipse.xtext.diagnostics.IDiagnosticProducer diagnosticProducer)
- Overrides:
afterCreateAndSetProxy
in classorg.eclipse.xtext.linking.lazy.LazyLinker
-
getProxyType
protected org.eclipse.emf.ecore.EClass getProxyType(org.eclipse.emf.ecore.EObject obj, org.eclipse.emf.ecore.EReference eRef)
- Overrides:
getProxyType
in classorg.eclipse.xtext.linking.lazy.LazyLinker
-
-