Community
Participate
Working Groups
Build Identifier: 20110916-0149 The method equals(EObject,EObject) of org.eclipse.emf.ecore.util.EcoreUtil#EqualityHelper never removes entries from the map that stores all equal objects. This means that when this method returns false because the call to !haveEqualFeature(eObject1, eObject2, feature) (line 2272 in v 1.75 2011/05/12 15:08:56) returns false the next invocation with the same arguments will return true! This can be fixed by simply adding a call to remove before the corresponding return false statement (in line 2274). Reproducible: Always Steps to Reproduce: 1. Find two EObjects for which the call to equals(EObject,EObject) fails at the stated point (and not earlier).
The fix has been committed to git for 2.8.
Should be in the build we didn't yesterday.
The changes are available in the M6 build.