|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.eclipse.xtext.scoping.impl.AbstractScope
public abstract class AbstractScope
Base class for custom scope implementations. It supports nesting of scopes into each other, appropriate shadowing semantics and case sensitive and insensitive lookup.
Implementors have to provide getAllLocalElements(). However, it is recommended
to customize getLocalElementsByEObject(EObject, URI) and getLocalElementsByName(QualifiedName)
as well.
| Nested Class Summary | |
|---|---|
protected static class |
AbstractScope.ParentIterable
Lazy iterable with a reasonable AbstractScope.ParentIterable.toString() implementation that supports
shadowing of parents elements by means of filtering. |
| Field Summary |
|---|
| Fields inherited from interface org.eclipse.xtext.scoping.IScope |
|---|
NULLSCOPE |
| Constructor Summary | |
|---|---|
protected |
AbstractScope(IScope parent,
boolean ignoreCase)
Creates a new scope with a given parent. |
| Method Summary | |
|---|---|
java.lang.Iterable<IEObjectDescription> |
getAllElements()
Obtain all elements from the scope. |
protected abstract java.lang.Iterable<IEObjectDescription> |
getAllLocalElements()
|
java.lang.Iterable<IEObjectDescription> |
getElements(org.eclipse.emf.ecore.EObject object)
Find all descriptions that match the given instance. |
java.lang.Iterable<IEObjectDescription> |
getElements(QualifiedName name)
Find all descriptions that match the given name. |
protected java.lang.Iterable<IEObjectDescription> |
getLocalElementsByEObject(org.eclipse.emf.ecore.EObject object,
org.eclipse.emf.common.util.URI uri)
|
protected java.lang.Iterable<IEObjectDescription> |
getLocalElementsByName(QualifiedName name)
|
IScope |
getParent()
|
protected java.lang.Iterable<IEObjectDescription> |
getParentElements(com.google.inject.Provider<java.lang.Iterable<IEObjectDescription>> provider)
|
IEObjectDescription |
getSingleElement(org.eclipse.emf.ecore.EObject object)
Find the first description that matches the given instance. |
IEObjectDescription |
getSingleElement(QualifiedName name)
Find the first description that matches the given name. |
protected IEObjectDescription |
getSingleLocalElementByName(QualifiedName name)
|
boolean |
isIgnoreCase()
|
protected boolean |
isShadowed(IEObjectDescription input)
Returns true if the given description input from the parent scope is
shadowed by local elements. |
java.lang.String |
toString()
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
protected AbstractScope(IScope parent,
boolean ignoreCase)
parent - the parent scope. May not be null. Use NULLSCOPE instead.ignoreCase - whether name lookup and shadowing should be case insensitive or not.| Method Detail |
|---|
public IScope getParent()
public boolean isIgnoreCase()
public IEObjectDescription getSingleElement(QualifiedName name)
IScope
getSingleElement in interface IScopename - the name of the to-be-found element. May not be null.
name. May be null.protected IEObjectDescription getSingleLocalElementByName(QualifiedName name)
public java.lang.Iterable<IEObjectDescription> getAllElements()
IScopeUnsupportedOperationException
if the scope cannot be enumerated.
getAllElements in interface IScopenull.public java.lang.Iterable<IEObjectDescription> getElements(QualifiedName name)
IScope
getElements in interface IScopename - the name of the to-be-found elements. May not be null.
name. Never null.public IEObjectDescription getSingleElement(org.eclipse.emf.ecore.EObject object)
IScope
getSingleElement in interface IScopeobject - the instance whose description should be obtained. May not be null.
instance. May be null.public java.lang.Iterable<IEObjectDescription> getElements(org.eclipse.emf.ecore.EObject object)
IScope
getElements in interface IScopeobject - the instance whose descriptions should be obtained. May not be null.
instance. Never null.protected abstract java.lang.Iterable<IEObjectDescription> getAllLocalElements()
protected java.lang.Iterable<IEObjectDescription> getLocalElementsByName(QualifiedName name)
protected java.lang.Iterable<IEObjectDescription> getLocalElementsByEObject(org.eclipse.emf.ecore.EObject object,
org.eclipse.emf.common.util.URI uri)
protected java.lang.Iterable<IEObjectDescription> getParentElements(com.google.inject.Provider<java.lang.Iterable<IEObjectDescription>> provider)
protected boolean isShadowed(IEObjectDescription input)
true if the given description input from the parent scope is
shadowed by local elements.
true if the given description input from the parent scope is
shadowed by local elements.public java.lang.String toString()
toString in class java.lang.Object
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||