do not show local variables before they are available

This commit is contained in:
Egor.Ushakov
2015-07-14 17:50:21 +03:00
parent 9e5788e470
commit 1ef83effc7
@@ -42,10 +42,7 @@ import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.fileEditor.FileDocumentManager;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.Computable;
import com.intellij.openapi.util.Pair;
import com.intellij.openapi.util.Ref;
import com.intellij.openapi.util.TextRange;
import com.intellij.openapi.util.*;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.*;
import com.intellij.psi.util.PsiTreeUtil;
@@ -625,8 +622,12 @@ public class FrameVariablesTree extends DebuggerTree {
if (myVisibleLocals.contains(var.getName())) {
myVars.add(var.getName());
}
else if (var instanceof PsiLocalVariable) {
myExpressions.add(new TextWithImportsImpl(reference));
else {
// fix for variables used in inner classes
if (!Comparing.equal(PsiTreeUtil.getParentOfType(reference, PsiClass.class),
PsiTreeUtil.getParentOfType(var, PsiClass.class))) {
myExpressions.add(new TextWithImportsImpl(reference));
}
}
}
}