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

Constructor Summary
protected FeatureOverridesService()
           
  FeatureOverridesService(SuperTypeCollector superTypeCollector, TypeArgumentContextProvider contextProvider)
           
 
Method Summary
 java.lang.Iterable<JvmFeature> getAllJvmFeatures(JvmDeclaredType type, TypeArgumentContext ctx)
           
 java.lang.Iterable<JvmFeature> getAllJvmFeatures(JvmTypeReference type)
           
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, TypeArgumentContext context, boolean isCheckInheritance)
           
protected  boolean isInheritanceRelation(JvmMember overriding, JvmMember overridden)
           
protected  boolean isNameEqual(JvmFeature overriding, JvmFeature overridden)
           
 boolean isOverridden(JvmFeature overriding, JvmFeature overridden, TypeArgumentContext context, boolean isCheckInheritance)
           
protected  boolean isSameArgumentTypes(JvmOperation overriding, JvmOperation overridden, TypeArgumentContext context)
           
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, TypeArgumentContext 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,
                                                        TypeArgumentContext 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,
                                                          TypeArgumentContext ctx)

internalIsOverridden

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

isOverridden

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

isNameEqual

protected boolean isNameEqual(JvmFeature overriding,
                              JvmFeature overridden)

isSameNumberOfArguments

protected boolean isSameNumberOfArguments(JvmOperation overriding,
                                          JvmOperation overridden)

isSameArgumentTypes

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

isInheritanceRelation

protected boolean isInheritanceRelation(JvmMember overriding,
                                        JvmMember overridden)