Index: src/org/eclipse/jdt/core/tests/model/JavaSearchBugsTests.java =================================================================== RCS file: /home/eclipse/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/JavaSearchBugsTests.java,v retrieving revision 1.46 diff -u -r1.46 JavaSearchBugsTests.java --- src/org/eclipse/jdt/core/tests/model/JavaSearchBugsTests.java 8 Jun 2005 16:53:11 -0000 1.46 +++ src/org/eclipse/jdt/core/tests/model/JavaSearchBugsTests.java 13 Jun 2005 12:33:40 -0000 @@ -44,7 +44,7 @@ // org.eclipse.jdt.internal.core.search.BasicSearchEngine.VERBOSE = true; // org.eclipse.jdt.internal.codeassist.SelectionEngine.DEBUG = true; // TESTS_PREFIX = "testBug75816"; -// TESTS_NAMES = new String[] { "testBug82208_SearchAllTypeNames_CLASS" }; +// TESTS_NAMES = new String[] { "testBug97614" }; // TESTS_NUMBERS = new int[] { 96761, 96763 }; // TESTS_RANGE = new int[] { 83304, -1 }; } @@ -3556,4 +3556,48 @@ deleteFolder(pathRef); } } + + /** + * Bug 97614: [1.5][search] Refactoring: renaming of field of a (complex) parametrized type does not replace all occurrences + * @see "https://bugs.eclipse.org/bugs/show_bug.cgi?id=97614" + */ + public void testBug97614() throws CoreException { + workingCopies = new ICompilationUnit[3]; + workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/b97614/W.java", + "package b97614;\n" + + "public class W {\n" + + " private final Map, ? >> m1 = null; // (a)\n" + + " public void getStore(final Object o) {\n" + + " m1.get(o); // (b)\n" + + " }\n" + + "}\n" + + "interface Map {\n" + + " V get(Object k);\n" + + "}" + ); + workingCopies[1] = getWorkingCopy("/JavaSearchBugs/src/b97614/X.java", + "package b97614;\n" + + "import java.io.Serializable;\n" + + "public interface X, \n" + + " U extends X.XX, \n" + + " V extends X.XY> {\n" + + " public interface XX, \n" + + " UU extends X.XY> \n" + + " extends Serializable {\n" + + " }\n" + + " public interface XY extends Serializable {\n" + + " }\n" + + "}" + ); + workingCopies[2] = getWorkingCopy("/JavaSearchBugs/src/b97614/Y.java", + "package b97614;\n" + + "public class Y, U extends X.XX, V extends X.XY> {\n" + + "}\n" + ); + IField field = workingCopies[0].getType("W").getField("m1"); + search(field, REFERENCES); + assertSearchResults( + "src/b97614/W.java void b97614.W.getStore(Object) [m1] EXACT_MATCH" + ); + } }