Lines 14-19
Link Here
|
14 |
import org.eclipse.jdt.core.*; |
14 |
import org.eclipse.jdt.core.*; |
15 |
import org.eclipse.jdt.core.compiler.IProblem; |
15 |
import org.eclipse.jdt.core.compiler.IProblem; |
16 |
import org.eclipse.jdt.core.dom.*; |
16 |
import org.eclipse.jdt.core.dom.*; |
|
|
17 |
import org.eclipse.jdt.core.search.IJavaSearchConstants; |
18 |
import org.eclipse.jdt.core.search.IJavaSearchScope; |
19 |
import org.eclipse.jdt.core.search.SearchEngine; |
20 |
import org.eclipse.jdt.core.tests.model.AbstractJavaSearchTests; |
17 |
|
21 |
|
18 |
import junit.framework.Test; |
22 |
import junit.framework.Test; |
19 |
|
23 |
|
Lines 103-108
Link Here
|
103 |
" }/*end*/\n" + |
107 |
" }/*end*/\n" + |
104 |
" }\n" + |
108 |
" }\n" + |
105 |
"}", |
109 |
"}", |
|
|
110 |
"p/ABC.java", |
111 |
"package p;\n" + |
112 |
"public class ABC {\n" + |
113 |
"}", |
106 |
"Z.java", |
114 |
"Z.java", |
107 |
"public class Z {\n" + |
115 |
"public class Z {\n" + |
108 |
" /*start*/class Member {\n" + |
116 |
" /*start*/class Member {\n" + |
Lines 289-294
Link Here
|
289 |
assertTrue("Element should exist", element.exists()); |
297 |
assertTrue("Element should exist", element.exists()); |
290 |
} |
298 |
} |
291 |
|
299 |
|
|
|
300 |
public void testBinaryType2() throws CoreException { |
301 |
IClassFile classFile = getClassFile("P", "lib.jar", "p", "ABC.class"); // class with no references |
302 |
|
303 |
// ensure classfile is open |
304 |
classFile.open(null); |
305 |
|
306 |
//search for references to p.W after adding references in exactly 1 file |
307 |
try { |
308 |
createFile( |
309 |
"/P/src/Test.java", |
310 |
"import p.ABC;\n" + |
311 |
"public class Test extends ABC {\n" + |
312 |
"}" |
313 |
); |
314 |
IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] {getPackageFragmentRoot("/P/src")}); |
315 |
search(classFile.getType(), IJavaSearchConstants.REFERENCES, scope, new AbstractJavaSearchTests.JavaSearchResultCollector()); |
316 |
} finally { |
317 |
deleteFile("/P/src/Test.java"); |
318 |
} |
319 |
|
320 |
String source = classFile.getSource(); |
321 |
MarkerInfo markerInfo = new MarkerInfo(source); |
322 |
markerInfo.astStarts = new int[] {source.indexOf("public")}; |
323 |
markerInfo.astEnds = new int[] {source.lastIndexOf('}') + 1}; |
324 |
ASTNode node = buildAST(markerInfo, classFile); |
325 |
IBinding binding = ((TypeDeclaration) node).resolveBinding(); |
326 |
assertNotNull("No binding", binding); |
327 |
IJavaElement element = binding.getJavaElement(); |
328 |
assertElementEquals( |
329 |
"Unexpected Java element", |
330 |
"ABC [in ABC.class [in p [in lib.jar [in P]]]]", |
331 |
element |
332 |
); |
333 |
assertTrue("Element should exist", element.exists()); |
334 |
} |
335 |
|
292 |
/* |
336 |
/* |
293 |
* Ensures that the IJavaElement for a binary member type coming from an anoumous class file is correct. |
337 |
* Ensures that the IJavaElement for a binary member type coming from an anoumous class file is correct. |
294 |
* (regression test for bug 100636 [model] Can't find overriden methods of protected nonstatic inner class.) |
338 |
* (regression test for bug 100636 [model] Can't find overriden methods of protected nonstatic inner class.) |