org.eclipse.xtext.scoping.impl
Class SimpleLocalScopeProvider

java.lang.Object
  extended by org.eclipse.xtext.scoping.impl.AbstractScopeProvider
      extended by org.eclipse.xtext.scoping.impl.AbstractGlobalScopeDelegatingScopeProvider
          extended by org.eclipse.xtext.scoping.impl.SimpleLocalScopeProvider
All Implemented Interfaces:
IScopeProvider

public class SimpleLocalScopeProvider
extends AbstractGlobalScopeDelegatingScopeProvider

A local scope that uses the qualified names of all elements of an Resource and delegates to a global scope.

Author:
Sven Efftinge - Initial contribution and API

Constructor Summary
SimpleLocalScopeProvider()
           
 
Method Summary
protected  IScope createScope(IScope parent, ISelectable resourceContent, org.eclipse.emf.ecore.EClass type, boolean ignoreCase)
           
protected  ISelectable getAllDescriptions(org.eclipse.emf.ecore.resource.Resource resource)
           
protected  IQualifiedNameProvider getNameProvider()
           
 IScope getScope(org.eclipse.emf.ecore.EObject context, org.eclipse.emf.ecore.EReference reference)
          Returns a scope for the given context.
 void setCache(IResourceScopeCache cache)
           
 void setNameProvider(IQualifiedNameProvider nameProvider)
           
 
Methods inherited from class org.eclipse.xtext.scoping.impl.AbstractGlobalScopeDelegatingScopeProvider
getGlobalScope, getGlobalScope, isIgnoreCase, setWrapper, wrap
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SimpleLocalScopeProvider

public SimpleLocalScopeProvider()
Method Detail

setCache

public void setCache(IResourceScopeCache cache)

setNameProvider

public void setNameProvider(IQualifiedNameProvider nameProvider)

getNameProvider

protected IQualifiedNameProvider getNameProvider()

getScope

public IScope getScope(org.eclipse.emf.ecore.EObject context,
                       org.eclipse.emf.ecore.EReference reference)
Description copied from interface: IScopeProvider
Returns a scope for the given context. The scope provides access to the compatible visible EObjects for a given reference.

Parameters:
context - the element from which an element shall be referenced. It doesn't need to be the element containing the reference, it is just used to find the most inner scope for given EReference.
reference - the reference for which to get the scope.
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.

createScope

protected IScope createScope(IScope parent,
                             ISelectable resourceContent,
                             org.eclipse.emf.ecore.EClass type,
                             boolean ignoreCase)

getAllDescriptions

protected ISelectable getAllDescriptions(org.eclipse.emf.ecore.resource.Resource resource)