From 1ef83effc739c8e159da37d92da5828c07ca1815 Mon Sep 17 00:00:00 2001 From: "Egor.Ushakov" Date: Tue, 14 Jul 2015 17:47:49 +0300 Subject: [PATCH] do not show local variables before they are available --- .../debugger/ui/impl/FrameVariablesTree.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/impl/FrameVariablesTree.java b/java/debugger/impl/src/com/intellij/debugger/ui/impl/FrameVariablesTree.java index 5c41a8965b7e..a9c077080c08 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/impl/FrameVariablesTree.java +++ b/java/debugger/impl/src/com/intellij/debugger/ui/impl/FrameVariablesTree.java @@ -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)); + } } } }