@Deprecated public class JvmFeatureScopeProvider extends java.lang.Object implements IJvmFeatureScopeProvider
JvmFeatureDescription
s contained in the provided Scope.IJvmFeatureScopeProvider.FeatureScopeDescription
Constructor and Description |
---|
JvmFeatureScopeProvider()
Deprecated.
|
Modifier and Type | Method and Description |
---|---|
JvmFeatureScope |
createFeatureScope(IScope parent,
java.util.List<IJvmFeatureScopeProvider.FeatureScopeDescription> featureScopeDescriptions)
Deprecated.
Provides the feature scope for a given
JvmTypeReference , using the given IJvmFeatureDescriptionProvider . |
protected LazyJvmFeatureScope |
createFeatureScopeForTypeRef(IJvmFeatureScopeProvider.FeatureScopeDescription featureScopeDescription)
Deprecated.
Provides the feature scope for a given
JvmTypeReference , using the given IJvmFeatureDescriptionProvider . |
protected boolean |
isValidFeature(JvmFeature input)
Deprecated.
|
java.lang.Iterable<JvmTypeReference> |
linearizeTypeHierarchy(JvmTypeReference typeRef)
Deprecated.
|
void |
setSuperTypeCollector(SuperTypeCollector superTypeCollector)
Deprecated.
|
void |
setTypeArgumentContextProvider(TypeArgumentContextProvider typeArgumentContextProvider)
Deprecated.
|
public void setTypeArgumentContextProvider(TypeArgumentContextProvider typeArgumentContextProvider)
public void setSuperTypeCollector(SuperTypeCollector superTypeCollector)
public JvmFeatureScope createFeatureScope(IScope parent, java.util.List<IJvmFeatureScopeProvider.FeatureScopeDescription> featureScopeDescriptions)
IJvmFeatureScopeProvider
Provides the feature scope for a given JvmTypeReference
, using the given IJvmFeatureDescriptionProvider
.
It traverses the type hierarchy of the given JvmTypeReference
for each
IJvmFeatureDescriptionProvider
passed to this method subsequent in the order they are provided.
For a sugared scope, you'd typical pass in two IJvmFeatureDescriptionProvider
s the first one will create the primary features,
the second will create sugared elements.
JvmFeatureDescription
s marked as invalid JvmFeatureDescription.isValid()
, will be sorted last (even after sugar). This ensures that
it is shadowed by valid elements and can be filtered out if not needed.
createFeatureScope
in interface IJvmFeatureScopeProvider
featureScopeDescriptions
- the description of the feature scopes whose contents should be provided.protected LazyJvmFeatureScope createFeatureScopeForTypeRef(IJvmFeatureScopeProvider.FeatureScopeDescription featureScopeDescription)
Provides the feature scope for a given JvmTypeReference
, using the given IJvmFeatureDescriptionProvider
.
The default implementation traverses the type hierarchy of the given JvmTypeReference
and asks the
IJvmFeatureDescriptionProvider
to create any number of JvmFeatureDescription
for each JvmFeature
.
In a second traversal the XFeatureCallSugarDescriptionProvider
is asked to add additional sugar for each JvmFeatureDescription
which gets less
priority than all the descriptions from the first traversal (i.e. sugar is contained in parent scopes).
JvmFeatureDescription
s marked as invalid JvmFeatureDescription.isValid()
, will be sorted last (even after sugar). This ensures that
it is shadowed by valid elements and can be filtered out if not needed.
protected boolean isValidFeature(JvmFeature input)
public java.lang.Iterable<JvmTypeReference> linearizeTypeHierarchy(JvmTypeReference typeRef)