public abstract class AbstractNestedFeatureScopeSession extends AbstractFeatureScopeSession
ALL
Modifier | Constructor and Description |
---|---|
protected |
AbstractNestedFeatureScopeSession(AbstractFeatureScopeSession parent) |
Modifier and Type | Method and Description |
---|---|
protected void |
addExtensionProviders(java.util.List<ExpressionBucket> result) |
protected void |
addLocalElements(java.util.List<IEObjectDescription> result) |
protected ConstructorScopes |
getConstructorScopes() |
protected IScopeProvider |
getDefaultScopeProvider() |
java.util.List<JvmDeclaredType> |
getEnclosingTypes()
Returns a list of enclosing types that provide an instance in the current context.
|
java.util.List<ExpressionBucket> |
getExtensionProviders()
All extension providers as expression buckets.
|
protected FeatureScopes |
getFeatureScopes() |
protected int |
getId()
A simple means to identify the session.
|
IEObjectDescription |
getLocalElement(QualifiedName name)
Find a local element with the given qualified name.
|
java.util.List<JvmDeclaredType> |
getNestedTypeDeclarators()
Returns enclosing types that declare available nested types.
|
IFeatureScopeSession |
getNextCaptureLayer()
Returns the next layer of the captured scopes.
|
protected AbstractFeatureScopeSession |
getParent() |
protected IResolvedFeatures.Provider |
getResolvedFeaturesProvider() |
java.util.List<TypeBucket> |
getStaticallyImportedExtensionTypes()
All statically imported extension types as type buckets.
|
java.util.List<TypeBucket> |
getStaticallyImportedTypes()
All statically imported types as type buckets.
|
protected TypeScopes |
getTypeScopes() |
boolean |
isConstructorContext()
Returns
true if the current expression is used in a constructor body. |
boolean |
isInstanceContext()
Returns
true if this can be validly resolved in the current scope. |
boolean |
isVisible(JvmMember member)
Returns
true if the member is visible according to the JvmVisibility and the local context. |
boolean |
isVisible(JvmMember member,
LightweightTypeReference receiverType,
JvmIdentifiableElement receiverFeature)
Returns
true if the member is visible according to the JvmVisibility and the local context
when invoked on the given receiver feature which resolves to the given type. |
addImports, addLocalElement, addLocalElements, addNestedTypesToScope, addToExtensionScope, addTypesToStaticScope, captureLocalElements, createConstructorScope, createFeatureCallScope, createTypeScope, dropLocalElements, getLocalElements, getScope, toConstructorContext, toInstanceContext, tryCreateNestedSessionWithVisibilityContext
protected AbstractNestedFeatureScopeSession(AbstractFeatureScopeSession parent)
protected IScopeProvider getDefaultScopeProvider()
getDefaultScopeProvider
in class AbstractFeatureScopeSession
protected FeatureScopes getFeatureScopes()
getFeatureScopes
in class AbstractFeatureScopeSession
protected IResolvedFeatures.Provider getResolvedFeaturesProvider()
getResolvedFeaturesProvider
in class AbstractFeatureScopeSession
protected ConstructorScopes getConstructorScopes()
getConstructorScopes
in class AbstractFeatureScopeSession
protected TypeScopes getTypeScopes()
getTypeScopes
in class AbstractFeatureScopeSession
protected AbstractFeatureScopeSession getParent()
public IFeatureScopeSession getNextCaptureLayer()
IFeatureScopeSession
getNextCaptureLayer
in interface IFeatureScopeSession
getNextCaptureLayer
in class AbstractFeatureScopeSession
public java.util.List<JvmDeclaredType> getEnclosingTypes()
IFeatureScopeSession
getEnclosingTypes
in interface IFeatureScopeSession
getEnclosingTypes
in class AbstractFeatureScopeSession
public java.util.List<JvmDeclaredType> getNestedTypeDeclarators()
IFeatureScopeSession
getNestedTypeDeclarators
in interface IFeatureScopeSession
getNestedTypeDeclarators
in class AbstractFeatureScopeSession
public IEObjectDescription getLocalElement(QualifiedName name)
IFeatureScopeSession
null
.protected void addLocalElements(java.util.List<IEObjectDescription> result)
addLocalElements
in class AbstractFeatureScopeSession
result
- the list of all local elements. Shadowing semantics do not have to be applied.public java.util.List<TypeBucket> getStaticallyImportedTypes()
IFeatureScopeSession
getStaticallyImportedTypes
in interface IFeatureScopeSession
getStaticallyImportedTypes
in class AbstractFeatureScopeSession
public java.util.List<TypeBucket> getStaticallyImportedExtensionTypes()
IFeatureScopeSession
getStaticallyImportedExtensionTypes
in interface IFeatureScopeSession
getStaticallyImportedExtensionTypes
in class AbstractFeatureScopeSession
public java.util.List<ExpressionBucket> getExtensionProviders()
IFeatureScopeSession
getExtensionProviders
in interface IFeatureScopeSession
getExtensionProviders
in class AbstractFeatureScopeSession
public boolean isInstanceContext()
IFeatureScopeSession
true
if this
can be validly resolved in the current scope.public boolean isConstructorContext()
IFeatureScopeSession
true
if the current expression is used in a constructor body.protected void addExtensionProviders(java.util.List<ExpressionBucket> result)
addExtensionProviders
in class AbstractFeatureScopeSession
result
- an aggregating parameter that accepts the extension providers.protected int getId()
AbstractFeatureScopeSession
getId
in class AbstractFeatureScopeSession
public boolean isVisible(JvmMember member)
IVisibilityHelper
true
if the member is visible according to the JvmVisibility
and the local context.member
- the member that shall be accessed.true
if the feature can be accessed.public boolean isVisible(JvmMember member, LightweightTypeReference receiverType, JvmIdentifiableElement receiverFeature)
IFeatureScopeSession
true
if the member is visible according to the JvmVisibility
and the local context
when invoked on the given receiver feature which resolves to the given type.member
- the member that shall be accessed.receiverType
- the type of the receiver. May be unknown.receiverFeature
- the links the receiver of the feature call to the given member. May be unknown.true
if the feature can be accessed.