Class AbstractSessionBasedScope
- java.lang.Object
-
- org.eclipse.xtext.scoping.impl.AbstractScope
-
- org.eclipse.xtext.xbase.scoping.batch.AbstractSessionBasedScope
-
- All Implemented Interfaces:
org.eclipse.xtext.scoping.IScope
- Direct Known Subclasses:
AbstractSessionBasedExecutableScope,CompositeScope,ConstructorDelegateScope,LocalVariableScope,NestedTypeLiteralScope,TypeLiteralScope
public abstract class AbstractSessionBasedScope extends org.eclipse.xtext.scoping.impl.AbstractScopeAbstract scope implementation that is based on anIFeatureScopeSession. The scope can only handlefeaturereferences. It does not support case insensitivity. Clients may extend concrete subtypes and adjust the name processing or apply general filtering by overridingaddToList(IEObjectDescription, List)oraddToList(List, List).
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static interfaceAbstractSessionBasedScope.NameAcceptor
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractSessionBasedScope(org.eclipse.xtext.scoping.IScope parent, IFeatureScopeSession session, XAbstractFeatureCall featureCall)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected voidaddToList(java.util.List<org.eclipse.xtext.resource.IEObjectDescription> descriptions, java.util.List<org.eclipse.xtext.resource.IEObjectDescription> result)Clients may override to reject certain descriptions from the result.protected voidaddToList(org.eclipse.xtext.resource.IEObjectDescription description, java.util.List<org.eclipse.xtext.resource.IEObjectDescription> result)Clients may override to reject certain descriptions from the result.protected java.util.List<org.eclipse.xtext.common.types.JvmFeature>findAllFeaturesByName(org.eclipse.xtext.common.types.JvmType type, java.lang.String simpleName, IResolvedFeatures.Provider resolvedFeaturesProvider)protected abstract java.util.List<org.eclipse.xtext.resource.IEObjectDescription>getAllLocalElements()java.lang.Iterable<org.eclipse.xtext.resource.IEObjectDescription>getElements(org.eclipse.xtext.naming.QualifiedName name)protected XAbstractFeatureCallgetFeatureCall()protected java.lang.Iterable<org.eclipse.xtext.resource.IEObjectDescription>getLocalElementsByEObject(org.eclipse.emf.ecore.EObject object, org.eclipse.emf.common.util.URI uri)protected abstract java.util.List<org.eclipse.xtext.resource.IEObjectDescription>getLocalElementsByName(org.eclipse.xtext.naming.QualifiedName name)protected IFeatureScopeSessiongetSession()protected java.lang.StringgetShadowingKey(org.eclipse.xtext.resource.IEObjectDescription description)protected booleanisShadowed(org.eclipse.xtext.resource.IEObjectDescription fromParent)protected voidprocessAsPropertyNames(org.eclipse.xtext.naming.QualifiedName name, AbstractSessionBasedScope.NameAcceptor acceptor)Considers the given name to be a property name.protected voidprocessFeatureNames(org.eclipse.xtext.naming.QualifiedName name, AbstractSessionBasedScope.NameAcceptor acceptor)protected java.lang.StringtoProperty(java.lang.String methodName, org.eclipse.xtext.common.types.JvmFeature feature)protected java.lang.StringtoProperty(java.lang.String methodName, org.eclipse.xtext.common.types.JvmFeature feature, int getterParams, int setterParams)protected java.lang.StringtryGetAsPropertyName(java.lang.String name)Returns the name as a property name, e.g.
-
-
-
Constructor Detail
-
AbstractSessionBasedScope
protected AbstractSessionBasedScope(org.eclipse.xtext.scoping.IScope parent, IFeatureScopeSession session, XAbstractFeatureCall featureCall)
-
-
Method Detail
-
getAllLocalElements
protected abstract java.util.List<org.eclipse.xtext.resource.IEObjectDescription> getAllLocalElements()
- Specified by:
getAllLocalElementsin classorg.eclipse.xtext.scoping.impl.AbstractScope
-
getSession
protected IFeatureScopeSession getSession()
-
getFeatureCall
protected XAbstractFeatureCall getFeatureCall()
-
processFeatureNames
protected void processFeatureNames(org.eclipse.xtext.naming.QualifiedName name, AbstractSessionBasedScope.NameAcceptor acceptor)
-
findAllFeaturesByName
protected java.util.List<org.eclipse.xtext.common.types.JvmFeature> findAllFeaturesByName(org.eclipse.xtext.common.types.JvmType type, java.lang.String simpleName, IResolvedFeatures.Provider resolvedFeaturesProvider)
-
processAsPropertyNames
protected void processAsPropertyNames(org.eclipse.xtext.naming.QualifiedName name, AbstractSessionBasedScope.NameAcceptor acceptor)Considers the given name to be a property name. If the concrete syntax of the processed feature matches a feature call or assignment, a prefix is added to the name and that one is used as a variant that should be processed.
-
toProperty
protected java.lang.String toProperty(java.lang.String methodName, org.eclipse.xtext.common.types.JvmFeature feature)
-
toProperty
protected java.lang.String toProperty(java.lang.String methodName, org.eclipse.xtext.common.types.JvmFeature feature, int getterParams, int setterParams)
-
tryGetAsPropertyName
protected java.lang.String tryGetAsPropertyName(java.lang.String name)
Returns the name as a property name, e.g. a prefixget,isorsetcan be used with the result of this method. If the given name is invalid, the result isnull.
-
addToList
protected void addToList(org.eclipse.xtext.resource.IEObjectDescription description, java.util.List<org.eclipse.xtext.resource.IEObjectDescription> result)Clients may override to reject certain descriptions from the result. All subtypes ofAbstractSessionBasedScopein the framework code will delegate to this method to accumulate descriptions in a list.- See Also:
addToList(List, List)
-
addToList
protected void addToList(java.util.List<org.eclipse.xtext.resource.IEObjectDescription> descriptions, java.util.List<org.eclipse.xtext.resource.IEObjectDescription> result)Clients may override to reject certain descriptions from the result. All subtypes ofAbstractSessionBasedScopein the framework code will delegate to this method to accumulate descriptions in a list.- See Also:
addToList(IEObjectDescription, List)
-
getLocalElementsByName
protected abstract java.util.List<org.eclipse.xtext.resource.IEObjectDescription> getLocalElementsByName(org.eclipse.xtext.naming.QualifiedName name)
- Overrides:
getLocalElementsByNamein classorg.eclipse.xtext.scoping.impl.AbstractScope
-
getElements
public java.lang.Iterable<org.eclipse.xtext.resource.IEObjectDescription> getElements(org.eclipse.xtext.naming.QualifiedName name)
- Specified by:
getElementsin interfaceorg.eclipse.xtext.scoping.IScope- Overrides:
getElementsin classorg.eclipse.xtext.scoping.impl.AbstractScope
-
getLocalElementsByEObject
protected java.lang.Iterable<org.eclipse.xtext.resource.IEObjectDescription> getLocalElementsByEObject(org.eclipse.emf.ecore.EObject object, org.eclipse.emf.common.util.URI uri)- Overrides:
getLocalElementsByEObjectin classorg.eclipse.xtext.scoping.impl.AbstractScope
-
getShadowingKey
protected java.lang.String getShadowingKey(org.eclipse.xtext.resource.IEObjectDescription description)
-
isShadowed
protected boolean isShadowed(org.eclipse.xtext.resource.IEObjectDescription fromParent)
- Overrides:
isShadowedin classorg.eclipse.xtext.scoping.impl.AbstractScope
-
-