add () when completing class name in more cases

This commit is contained in:
peter
2011-01-25 17:16:29 +01:00
parent 69b1a7ad4f
commit 56ca617adb
6 changed files with 28 additions and 4 deletions

View File

@@ -1001,11 +1001,11 @@ public class JavaCompletionUtil {
}
public static boolean hasAccessibleInnerClass(@NotNull PsiClass psiClass, @NotNull PsiElement position) {
final PsiClass[] inners = psiClass.getAllInnerClasses();
final PsiClass[] inners = psiClass.getInnerClasses();
if (inners.length > 0) {
PsiResolveHelper resolveHelper = JavaPsiFacade.getInstance(position.getProject()).getResolveHelper();
for (PsiClass inner : inners) {
if (resolveHelper.isAccessible(inner, position, null)) {
if (inner.hasModifierProperty(PsiModifier.STATIC) && resolveHelper.isAccessible(inner, position, null)) {
return true;
}
}

View File

@@ -10,7 +10,7 @@ class Xxx {
private Xxx(String x) {
}
class Yyy {
static class Yyy {
}
}

View File

@@ -10,7 +10,7 @@ class Xxx {
private Xxx(String x) {
}
class Yyy {
static class Yyy {
}
}

View File

@@ -0,0 +1,11 @@
class Foo {
{
Zzoo l = new Zz<caret>
}
}
class Zzoo {
void run();
class Impl implements Zzoo {}
}

View File

@@ -0,0 +1,11 @@
class Foo {
{
Zzoo l = new Zzoo()<caret>
}
}
class Zzoo {
void run();
class Impl implements Zzoo {}
}

View File

@@ -664,6 +664,8 @@ public class NormalCompletionTest extends LightFixtureCompletionTestCase {
public void testClassNameWithInner() throws Throwable { doTest() }
public void testClassNameWithInstanceInner() throws Throwable { doTest('\n') }
public void testDoubleFalse() throws Throwable {
configureByFile(getTestName(false) + ".java");
assertStringItems("false", "finalize");