From c31341e4701c3997a28c46295dff6344c378b8a8 Mon Sep 17 00:00:00 2001 From: Eugene Zhuravlev Date: Tue, 22 May 2012 13:00:02 +0200 Subject: [PATCH] avoid evaluations under readAction - this may lead to UI lock when the debuggee stops responding --- .../debugger/ui/impl/FrameVariablesTree.java | 12 +----------- 1 file changed, 1 insertion(+), 11 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 3df80be7866f..ba9a9ff48172 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 @@ -29,8 +29,6 @@ import com.intellij.debugger.engine.evaluation.EvaluateException; import com.intellij.debugger.engine.evaluation.EvaluationContextImpl; import com.intellij.debugger.engine.evaluation.TextWithImports; import com.intellij.debugger.engine.evaluation.TextWithImportsImpl; -import com.intellij.debugger.engine.evaluation.expression.EvaluatorBuilderImpl; -import com.intellij.debugger.engine.evaluation.expression.ExpressionEvaluator; import com.intellij.debugger.engine.events.DebuggerCommandImpl; import com.intellij.debugger.impl.DebuggerContextImpl; import com.intellij.debugger.impl.DebuggerSession; @@ -523,15 +521,7 @@ public class FrameVariablesTree extends DebuggerTree { boolean isConstant = (var instanceof PsiEnumConstant) || (modifierList != null && modifierList.hasModifierProperty(PsiModifier.STATIC) && modifierList.hasModifierProperty(PsiModifier.FINAL)); if (!isConstant) { - final TextWithImportsImpl textWithImports = new TextWithImportsImpl(reference); - try { - final ExpressionEvaluator evaluator = EvaluatorBuilderImpl.build(textWithImports, reference, myPosition); - evaluator.evaluate(myEvalContext); - //collect only expressions that do not produce any exceptions on evaluation - myExpressions.add(textWithImports); - } - catch (EvaluateException ignored) { - } + myExpressions.add(new TextWithImportsImpl(reference)); } } }