Class RawResolvedFeatures
- java.lang.Object
-
- org.eclipse.xtext.xbase.typesystem.override.AbstractResolvedFeatures
-
- org.eclipse.xtext.xbase.typesystem.override.RawResolvedFeatures
-
- All Implemented Interfaces:
org.eclipse.emf.common.notify.Adapter,IResolvedFeatures
public class RawResolvedFeatures extends AbstractResolvedFeatures implements org.eclipse.emf.common.notify.Adapter, IResolvedFeatures
TheRawResolvedFeaturesallow to obtain the actual API of aJvmType. This means, it properly applies shadowing semantics and override resolution, especially if type parameters and type arguments are present. Concrete instances ofRawResolvedFeaturesare obtained viagetResolvedFeatures(JvmDeclaredType, CommonTypeComputationServices)and are cached perJvmType. They will invalidate themselves on change. Instances of this class are not expected to be used concurrently.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.eclipse.emf.common.notify.Adapter
org.eclipse.emf.common.notify.Adapter.Internal
-
Nested classes/interfaces inherited from interface org.eclipse.xtext.xbase.typesystem.override.IResolvedFeatures
IResolvedFeatures.Provider
-
-
Field Summary
-
Fields inherited from interface org.eclipse.xtext.xbase.typesystem.override.IResolvedFeatures
NO_FEATURES
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedRawResolvedFeatures(org.eclipse.xtext.common.types.JvmDeclaredType type, CommonTypeComputationServices services)protectedRawResolvedFeatures(LightweightTypeReference type, OverrideTester overrideTester)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected com.google.common.collect.ListMultimap<java.lang.String,org.eclipse.xtext.common.types.JvmFeature>computeAllFeatures()protected java.util.List<org.eclipse.xtext.common.types.JvmFeature>computeAllFeatures(java.lang.String simpleName)protected voidcomputeAllFeatures(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 voidcomputeAllFeatures(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)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 givensimpleName.IResolvedFeaturesgetParameterizedView(LightweightTypeReference concrete)Applies concretely bound type arguments to this instance ofIResolvedFeatures.org.eclipse.emf.common.notify.NotifiergetTarget()booleanisAdapterForType(java.lang.Object type)voidnotifyChanged(org.eclipse.emf.common.notify.Notification notification)protected static voidrequestNotificationOnChange(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.voidsetTarget(org.eclipse.emf.common.notify.Notifier newTarget)-
Methods inherited from class org.eclipse.xtext.xbase.typesystem.override.AbstractResolvedFeatures
createConflictingOperation, createResolvedOperation, createResolvedOperation, getRawType, getType, isOverridden
-
-
-
-
Constructor Detail
-
RawResolvedFeatures
protected RawResolvedFeatures(org.eclipse.xtext.common.types.JvmDeclaredType type, CommonTypeComputationServices services)
-
RawResolvedFeatures
protected RawResolvedFeatures(LightweightTypeReference type, OverrideTester overrideTester)
-
-
Method Detail
-
requestNotificationOnChange
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.- See Also:
IMirrorExtension.isSealed()
-
getParameterizedView
public IResolvedFeatures getParameterizedView(LightweightTypeReference concrete)
Description copied from interface:IResolvedFeaturesApplies concretely bound type arguments to this instance ofIResolvedFeatures.- Specified by:
getParameterizedViewin interfaceIResolvedFeatures
-
getAllFeatures
public java.util.List<org.eclipse.xtext.common.types.JvmFeature> getAllFeatures(java.lang.String simpleName)
Description copied from interface:IResolvedFeaturesReturns all reachable features with the givensimpleName. Bound type parameters are properly considered when the override semantics are applied for these features.- Specified by:
getAllFeaturesin interfaceIResolvedFeatures
-
getAllFeatures
public java.util.List<org.eclipse.xtext.common.types.JvmFeature> getAllFeatures()
Description copied from interface:IResolvedFeaturesReturns all reachable features. Bound type parameters are properly considered when the override semantics are applied for these features.- Specified by:
getAllFeaturesin interfaceIResolvedFeatures
-
computeAllFeatures
protected java.util.List<org.eclipse.xtext.common.types.JvmFeature> computeAllFeatures(java.lang.String simpleName)
-
computeAllFeatures
protected com.google.common.collect.ListMultimap<java.lang.String,org.eclipse.xtext.common.types.JvmFeature> computeAllFeatures()
-
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)
-
computeAllFeatures
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)
-
notifyChanged
public void notifyChanged(org.eclipse.emf.common.notify.Notification notification)
- Specified by:
notifyChangedin interfaceorg.eclipse.emf.common.notify.Adapter
-
getTarget
public org.eclipse.emf.common.notify.Notifier getTarget()
- Specified by:
getTargetin interfaceorg.eclipse.emf.common.notify.Adapter
-
setTarget
public void setTarget(org.eclipse.emf.common.notify.Notifier newTarget)
- Specified by:
setTargetin interfaceorg.eclipse.emf.common.notify.Adapter
-
isAdapterForType
public boolean isAdapterForType(java.lang.Object type)
- Specified by:
isAdapterForTypein interfaceorg.eclipse.emf.common.notify.Adapter
-
-