org.eclipse.xtext.xtext
Class XtextLinker
java.lang.Object
org.eclipse.xtext.linking.impl.AbstractLinker
org.eclipse.xtext.linking.impl.AbstractCleaningLinker
org.eclipse.xtext.linking.impl.Linker
org.eclipse.xtext.xtext.XtextLinker
- All Implemented Interfaces:
- ILinker
public class XtextLinker
- extends Linker
- Author:
- Sebastian Zarnekow - Initial contribution and API
Method Summary |
protected void |
afterModelLinked(org.eclipse.emf.ecore.EObject model,
IDiagnosticConsumer diagnosticsConsumer)
|
protected void |
beforeEnsureIsLinked(org.eclipse.emf.ecore.EObject obj,
org.eclipse.emf.ecore.EReference ref,
IDiagnosticProducer producer)
|
protected void |
beforeModelLinked(org.eclipse.emf.ecore.EObject model,
IDiagnosticConsumer diagnosticsConsumer)
|
protected boolean |
canSetDefaultValues(org.eclipse.emf.ecore.EReference ref)
|
protected void |
clearReference(org.eclipse.emf.ecore.EObject obj,
org.eclipse.emf.ecore.EReference ref)
We add typeRefs without Nodes on the fly, so we should remove them before relinking. |
protected IDiagnosticProducer |
createDiagnosticProducer(IDiagnosticConsumer consumer)
|
protected Xtext2EcoreTransformer |
createTransformer(Grammar grammar,
IDiagnosticConsumer consumer)
|
OnChangeEvictingCache |
getCache()
|
XtextLinker.PackageRemover |
getPackageRemover()
|
IXtext2EcorePostProcessor |
getPostProcessor()
|
IScopeProvider |
getScopeProvider()
|
void |
linkModel(org.eclipse.emf.ecore.EObject model,
IDiagnosticConsumer consumer)
Sets cross references in the passed EObject and its contents ,
using the information available (usually using the INode model associated via NodeModelUtils ) |
void |
setCache(OnChangeEvictingCache cache)
|
protected void |
setDefaultValueImpl(org.eclipse.emf.ecore.EObject obj,
org.eclipse.emf.ecore.EReference ref,
IDiagnosticProducer producer)
|
void |
setPackageRemover(XtextLinker.PackageRemover packageRemover)
|
void |
setPostProcessor(IXtext2EcorePostProcessor postProcessor)
|
void |
setScopeProvider(IScopeProvider scopeProvider)
|
protected void |
updateOverriddenRules(Grammar grammar)
|
protected void |
updateOverriddenRules(Grammar grammar,
java.util.Map<java.lang.String,AbstractRule> rulePerName)
|
protected void |
updateOverriddenRules(Grammar grammar,
java.util.Map<java.lang.String,AbstractRule> rulePerName,
java.util.Set<Grammar> visitedGrammars)
|
Methods inherited from class org.eclipse.xtext.linking.impl.Linker |
createDiagnosticContext, doLinkModel, ensureIsLinked, ensureLinked, ensureModelLinked, getDiagnosticMessageProvider, getLinkedObject, getLinkingHelper, getLinkingService, isNullValidResult, setDefaultValue, setDiagnosticMessageProvider, setLinkingHelper, setLinkingService |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
XtextLinker
public XtextLinker()
getScopeProvider
public IScopeProvider getScopeProvider()
setScopeProvider
public void setScopeProvider(IScopeProvider scopeProvider)
getPostProcessor
public IXtext2EcorePostProcessor getPostProcessor()
setPostProcessor
public void setPostProcessor(IXtext2EcorePostProcessor postProcessor)
createDiagnosticProducer
protected IDiagnosticProducer createDiagnosticProducer(IDiagnosticConsumer consumer)
- Overrides:
createDiagnosticProducer
in class Linker
canSetDefaultValues
protected boolean canSetDefaultValues(org.eclipse.emf.ecore.EReference ref)
- Overrides:
canSetDefaultValues
in class Linker
setDefaultValueImpl
protected void setDefaultValueImpl(org.eclipse.emf.ecore.EObject obj,
org.eclipse.emf.ecore.EReference ref,
IDiagnosticProducer producer)
- Overrides:
setDefaultValueImpl
in class Linker
beforeEnsureIsLinked
protected void beforeEnsureIsLinked(org.eclipse.emf.ecore.EObject obj,
org.eclipse.emf.ecore.EReference ref,
IDiagnosticProducer producer)
- Overrides:
beforeEnsureIsLinked
in class Linker
createTransformer
protected Xtext2EcoreTransformer createTransformer(Grammar grammar,
IDiagnosticConsumer consumer)
beforeModelLinked
protected void beforeModelLinked(org.eclipse.emf.ecore.EObject model,
IDiagnosticConsumer diagnosticsConsumer)
- Overrides:
beforeModelLinked
in class AbstractCleaningLinker
afterModelLinked
protected void afterModelLinked(org.eclipse.emf.ecore.EObject model,
IDiagnosticConsumer diagnosticsConsumer)
- Overrides:
afterModelLinked
in class AbstractCleaningLinker
linkModel
public void linkModel(org.eclipse.emf.ecore.EObject model,
IDiagnosticConsumer consumer)
- Description copied from interface:
ILinker
- Sets cross references in the passed
EObject
and its contents
,
using the information available (usually using the INode
model associated via NodeModelUtils
)
- Specified by:
linkModel
in interface ILinker
- Overrides:
linkModel
in class AbstractCleaningLinker
- Parameters:
model
- the root model of a resourceconsumer
- the consumer of linking diagnostics
updateOverriddenRules
protected void updateOverriddenRules(Grammar grammar)
updateOverriddenRules
protected void updateOverriddenRules(Grammar grammar,
java.util.Map<java.lang.String,AbstractRule> rulePerName,
java.util.Set<Grammar> visitedGrammars)
updateOverriddenRules
protected void updateOverriddenRules(Grammar grammar,
java.util.Map<java.lang.String,AbstractRule> rulePerName)
clearReference
protected void clearReference(org.eclipse.emf.ecore.EObject obj,
org.eclipse.emf.ecore.EReference ref)
- We add typeRefs without Nodes on the fly, so we should remove them before relinking.
- Overrides:
clearReference
in class AbstractCleaningLinker
setPackageRemover
public void setPackageRemover(XtextLinker.PackageRemover packageRemover)
getPackageRemover
public XtextLinker.PackageRemover getPackageRemover()
setCache
public void setCache(OnChangeEvictingCache cache)
getCache
public OnChangeEvictingCache getCache()