From 2604b2eb59a4188db11cf41dc7cb3850c10d5b04 Mon Sep 17 00:00:00 2001 From: peter Date: Wed, 2 Feb 2011 15:37:19 +0100 Subject: [PATCH] fix completing static inner class name extending its enclosing class --- .../codeInsight/completion/JavaCompletionUtil.java | 2 +- .../completion/normal/StaticInnerExtendingOuter.java | 7 +++++++ .../completion/normal/StaticInnerExtendingOuter_after.java | 7 +++++++ .../codeInsight/completion/NormalCompletionTest.groovy | 2 ++ 4 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 java/java-tests/testData/codeInsight/completion/normal/StaticInnerExtendingOuter.java create mode 100644 java/java-tests/testData/codeInsight/completion/normal/StaticInnerExtendingOuter_after.java diff --git a/java/java-impl/src/com/intellij/codeInsight/completion/JavaCompletionUtil.java b/java/java-impl/src/com/intellij/codeInsight/completion/JavaCompletionUtil.java index 338d1e57d1c3..878cbe3e3501 100644 --- a/java/java-impl/src/com/intellij/codeInsight/completion/JavaCompletionUtil.java +++ b/java/java-impl/src/com/intellij/codeInsight/completion/JavaCompletionUtil.java @@ -1023,7 +1023,7 @@ public class JavaCompletionUtil { } public static boolean isSourceLevelAccessible(PsiElement context, PsiClass psiClass, final boolean pkgContext) { - if (!JavaPsiFacade.getInstance(psiClass.getProject()).getResolveHelper().isAccessible(psiClass, context, psiClass)) { + if (!JavaPsiFacade.getInstance(psiClass.getProject()).getResolveHelper().isAccessible(psiClass, context, null)) { return false; } diff --git a/java/java-tests/testData/codeInsight/completion/normal/StaticInnerExtendingOuter.java b/java/java-tests/testData/codeInsight/completion/normal/StaticInnerExtendingOuter.java new file mode 100644 index 000000000000..70a7a09b504f --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/normal/StaticInnerExtendingOuter.java @@ -0,0 +1,7 @@ +class Bar { + private static class Zooooooo extends Bar { + { + Zoooo + } + } +} diff --git a/java/java-tests/testData/codeInsight/completion/normal/StaticInnerExtendingOuter_after.java b/java/java-tests/testData/codeInsight/completion/normal/StaticInnerExtendingOuter_after.java new file mode 100644 index 000000000000..60572473e3f4 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/normal/StaticInnerExtendingOuter_after.java @@ -0,0 +1,7 @@ +class Bar { + private static class Zooooooo extends Bar { + { + Zooooooo + } + } +} diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/completion/NormalCompletionTest.groovy b/java/java-tests/testSrc/com/intellij/codeInsight/completion/NormalCompletionTest.groovy index 246d8de10efa..f50cbfb891f7 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/completion/NormalCompletionTest.groovy +++ b/java/java-tests/testSrc/com/intellij/codeInsight/completion/NormalCompletionTest.groovy @@ -888,6 +888,8 @@ public class NormalCompletionTest extends LightFixtureCompletionTestCase { public void testNoDotOverwrite() throws Exception { doTest('.') } + public void testStaticInnerExtendingOuter() throws Exception { doTest() } + public void testNoMethodsInParameterType() { configure() assertOrderedEquals myFixture.lookupElementStrings, "final", "float"