From 553caedcd9f6a03209f4a41d8e8bc45bba6ad179 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Thu, 16 Jul 2015 16:03:55 +0300 Subject: [PATCH] show implementations: accept fields as class containers (IDEA-142678) --- .../java/ClassPresentationUtil.java | 3 +++ .../daemon/ImplementationsViewTest.java | 17 +++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/java/java-psi-impl/src/com/intellij/psi/presentation/java/ClassPresentationUtil.java b/java/java-psi-impl/src/com/intellij/psi/presentation/java/ClassPresentationUtil.java index 9dfae2dda9fb..0bfce2c77daa 100644 --- a/java/java-psi-impl/src/com/intellij/psi/presentation/java/ClassPresentationUtil.java +++ b/java/java-psi-impl/src/com/intellij/psi/presentation/java/ClassPresentationUtil.java @@ -57,6 +57,9 @@ public class ClassPresentationUtil { else if (element instanceof PsiFile){ return ((PsiFile)element).getName(); } + else if (element instanceof PsiField) { + return ((PsiField)element).getName(); + } else{ return null; } diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/ImplementationsViewTest.java b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/ImplementationsViewTest.java index dfa8f37af95c..6d68a5d54357 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/ImplementationsViewTest.java +++ b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/ImplementationsViewTest.java @@ -163,6 +163,23 @@ public class ImplementationsViewTest extends LightCodeInsightFixtureTestCase { assertContent(component, new String[]{"a.java (AFoo)", "a.java"}); } + public void testInterfaceConstants() { + myFixture.configureByText("a.java", "interface AFoo{\n" + + " AFoo IMPL = new AFoo(){};\n" + + " boolean aaa();\n" + + "}"); + PsiClass psiClass = + (PsiClass)TargetElementUtil.findTargetElement(myFixture.getEditor(), TargetElementUtil.getInstance().getAllAccepted()); + + assert psiClass != null; + final Collection classes = getClassImplementations(psiClass); + List all = new ArrayList(); + all.add(psiClass); + all.addAll(classes); + final ImplementationViewComponent component = new ImplementationViewComponent(all.toArray(new PsiElement[all.size()]), 0); + assertContent(component, new String[]{"a.java (AFoo)", "a.java (Anonymous in IMPL)"}); + } + public void testInterfaceMethodOfFunctionalInterface() { myFixture.configureByText("a.java", "interface AFoo{\n" + " boolean aaa();\n" +