org.eclipse.xtext.common.types.util
Class FeatureOverridesService

java.lang.Object
  extended by org.eclipse.xtext.common.types.util.FeatureOverridesService

public class FeatureOverridesService
extends java.lang.Object

Author:
Sven Efftinge Initial contribution and API, Holger Schill

Constructor Summary
protected FeatureOverridesService()
           
  FeatureOverridesService(SuperTypeCollector superTypeCollector, TypeArgumentContextProvider contextProvider)
           
 
Method Summary
 java.lang.Iterable<JvmFeature> getAllJvmFeatures(JvmDeclaredType type, ITypeArgumentContext ctx)
           
 java.lang.Iterable<JvmFeature> getAllJvmFeatures(JvmTypeReference type)
           
protected  boolean hasSameTypeParameters(JvmOperation overriding, JvmOperation overridden, ITypeArgumentContext context)
           
protected  void indexFeatures(JvmDeclaredType type, com.google.common.collect.Multimap<Triple<org.eclipse.emf.ecore.EClass,java.lang.String,java.lang.Integer>,JvmFeature> index)
           
protected  boolean internalIsOverridden(JvmFeature overriding, JvmFeature overridden, ITypeArgumentContext context, boolean isCheckInheritance)
           
protected  boolean isInheritanceRelation(JvmMember overriding, JvmMember overridden)
           
protected  boolean isNameEqual(JvmFeature overriding, JvmFeature overridden)
           
 boolean isOverridden(JvmFeature overriding, JvmFeature overridden, ITypeArgumentContext context, boolean isCheckInheritance)
           
protected  boolean isSameArgumentTypes(JvmOperation overriding, JvmOperation overridden, ITypeArgumentContext context)
           
protected  boolean isSameConstraints(JvmConstraintOwner overridingConstraintOwner, JvmConstraintOwner overriddenConstraintOwner, ITypeArgumentContext context)
           
protected  boolean isSameConstraints(JvmConstraintOwner overridingConstraintOwner, JvmConstraintOwner overriddenConstraintOwner, ITypeArgumentContext context, org.eclipse.xtext.common.types.util.FeatureOverridesService.DeepChecker deepChecker)
           
protected  boolean isSameNumberOfArguments(JvmOperation overriding, JvmOperation overridden)
           
protected  java.lang.Iterable<JvmFeature> removeOverridden(com.google.common.collect.Multimap<Triple<org.eclipse.emf.ecore.EClass,java.lang.String,java.lang.Integer>,JvmFeature> featureIndex, ITypeArgumentContext ctx)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FeatureOverridesService

@Inject
protected FeatureOverridesService()

FeatureOverridesService

public FeatureOverridesService(SuperTypeCollector superTypeCollector,
                               TypeArgumentContextProvider contextProvider)
Method Detail

getAllJvmFeatures

public java.lang.Iterable<JvmFeature> getAllJvmFeatures(JvmTypeReference type)

getAllJvmFeatures

public java.lang.Iterable<JvmFeature> getAllJvmFeatures(JvmDeclaredType type,
                                                        ITypeArgumentContext ctx)

indexFeatures

protected void indexFeatures(JvmDeclaredType type,
                             com.google.common.collect.Multimap<Triple<org.eclipse.emf.ecore.EClass,java.lang.String,java.lang.Integer>,JvmFeature> index)

removeOverridden

protected java.lang.Iterable<JvmFeature> removeOverridden(com.google.common.collect.Multimap<Triple<org.eclipse.emf.ecore.EClass,java.lang.String,java.lang.Integer>,JvmFeature> featureIndex,
                                                          ITypeArgumentContext ctx)

internalIsOverridden

protected boolean internalIsOverridden(JvmFeature overriding,
                                       JvmFeature overridden,
                                       ITypeArgumentContext context,
                                       boolean isCheckInheritance)

isOverridden

public boolean isOverridden(JvmFeature overriding,
                            JvmFeature overridden,
                            ITypeArgumentContext context,
                            boolean isCheckInheritance)

isNameEqual

protected boolean isNameEqual(JvmFeature overriding,
                              JvmFeature overridden)

hasSameTypeParameters

protected boolean hasSameTypeParameters(JvmOperation overriding,
                                        JvmOperation overridden,
                                        ITypeArgumentContext context)

isSameNumberOfArguments

protected boolean isSameNumberOfArguments(JvmOperation overriding,
                                          JvmOperation overridden)

isSameArgumentTypes

protected boolean isSameArgumentTypes(JvmOperation overriding,
                                      JvmOperation overridden,
                                      ITypeArgumentContext context)

isSameConstraints

protected boolean isSameConstraints(JvmConstraintOwner overridingConstraintOwner,
                                    JvmConstraintOwner overriddenConstraintOwner,
                                    ITypeArgumentContext context)

isSameConstraints

protected boolean isSameConstraints(JvmConstraintOwner overridingConstraintOwner,
                                    JvmConstraintOwner overriddenConstraintOwner,
                                    ITypeArgumentContext context,
                                    org.eclipse.xtext.common.types.util.FeatureOverridesService.DeepChecker deepChecker)

isInheritanceRelation

protected boolean isInheritanceRelation(JvmMember overriding,
                                        JvmMember overridden)