Class 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 the BatchLinkableResource. 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
      • Methods inherited from class org.eclipse.xtext.linking.impl.AbstractCleaningLinker

        afterModelLinked, beforeModelLinked, clearAllReferences, clearReferences, linkModel
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Linker

        public Linker()
    • 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 class org.eclipse.xtext.linking.impl.AbstractCleaningLinker
      • isClearAllReferencesRequired

        protected boolean isClearAllReferencesRequired​(org.eclipse.emf.ecore.resource.Resource resource)
        Overrides:
        isClearAllReferencesRequired in class org.eclipse.xtext.linking.impl.AbstractCleaningLinker
      • hasLeafNodes

        protected boolean hasLeafNodes​(org.eclipse.xtext.nodemodel.INode node)
        Overrides:
        hasLeafNodes in class org.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 class org.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 class org.eclipse.xtext.linking.lazy.LazyLinker