hide iterate intention for non expression statements (IDEA-83625)

This commit is contained in:
anna
2012-03-28 16:37:48 +02:00
parent 525863ef9a
commit b68e03ec53
2 changed files with 9 additions and 1 deletions
@@ -112,7 +112,9 @@ public class IterateOverIterableIntention implements IntentionAction {
element = ((PsiExpressionStatement)element).getExpression().getLastChild();
}
while ((element = PsiTreeUtil.getParentOfType(element, PsiExpression.class, true)) != null) {
if (element.getParent() instanceof PsiMethodCallExpression) continue;
final PsiElement parent = element.getParent();
if (parent instanceof PsiMethodCallExpression) continue;
if (!(parent instanceof PsiExpressionStatement)) return null;
final PsiType type = ((PsiExpression)element).getType();
if (type instanceof PsiArrayType || InheritanceUtil.isInheritor(type, CommonClassNames.JAVA_LANG_ITERABLE)) return (PsiExpression)element;
}