EA-64158 - PIEAE: PsiUtilCore.ensureValid - better fix

This commit is contained in:
Egor.Ushakov
2015-10-26 20:24:17 +03:00
parent 7d959d9d36
commit 9baaff616c
@@ -447,7 +447,7 @@ public class JavaStackFrame extends XStackFrame {
@Override
public void visitMethodCallExpression(final PsiMethodCallExpression expression) {
if (myCollectExpressions && expression.isValid()) {
if (myCollectExpressions) {
final PsiMethod psiMethod = expression.resolveMethod();
if (psiMethod != null && !DebuggerUtils.hasSideEffectsOrReferencesMissingVars(expression, myVisibleLocals)) {
myExpressions.add(new TextWithImportsImpl(expression));
@@ -458,7 +458,7 @@ public class JavaStackFrame extends XStackFrame {
@Override
public void visitReferenceExpression(final PsiReferenceExpression reference) {
if (myLineRange.intersects(reference.getTextRange()) && reference.isValid()) {
if (myLineRange.intersects(reference.getTextRange())) {
final PsiElement psiElement = reference.resolve();
if (psiElement instanceof PsiVariable) {
final PsiVariable var = (PsiVariable)psiElement;
@@ -554,8 +554,6 @@ public class JavaStackFrame extends XStackFrame {
for (PsiElement _elem = elem; _elem.getTextOffset() >= _start; _elem = _elem.getParent()) {
alreadyChecked = _elem.getTextRange();
if (!_elem.isValid()) continue;
if (_elem instanceof PsiDeclarationStatement) {
final PsiElement[] declared = ((PsiDeclarationStatement)_elem).getDeclaredElements();
for (PsiElement declaredElement : declared) {
@@ -582,7 +580,7 @@ public class JavaStackFrame extends XStackFrame {
return Pair.create(Collections.<String>emptySet(), Collections.<TextWithImports>emptySet());
}
final PsiFile positionFile = position.getFile();
if (!positionFile.getLanguage().isKindOf(JavaLanguage.INSTANCE)) {
if (!positionFile.isValid() || !positionFile.getLanguage().isKindOf(JavaLanguage.INSTANCE)) {
return Pair.create(visibleVars, Collections.<TextWithImports>emptySet());
}
@@ -611,7 +609,7 @@ public class JavaStackFrame extends XStackFrame {
if (!lineRange.isEmpty()) {
final int offset = CharArrayUtil.shiftForward(doc.getCharsSequence(), doc.getLineStartOffset(line), " \t");
PsiElement element = positionFile.findElementAt(offset);
if (element != null && element.isValid()) {
if (element != null) {
PsiMethod method = PsiTreeUtil.getNonStrictParentOfType(element, PsiMethod.class);
if (method != null) {
element = method;
@@ -630,7 +628,7 @@ public class JavaStackFrame extends XStackFrame {
}
//noinspection unchecked
if (element instanceof PsiCompiledElement || !element.isValid()) {
if (element instanceof PsiCompiledElement) {
return Pair.create(visibleVars, Collections.<TextWithImports>emptySet());
}
else {