Class OverrideTester
- java.lang.Object
-
- org.eclipse.xtext.xbase.typesystem.override.OverrideTester
-
public class OverrideTester extends java.lang.ObjectUtility to compute information about the inheritance relationship of two operations.
-
-
Constructor Summary
Constructors Constructor Description OverrideTester()OverrideTester(IVisibilityHelper visibilityHelper)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddAdditionalDetails(AbstractResolvedOperation overriding, AbstractResolvedOperation overridden, java.util.EnumSet<IOverrideCheckResult.OverrideCheckDetails> result)protected voidaddExceptionDetails(AbstractResolvedOperation overriding, AbstractResolvedOperation overridden, java.util.EnumSet<IOverrideCheckResult.OverrideCheckDetails> result)protected voidaddReturnTypeDetails(AbstractResolvedOperation overriding, AbstractResolvedOperation overridden, java.util.EnumSet<IOverrideCheckResult.OverrideCheckDetails> result)protected java.util.EnumSet<IOverrideCheckResult.OverrideCheckDetails>getAllDetails(AbstractResolvedOperation overriding, org.eclipse.xtext.common.types.JvmOperation overridden, IOverrideCheckResult.OverrideCheckDetails primary)protected IOverrideCheckResult.OverrideCheckDetailsgetPrimaryValidDetail(IResolvedOperation overriding, org.eclipse.xtext.common.types.JvmOperation overridden)protected booleanisConflictingDefaultImplementation(AbstractResolvedOperation overriding, AbstractResolvedOperation overridden)protected booleanisMatchingParameterList(AbstractResolvedOperation overriding, AbstractResolvedOperation overridden)protected booleanisMatchingTypeParameters(AbstractResolvedOperation overriding, AbstractResolvedOperation overridden)protected booleanisMorePrivateThan(org.eclipse.xtext.common.types.JvmVisibility o1, org.eclipse.xtext.common.types.JvmVisibility o2)protected booleanisSameErasure(AbstractResolvedOperation overriding, AbstractResolvedOperation overridden)IOverrideCheckResultisSubsignature(AbstractResolvedOperation overriding, org.eclipse.xtext.common.types.JvmOperation overridden, boolean checkInheritance)Checks if the overriding method and the given overridden candidate have compatible subsignatures according to JLS 8.4.2.
-
-
-
Constructor Detail
-
OverrideTester
@Inject public OverrideTester(IVisibilityHelper visibilityHelper)
-
OverrideTester
public OverrideTester()
-
-
Method Detail
-
isSubsignature
public IOverrideCheckResult isSubsignature(AbstractResolvedOperation overriding, org.eclipse.xtext.common.types.JvmOperation overridden, boolean checkInheritance)
Checks if the overriding method and the given overridden candidate have compatible subsignatures according to JLS 8.4.2. Uses information about static-ness and visibility for early exits. The implemented algorithm pretty much mirrors the one from classorg.eclipse.jdt.internal.corext.util.MethodOverrideTester.- Parameters:
checkInheritance-trueif it is unknown whether the given operations are declared in a valid type hierarchy.
-
getAllDetails
protected java.util.EnumSet<IOverrideCheckResult.OverrideCheckDetails> getAllDetails(AbstractResolvedOperation overriding, org.eclipse.xtext.common.types.JvmOperation overridden, IOverrideCheckResult.OverrideCheckDetails primary)
-
isSameErasure
protected boolean isSameErasure(AbstractResolvedOperation overriding, AbstractResolvedOperation overridden)
-
addAdditionalDetails
protected void addAdditionalDetails(AbstractResolvedOperation overriding, AbstractResolvedOperation overridden, java.util.EnumSet<IOverrideCheckResult.OverrideCheckDetails> result)
-
addExceptionDetails
protected void addExceptionDetails(AbstractResolvedOperation overriding, AbstractResolvedOperation overridden, java.util.EnumSet<IOverrideCheckResult.OverrideCheckDetails> result)
-
addReturnTypeDetails
protected void addReturnTypeDetails(AbstractResolvedOperation overriding, AbstractResolvedOperation overridden, java.util.EnumSet<IOverrideCheckResult.OverrideCheckDetails> result)
-
isMorePrivateThan
protected boolean isMorePrivateThan(org.eclipse.xtext.common.types.JvmVisibility o1, org.eclipse.xtext.common.types.JvmVisibility o2)
-
isConflictingDefaultImplementation
protected boolean isConflictingDefaultImplementation(AbstractResolvedOperation overriding, AbstractResolvedOperation overridden)
-
isMatchingParameterList
protected boolean isMatchingParameterList(AbstractResolvedOperation overriding, AbstractResolvedOperation overridden)
-
isMatchingTypeParameters
protected boolean isMatchingTypeParameters(AbstractResolvedOperation overriding, AbstractResolvedOperation overridden)
-
getPrimaryValidDetail
protected IOverrideCheckResult.OverrideCheckDetails getPrimaryValidDetail(IResolvedOperation overriding, org.eclipse.xtext.common.types.JvmOperation overridden)
-
-