org.eclipse.xtext.xbase.scoping.batch
Class AbstractFeatureScopeSession

java.lang.Object
  extended by org.eclipse.xtext.xbase.scoping.batch.AbstractFeatureScopeSession
All Implemented Interfaces:
IFeatureScopeSession
Direct Known Subclasses:
FeatureScopeSession, RootFeatureScopeSession

@NonNullByDefault
public abstract class AbstractFeatureScopeSession
extends java.lang.Object
implements IFeatureScopeSession

Author:
Sebastian Zarnekow - Initial contribution and API

Constructor Summary
AbstractFeatureScopeSession()
           
 
Method Summary
 IFeatureScopeSession addLocalElement(QualifiedName name, JvmIdentifiableElement element)
           
protected  void addLocalElements(java.util.List<IEObjectDescription> result)
           
 IFeatureScopeSession addLocalElements(java.util.Map<QualifiedName,JvmIdentifiableElement> elements)
           
 IFeatureScopeSession addToExtensionScope(JvmIdentifiableElement baseElement, java.util.List<XExpression> extensionProviders)
           
 IFeatureScopeSession addTypesToStaticScope(java.util.List<JvmType> staticFeatureProviders, java.util.List<JvmType> extensionProviders)
           
 IScope createFeatureCallScope(org.eclipse.emf.ecore.EObject context, org.eclipse.emf.ecore.EReference reference, IResolvedTypes resolvedTypes)
           
protected abstract  FeatureScopeProvider getFeatureScopeProvider()
           
protected abstract  int getId()
           
 java.util.Collection<IEObjectDescription> getLocalElements()
           
 IScope getScope(XExpression expression, org.eclipse.emf.ecore.EReference reference, IResolvedTypes types)
           
protected abstract  IScopeProvider getScopeProvider()
           
 java.util.List<TypeBucket> getStaticallyImportedExtensionTypes()
           
 java.util.List<TypeBucket> getStaticallyImportedTypes()
           
 IFeatureScopeSession recursiveInitialize(org.eclipse.emf.ecore.EObject context)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.eclipse.xtext.xbase.scoping.batch.IFeatureScopeSession
getLocalElement
 

Constructor Detail

AbstractFeatureScopeSession

public AbstractFeatureScopeSession()
Method Detail

getScope

public IScope getScope(XExpression expression,
                       org.eclipse.emf.ecore.EReference reference,
                       IResolvedTypes types)
Specified by:
getScope in interface IFeatureScopeSession

addTypesToStaticScope

public IFeatureScopeSession addTypesToStaticScope(java.util.List<JvmType> staticFeatureProviders,
                                                  java.util.List<JvmType> extensionProviders)
Specified by:
addTypesToStaticScope in interface IFeatureScopeSession

getFeatureScopeProvider

protected abstract FeatureScopeProvider getFeatureScopeProvider()

getScopeProvider

protected abstract IScopeProvider getScopeProvider()

getId

protected abstract int getId()

addToExtensionScope

public IFeatureScopeSession addToExtensionScope(JvmIdentifiableElement baseElement,
                                                java.util.List<XExpression> extensionProviders)
Specified by:
addToExtensionScope in interface IFeatureScopeSession

addLocalElement

public IFeatureScopeSession addLocalElement(QualifiedName name,
                                            JvmIdentifiableElement element)
Specified by:
addLocalElement in interface IFeatureScopeSession

addLocalElements

public IFeatureScopeSession addLocalElements(java.util.Map<QualifiedName,JvmIdentifiableElement> elements)
Specified by:
addLocalElements in interface IFeatureScopeSession

createFeatureCallScope

public IScope createFeatureCallScope(org.eclipse.emf.ecore.EObject context,
                                     org.eclipse.emf.ecore.EReference reference,
                                     IResolvedTypes resolvedTypes)
Specified by:
createFeatureCallScope in interface IFeatureScopeSession

getLocalElements

public java.util.Collection<IEObjectDescription> getLocalElements()
Specified by:
getLocalElements in interface IFeatureScopeSession

addLocalElements

protected void addLocalElements(java.util.List<IEObjectDescription> result)
Parameters:
result - the list of all local elements. Shadowing semantics does not have to be applied.

getStaticallyImportedTypes

public java.util.List<TypeBucket> getStaticallyImportedTypes()
Specified by:
getStaticallyImportedTypes in interface IFeatureScopeSession

getStaticallyImportedExtensionTypes

public java.util.List<TypeBucket> getStaticallyImportedExtensionTypes()
Specified by:
getStaticallyImportedExtensionTypes in interface IFeatureScopeSession

recursiveInitialize

public IFeatureScopeSession recursiveInitialize(org.eclipse.emf.ecore.EObject context)
Specified by:
recursiveInitialize in interface IFeatureScopeSession