org.eclipse.xtext.scoping
Interface IGlobalScopeProvider

All Known Implementing Classes:
AbstractGlobalScopeProvider, AbstractTypeScopeProvider, ClasspathBasedTypeScopeProvider, DefaultGlobalScopeProvider, ImportUriGlobalScopeProvider, JdtBasedSimpleTypeScopeProvider, JvmGlobalScopeProvider, ResourceSetGlobalScopeProvider, TypesAwareDefaultGlobalScopeProvider

public interface IGlobalScopeProvider

A marker interface used to identify IScopeProvider implementations providing scopes for the world, that is things which are not local (i.e. within a resource). Common scope providers (local ones) use them to delegate lookup for any elements, which are not locally available.

Author:
Sven Efftinge - Initial contribution and API

Method Summary
 IScope getScope(org.eclipse.emf.ecore.resource.Resource context, org.eclipse.emf.ecore.EReference reference, com.google.common.base.Predicate<IEObjectDescription> filter)
          Returns a global scope for the given context.
 

Method Detail

getScope

IScope getScope(org.eclipse.emf.ecore.resource.Resource context,
                org.eclipse.emf.ecore.EReference reference,
                com.google.common.base.Predicate<IEObjectDescription> filter)
Returns a global scope for the given context. The scope provides access to the EObjectDescription visible from the given Resource according to the definition of the global scope hierarchy (which is usually defined by IContainer.Manager).

Parameters:
context - the resource from which the global scope is looked at.
reference - the reference for which to construct a global scope.
filter - a filter used to filter down the elements contained in each scope. Scopes will only contain elements for which the filter returned true.
Returns:
IScope representing the inner most IScope for the passed context and reference. Note for implementors: The result may not be null. Return IScope.NULLSCOPE instead.