diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/JavaResolveUtil.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/JavaResolveUtil.java index a56df64c8367..df49e326cf5e 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/JavaResolveUtil.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/JavaResolveUtil.java @@ -179,15 +179,16 @@ public class JavaResolveUtil { final ResolveState state, final PsiElement place, PsiManager manager) { + PsiPackage defaultPackage = JavaPsiFacade.getInstance(manager.getProject()).findPackage(""); + if (defaultPackage != null) { + if (!defaultPackage.processDeclarations(processor, state, null, place)) return false; + } + PsiPackage langPackage = JavaPsiFacade.getInstance(manager.getProject()).findPackage(CommonClassNames.DEFAULT_PACKAGE); if (langPackage != null) { if (!langPackage.processDeclarations(processor, state, null, place)) return false; } - PsiPackage defaultPackage = JavaPsiFacade.getInstance(manager.getProject()).findPackage(""); - if (defaultPackage != null) { - if (!defaultPackage.processDeclarations(processor, state, null, place)) return false; - } return true; } } \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/normal/AnonymousProcess.java b/java/java-tests/testData/codeInsight/completion/normal/AnonymousProcess.java new file mode 100644 index 000000000000..9b5aa6caeb5d --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/normal/AnonymousProcess.java @@ -0,0 +1,8 @@ +import java.util.*; + +public class Runner { + public static void main(String[] args) { + List src; + List dest = ListUtils.filter(src, new ); + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/normal/AnonymousProcess_after.java b/java/java-tests/testData/codeInsight/completion/normal/AnonymousProcess_after.java new file mode 100644 index 000000000000..b532bc1ff2cc --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/normal/AnonymousProcess_after.java @@ -0,0 +1,13 @@ +import java.util.*; + +public class Runner { + public static void main(String[] args) { + List src; + List dest = ListUtils.filter(src, new Pred() { + @Override + public boolean predicate(Process elem) { + return false; //To change body of implemented methods use File | Settings | File Templates. + } + }); + } +} \ No newline at end of file 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 d05310987c1a..a0aaf0d54b9a 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/completion/NormalCompletionTest.groovy +++ b/java/java-tests/testSrc/com/intellij/codeInsight/completion/NormalCompletionTest.groovy @@ -478,6 +478,21 @@ public class NormalCompletionTest extends LightFixtureCompletionTestCase { checkResult() } + public void testAnonymousProcess() { + myFixture.addClass 'package java.lang; public class Process {}' + myFixture.addClass ''' +import java.util.*; +public class Process {} +interface Pred { boolean predicate(A elem); } +public class ListUtils { + public static List filter(List list, Pred pred) {} +} +''' + configure() + type '\n' + checkResult() + } + public void testNoThisInComment() throws Throwable { doAntiTest() } public void testLastExpressionInFor() throws Throwable { doTest(); }