From f7eddb75a89759750e2ed6d4f520dc1e52adc581 Mon Sep 17 00:00:00 2001 From: "Egor.Ushakov" Date: Thu, 19 Feb 2015 20:42:18 +0300 Subject: [PATCH] prevent IndexNotReadyException in quick evaluate --- .../engine/JavaDebuggerEvaluator.java | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/java/debugger/impl/src/com/intellij/debugger/engine/JavaDebuggerEvaluator.java b/java/debugger/impl/src/com/intellij/debugger/engine/JavaDebuggerEvaluator.java index f141ea18c630..695fc03b0379 100644 --- a/java/debugger/impl/src/com/intellij/debugger/engine/JavaDebuggerEvaluator.java +++ b/java/debugger/impl/src/com/intellij/debugger/engine/JavaDebuggerEvaluator.java @@ -26,6 +26,7 @@ import com.intellij.debugger.impl.EditorTextProvider; import com.intellij.debugger.ui.impl.watch.NodeManagerImpl; import com.intellij.debugger.ui.impl.watch.WatchItemDescriptor; import com.intellij.openapi.editor.Document; +import com.intellij.openapi.project.IndexNotReadyException; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Pair; import com.intellij.openapi.util.Ref; @@ -104,14 +105,16 @@ public class JavaDebuggerEvaluator extends XDebuggerEvaluator { PsiDocumentManager.getInstance(project).commitAndRunReadAction(new Runnable() { @Override public void run() { - PsiElement elementAtCursor = DebuggerUtilsEx.findElementAt(PsiDocumentManager.getInstance(project).getPsiFile(document), offset); - if (elementAtCursor == null) { - return; - } - Pair pair = findExpression(elementAtCursor, sideEffectsAllowed); - if (pair != null) { - currentRange.set(pair.getSecond()); - } + try { + PsiElement elementAtCursor = DebuggerUtilsEx.findElementAt(PsiDocumentManager.getInstance(project).getPsiFile(document), offset); + if (elementAtCursor == null) { + return; + } + Pair pair = findExpression(elementAtCursor, sideEffectsAllowed); + if (pair != null) { + currentRange.set(pair.getSecond()); + } + } catch (IndexNotReadyException ignored) {} } }); return currentRange.get();