IDEA-61225 flex: bogus parameter popup inside if() statement inside anonymous function

This commit is contained in:
Maxim.Mossienko
2011-03-17 21:18:09 +03:00
parent b7bd876c14
commit 3dcdd384bf
@@ -37,12 +37,17 @@ public class ParameterInfoUtils {
@Nullable
public static <T extends PsiElement> T findParentOfType (PsiFile file, int offset, Class<T> parentClass) {
return findParentOfTypeWithStopElements(file, offset, parentClass);
}
@Nullable
public static <T extends PsiElement> T findParentOfTypeWithStopElements (PsiFile file, int offset, Class<T> parentClass, @NotNull Class<? extends PsiElement>... stopAt) {
PsiElement element = file.findElementAt(offset);
if (element == null) return null;
T parentOfType = PsiTreeUtil.getParentOfType(element, parentClass);
T parentOfType = PsiTreeUtil.getParentOfType(element, parentClass, true, stopAt);
if (element instanceof PsiWhiteSpace) {
parentOfType = PsiTreeUtil.getParentOfType(PsiTreeUtil.prevLeaf(element), parentClass);
parentOfType = PsiTreeUtil.getParentOfType(PsiTreeUtil.prevLeaf(element), parentClass, true, stopAt);
}
return parentOfType;
}