Minor, don't create unnecessary map in OverrideResolver

This commit is contained in:
Alexander Udalov
2014-05-22 16:34:57 +04:00
parent f3e8ba072d
commit 0bd482d271
@@ -482,16 +482,13 @@ public class OverrideResolver {
are overridden by some other function and corresponding directly overridden descriptor is not relevant.
*/
Map<CallableMemberDescriptor, Set<CallableMemberDescriptor>> relevantOverriddenByParent = Maps.newLinkedHashMap(overriddenByParent);
for (Map.Entry<CallableMemberDescriptor, Set<CallableMemberDescriptor>> entry : overriddenByParent.entrySet()) {
CallableMemberDescriptor directlyOverridden = entry.getKey();
Set<CallableMemberDescriptor> declarationSet = entry.getValue();
if (!isRelevant(declarationSet, relevantOverriddenByParent.values(), allFilteredOverriddenDeclarations)) {
relevantOverriddenByParent.remove(directlyOverridden);
for (Iterator<Map.Entry<CallableMemberDescriptor, Set<CallableMemberDescriptor>>> iterator =
overriddenByParent.entrySet().iterator(); iterator.hasNext(); ) {
if (!isRelevant(iterator.next().getValue(), overriddenByParent.values(), allFilteredOverriddenDeclarations)) {
iterator.remove();
}
}
return relevantOverriddenByParent.keySet();
return overriddenByParent.keySet();
}
private static boolean isRelevant(