mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-09 08:09:39 +07:00
don't suggest top-level packages in expression code fragments, they get in the way
This commit is contained in:
@@ -366,7 +366,9 @@ public class PsiReferenceExpressionImpl extends ExpressionPsiElement implements
|
||||
public void processVariants(PsiScopeProcessor processor) {
|
||||
OrFilter filter = new OrFilter();
|
||||
filter.addFilter(ElementClassFilter.CLASS);
|
||||
filter.addFilter(ElementClassFilter.PACKAGE_FILTER);
|
||||
if (isQualified()) {
|
||||
filter.addFilter(ElementClassFilter.PACKAGE_FILTER);
|
||||
}
|
||||
filter.addFilter(new AndFilter(ElementClassFilter.METHOD, new NotFilter(new ConstructorFilter())));
|
||||
filter.addFilter(ElementClassFilter.VARIABLE);
|
||||
|
||||
|
||||
@@ -33,6 +33,23 @@ public class NormalCompletionTest extends LightFixtureCompletionTestCase {
|
||||
assertEmpty(myItems);
|
||||
}
|
||||
|
||||
public void testNoPackagesInExpressionCodeFragment() throws Throwable {
|
||||
final String text = "jav<caret>";
|
||||
PsiFile file = getJavaFacade().getElementFactory().createExpressionCodeFragment(text, null, null, true);
|
||||
myFixture.configureFromExistingVirtualFile(file.getVirtualFile());
|
||||
complete();
|
||||
myFixture.checkResult(text);
|
||||
assertEmpty(myItems);
|
||||
}
|
||||
|
||||
public void testSubPackagesInExpressionCodeFragment() throws Throwable {
|
||||
PsiFile file = getJavaFacade().getElementFactory().createExpressionCodeFragment("java.la<caret>", null, null, true);
|
||||
myFixture.configureFromExistingVirtualFile(file.getVirtualFile());
|
||||
complete();
|
||||
myFixture.checkResult("java.lang.<caret>");
|
||||
assertNull(myItems);
|
||||
}
|
||||
|
||||
private JavaPsiFacade getJavaFacade() {
|
||||
return JavaPsiFacade.getInstance(getProject());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user