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.Internal
IResolvedFeatures.Provider
NO_FEATURES
Modifier | Constructor and Description |
---|---|
protected |
RawResolvedFeatures(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,JvmFeature> |
computeAllFeatures() |
protected void |
computeAllFeatures(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,JvmFeature> result,
java.util.Set<java.lang.String> seenNames) |
protected void |
computeAllFeatures(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<JvmFeature> result) |
protected java.util.List<JvmFeature> |
computeAllFeatures(java.lang.String simpleName) |
java.util.List<JvmFeature> |
getAllFeatures()
Returns all reachable features.
|
java.util.List<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(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) |
createResolvedOperation, createResolvedOperation, getRawType, getType, isOverridden
protected RawResolvedFeatures(JvmDeclaredType type, CommonTypeComputationServices services)
protected RawResolvedFeatures(LightweightTypeReference type, OverrideTester overrideTester)
protected static void requestNotificationOnChange(JvmType type, java.lang.Runnable listener)
IMirrorExtension.isSealed()
public IResolvedFeatures getParameterizedView(LightweightTypeReference concrete)
IResolvedFeatures
IResolvedFeatures
.getParameterizedView
in interface IResolvedFeatures
public java.util.List<JvmFeature> getAllFeatures(java.lang.String simpleName)
IResolvedFeatures
simpleName
.
Bound type parameters are properly considered when the override semantics are applied for
these features.getAllFeatures
in interface IResolvedFeatures
public java.util.List<JvmFeature> getAllFeatures()
IResolvedFeatures
getAllFeatures
in interface IResolvedFeatures
protected java.util.List<JvmFeature> computeAllFeatures(java.lang.String simpleName)
protected com.google.common.collect.ListMultimap<java.lang.String,JvmFeature> computeAllFeatures()
protected void computeAllFeatures(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,JvmFeature> result, java.util.Set<java.lang.String> seenNames)
protected void computeAllFeatures(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<JvmFeature> result)
public void notifyChanged(org.eclipse.emf.common.notify.Notification notification)
notifyChanged
in interface org.eclipse.emf.common.notify.Adapter
public org.eclipse.emf.common.notify.Notifier getTarget()
getTarget
in interface org.eclipse.emf.common.notify.Adapter
public void setTarget(org.eclipse.emf.common.notify.Notifier newTarget)
setTarget
in interface org.eclipse.emf.common.notify.Adapter
public boolean isAdapterForType(java.lang.Object type)
isAdapterForType
in interface org.eclipse.emf.common.notify.Adapter