push down: search for method in inheritor by super method signature (IDEA-86806)

This commit is contained in:
Anna Kozlova
2012-05-30 15:41:07 +04:00
parent 216f420f72
commit d836edf6c5
4 changed files with 32 additions and 1 deletions
@@ -0,0 +1,13 @@
abstract class BaseTask<T, S extends BaseTask<T, S>> {
public abstract S make<caret>Task(int depth, ParallelStream<T> coll);
}
class ForEachTask<T> extends BaseTask<T, ForEachTask<T>> {
public ForEachTask<T> makeTask(int depth, ParallelStream<T> coll) {
return new ForEachTask<T>();
}
}
class ParallelStream<T> {
}
@@ -0,0 +1,12 @@
abstract class BaseTask<T, S extends BaseTask<T, S>> {
}
class ForEachTask<T> extends BaseTask<T, ForEachTask<T>> {
public ForEachTask<T> makeTask(int depth, ParallelStream<T> coll) {
return new ForEachTask<T>();
}
}
class ParallelStream<T> {
}
@@ -115,6 +115,10 @@ public class PushDownTest extends LightRefactoringTestCase {
doTest();
}
public void testOverridingMethodWithSubst() throws Exception {
doTest();
}
public void testSameClassInterface() throws Exception {
final String filePath = "/refactoring/pushDown/" + getTestName(false) + ".java";
configureByFile(filePath);