From 714b565acddca219df5d258024e9e09d1bc4f583 Mon Sep 17 00:00:00 2001 From: Dmitry Boulytchev Date: Thu, 19 Jul 2012 22:48:57 +0400 Subject: [PATCH] Fixed test with method signature change (compile server). --- .../org/jetbrains/ether/MemberChangeTest.java | 7 +++---- .../ether/dependencyView/Mappings.java | 17 +++++++++++++++++ 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/jps/jps-builders/testSrc/org/jetbrains/ether/MemberChangeTest.java b/jps/jps-builders/testSrc/org/jetbrains/ether/MemberChangeTest.java index bc04e1d23adc..ba35b462301f 100644 --- a/jps/jps-builders/testSrc/org/jetbrains/ether/MemberChangeTest.java +++ b/jps/jps-builders/testSrc/org/jetbrains/ether/MemberChangeTest.java @@ -96,10 +96,9 @@ public class MemberChangeTest extends IncrementalTestCase { doTest(); } - // todo: fixme - //public void testChangeMethodGenericReturnType() throws Exception { - // doTest(); - //} + public void testChangeMethodGenericReturnType() throws Exception { + doTest(); + } public void testDeleteConstructor() throws Exception { doTest(); diff --git a/jps/model/src/org/jetbrains/ether/dependencyView/Mappings.java b/jps/model/src/org/jetbrains/ether/dependencyView/Mappings.java index 90743e543468..5418f347dfe5 100644 --- a/jps/model/src/org/jetbrains/ether/dependencyView/Mappings.java +++ b/jps/model/src/org/jetbrains/ether/dependencyView/Mappings.java @@ -1232,6 +1232,23 @@ public class Mappings { if (!affected) { debug("Return type, throws list or signature changed --- affecting method usages"); myUpdated.affectMethodUsages(m, propagated, m.createUsage(myContext, it.name), usages, state.myDependants); + + final List> overridingMethods = new LinkedList>(); + + myUpdated.addOverridingMethods(m, it, MethodRepr.equalByJavaRules(m), overridingMethods); + + for(final Pair p : overridingMethods) { + final ClassRepr aClass = p.getSecond(); + + if (aClass != MOCK_CLASS) { + final int fileName = myClassToSourceFile.get(aClass.name); + + if (fileName > 0) { + myAffectedFiles.add(new File(myContext.getValue(fileName))); + } + } + } + state.myAffectedUsages.addAll(usages); } }