From 04f6faf09624d5b84c719364a05a700272d40a6b Mon Sep 17 00:00:00 2001 From: Dmitry Batkovich Date: Fri, 28 Oct 2016 08:48:26 +0300 Subject: [PATCH] javac ast indices: more tests --- .../testMethodUsageInClassHierarchy/Bar.java | 7 +++++++ .../testMethodUsageInClassHierarchy/Foo.java | 10 ++++++++++ .../testMethodUsageInClassHierarchy2/Bar.java | 7 +++++++ .../testMethodUsageInClassHierarchy2/Foo.java | 6 ++++++ .../CompilerReferencesFindUsagesTest.java | 16 ++++++++++++++++ 5 files changed, 46 insertions(+) create mode 100644 java/java-tests/testData/compiler/compilerReferenceFindUsages/testMethodUsageInClassHierarchy/Bar.java create mode 100644 java/java-tests/testData/compiler/compilerReferenceFindUsages/testMethodUsageInClassHierarchy/Foo.java create mode 100644 java/java-tests/testData/compiler/compilerReferenceFindUsages/testMethodUsageInClassHierarchy2/Bar.java create mode 100644 java/java-tests/testData/compiler/compilerReferenceFindUsages/testMethodUsageInClassHierarchy2/Foo.java diff --git a/java/java-tests/testData/compiler/compilerReferenceFindUsages/testMethodUsageInClassHierarchy/Bar.java b/java/java-tests/testData/compiler/compilerReferenceFindUsages/testMethodUsageInClassHierarchy/Bar.java new file mode 100644 index 000000000000..54a888592307 --- /dev/null +++ b/java/java-tests/testData/compiler/compilerReferenceFindUsages/testMethodUsageInClassHierarchy/Bar.java @@ -0,0 +1,7 @@ +class Bar { + + void m() { + new FooImpl().someMethod(); + } + +} \ No newline at end of file diff --git a/java/java-tests/testData/compiler/compilerReferenceFindUsages/testMethodUsageInClassHierarchy/Foo.java b/java/java-tests/testData/compiler/compilerReferenceFindUsages/testMethodUsageInClassHierarchy/Foo.java new file mode 100644 index 000000000000..058f2ce0239f --- /dev/null +++ b/java/java-tests/testData/compiler/compilerReferenceFindUsages/testMethodUsageInClassHierarchy/Foo.java @@ -0,0 +1,10 @@ +interface Foo { + void someMethod(); +} + +class FooImpl implements Foo { + @Override + public void someMethod() { + + } +} \ No newline at end of file diff --git a/java/java-tests/testData/compiler/compilerReferenceFindUsages/testMethodUsageInClassHierarchy2/Bar.java b/java/java-tests/testData/compiler/compilerReferenceFindUsages/testMethodUsageInClassHierarchy2/Bar.java new file mode 100644 index 000000000000..55f87d7c04e5 --- /dev/null +++ b/java/java-tests/testData/compiler/compilerReferenceFindUsages/testMethodUsageInClassHierarchy2/Bar.java @@ -0,0 +1,7 @@ +class Bar { + + void m() { + new Foo().run(); + } + +} \ No newline at end of file diff --git a/java/java-tests/testData/compiler/compilerReferenceFindUsages/testMethodUsageInClassHierarchy2/Foo.java b/java/java-tests/testData/compiler/compilerReferenceFindUsages/testMethodUsageInClassHierarchy2/Foo.java new file mode 100644 index 000000000000..6375bbdbf198 --- /dev/null +++ b/java/java-tests/testData/compiler/compilerReferenceFindUsages/testMethodUsageInClassHierarchy2/Foo.java @@ -0,0 +1,6 @@ +interface Foo implements Runnable { + @Override + public void run() { + + } +} \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/compiler/CompilerReferencesFindUsagesTest.java b/java/java-tests/testSrc/com/intellij/compiler/CompilerReferencesFindUsagesTest.java index ca7a37ffd20a..8977e1f40ca3 100644 --- a/java/java-tests/testSrc/com/intellij/compiler/CompilerReferencesFindUsagesTest.java +++ b/java/java-tests/testSrc/com/intellij/compiler/CompilerReferencesFindUsagesTest.java @@ -55,6 +55,22 @@ public class CompilerReferencesFindUsagesTest extends DaemonAnalyzerTestCase { return JavaTestUtil.getJavaTestDataPath() + "/compiler/compilerReferenceFindUsages/"; } + public void testMethodUsageInClassHierarchy() throws Exception { + configureByFiles(getName(), getName() + "/Bar.java", getName() + "/Foo.java"); + PsiMethod methodToSearch = findClass("Foo").findMethodsByName("someMethod", false)[0]; + assertOneElement(MethodReferencesSearch.search(methodToSearch).findAll()); + myCompilerTester.rebuild(); + assertOneElement(MethodReferencesSearch.search(methodToSearch).findAll()); + } + + public void testMethodUsageInClassHierarchy2() throws Exception { + configureByFiles(getName(), getName() + "/Bar.java", getName() + "/Foo.java"); + PsiMethod methodToSearch = myJavaFacade.findClass(CommonClassNames.JAVA_LANG_RUNNABLE).findMethodsByName("run", false)[0]; + assertOneElement(MethodReferencesSearch.search(methodToSearch).findAll()); + myCompilerTester.rebuild(); + assertOneElement(MethodReferencesSearch.search(methodToSearch).findAll()); + } + public void testLibMethodUsage() throws Exception { configureByFile(getName() + "/Foo.java"); myCompilerTester.rebuild();