public class RawResolvedFeatures extends AbstractResolvedFeatures implements org.eclipse.emf.common.notify.Adapter, IResolvedFeatures
RawResolvedFeatures allow to obtain the actual API of a JvmType.
This means, it properly applies shadowing semantics and override resolution, especially
if type parameters and type arguments are present.
Concrete instances of RawResolvedFeatures are obtained via
getResolvedFeatures(JvmDeclaredType, CommonTypeComputationServices)
and are cached per JvmType. They will invalidate themselves on change.
Instances of this class are not expected to be used concurrently.org.eclipse.emf.common.notify.Adapter.InternalIResolvedFeatures.ProviderNO_FEATURES| Modifier | Constructor and Description |
|---|---|
protected |
RawResolvedFeatures(org.eclipse.xtext.common.types.JvmDeclaredType type,
CommonTypeComputationServices services) |
protected |
RawResolvedFeatures(LightweightTypeReference type,
OverrideTester overrideTester) |
| Modifier and Type | Method and Description |
|---|---|
protected com.google.common.collect.ListMultimap<java.lang.String,org.eclipse.xtext.common.types.JvmFeature> |
computeAllFeatures() |
protected void |
computeAllFeatures(org.eclipse.xtext.common.types.JvmDeclaredType type,
com.google.common.collect.Multimap<java.lang.String,AbstractResolvedOperation> processedOperations,
java.util.Set<java.lang.String> processedFields,
com.google.common.collect.ListMultimap<java.lang.String,org.eclipse.xtext.common.types.JvmFeature> result,
java.util.Set<java.lang.String> seenNames) |
protected void |
computeAllFeatures(org.eclipse.xtext.common.types.JvmDeclaredType type,
java.lang.String name,
com.google.common.collect.Multimap<java.lang.String,AbstractResolvedOperation> processedOperations,
java.util.Set<java.lang.String> processedFields,
java.util.List<org.eclipse.xtext.common.types.JvmFeature> result) |
protected java.util.List<org.eclipse.xtext.common.types.JvmFeature> |
computeAllFeatures(java.lang.String simpleName) |
java.util.List<org.eclipse.xtext.common.types.JvmFeature> |
getAllFeatures()
Returns all reachable features.
|
java.util.List<org.eclipse.xtext.common.types.JvmFeature> |
getAllFeatures(java.lang.String simpleName)
Returns all reachable features with the given
simpleName. |
IResolvedFeatures |
getParameterizedView(LightweightTypeReference concrete)
Applies concretely bound type arguments to this instance of
IResolvedFeatures. |
org.eclipse.emf.common.notify.Notifier |
getTarget() |
boolean |
isAdapterForType(java.lang.Object type) |
void |
notifyChanged(org.eclipse.emf.common.notify.Notification notification) |
protected static void |
requestNotificationOnChange(org.eclipse.xtext.common.types.JvmType type,
java.lang.Runnable listener)
Registers the given listener to be notified on type changes, if (and only if) the type
if expected to be changeable.
|
void |
setTarget(org.eclipse.emf.common.notify.Notifier newTarget) |
createConflictingOperation, createResolvedOperation, createResolvedOperation, getRawType, getType, isOverriddenprotected RawResolvedFeatures(org.eclipse.xtext.common.types.JvmDeclaredType type,
CommonTypeComputationServices services)
protected RawResolvedFeatures(LightweightTypeReference type, OverrideTester overrideTester)
protected static void requestNotificationOnChange(org.eclipse.xtext.common.types.JvmType type,
java.lang.Runnable listener)
IMirrorExtension.isSealed()public IResolvedFeatures getParameterizedView(LightweightTypeReference concrete)
IResolvedFeaturesIResolvedFeatures.getParameterizedView in interface IResolvedFeaturespublic java.util.List<org.eclipse.xtext.common.types.JvmFeature> getAllFeatures(java.lang.String simpleName)
IResolvedFeaturessimpleName.
Bound type parameters are properly considered when the override semantics are applied for
these features.getAllFeatures in interface IResolvedFeaturespublic java.util.List<org.eclipse.xtext.common.types.JvmFeature> getAllFeatures()
IResolvedFeaturesgetAllFeatures in interface IResolvedFeaturesprotected java.util.List<org.eclipse.xtext.common.types.JvmFeature> computeAllFeatures(java.lang.String simpleName)
protected com.google.common.collect.ListMultimap<java.lang.String,org.eclipse.xtext.common.types.JvmFeature> computeAllFeatures()
protected void computeAllFeatures(org.eclipse.xtext.common.types.JvmDeclaredType type,
com.google.common.collect.Multimap<java.lang.String,AbstractResolvedOperation> processedOperations,
java.util.Set<java.lang.String> processedFields,
com.google.common.collect.ListMultimap<java.lang.String,org.eclipse.xtext.common.types.JvmFeature> result,
java.util.Set<java.lang.String> seenNames)
protected void computeAllFeatures(org.eclipse.xtext.common.types.JvmDeclaredType type,
java.lang.String name,
com.google.common.collect.Multimap<java.lang.String,AbstractResolvedOperation> processedOperations,
java.util.Set<java.lang.String> processedFields,
java.util.List<org.eclipse.xtext.common.types.JvmFeature> result)
public void notifyChanged(org.eclipse.emf.common.notify.Notification notification)
notifyChanged in interface org.eclipse.emf.common.notify.Adapterpublic org.eclipse.emf.common.notify.Notifier getTarget()
getTarget in interface org.eclipse.emf.common.notify.Adapterpublic void setTarget(org.eclipse.emf.common.notify.Notifier newTarget)
setTarget in interface org.eclipse.emf.common.notify.Adapterpublic boolean isAdapterForType(java.lang.Object type)
isAdapterForType in interface org.eclipse.emf.common.notify.Adapter