mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
EA-64158 - PIEAE: PsiUtilCore.ensureValid - better fix
This commit is contained in:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user