refix IDEA-55859 Invalid autocomplete suggestion on double Ctrl+Shift+Space

This commit is contained in:
peter
2012-04-16 17:38:12 +02:00
parent 3a1edc458c
commit 525ac868e0
2 changed files with 16 additions and 1 deletions

View File

@@ -96,6 +96,21 @@ public class ReferenceExpressionCompletionContributor {
));
}
final PsiForeachStatement foreach = PsiTreeUtil.getParentOfType(element, PsiForeachStatement.class);
if (foreach != null && !PsiTreeUtil.isAncestor(foreach.getBody(), element, false)) {
return new ElementExtractorFilter(new ElementFilter() {
@Override
public boolean isAcceptable(Object element, @Nullable PsiElement context) {
return element != foreach.getIterationParameter();
}
@Override
public boolean isClassAcceptable(Class hintClass) {
return true;
}
});
}
if (!allowRecursion) {
final ElementFilter filter = RecursionWeigher.recursionFilter(element);
if (filter != null) {

View File

@@ -949,7 +949,7 @@ public class SmartTypeCompletionTest extends LightFixtureCompletionTestCase {
public void testEmptyListWithCollectionsPrefix() throws Throwable { doItemTest(); }
public void _testForeachLoopVariableInIterableExpression() throws Throwable { doAntiTest(); }
public void testForeachLoopVariableInIterableExpression() throws Throwable { doAntiTest(); }
public void testStaticallyImportedMagicMethod() throws Throwable {
configureByTestName();