From afd5bc65f8a3504a916e3d5df51722aecba7fe39 Mon Sep 17 00:00:00 2001 From: "Gregory.Shrago" Date: Fri, 3 Feb 2012 15:30:32 +0300 Subject: [PATCH] filter out anonymous classes --- .../execution/filters/ExceptionExFilterFactory.java | 9 +++------ .../src/com/intellij/execution/impl/ConsoleViewImpl.java | 4 ++-- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/java/execution/openapi/src/com/intellij/execution/filters/ExceptionExFilterFactory.java b/java/execution/openapi/src/com/intellij/execution/filters/ExceptionExFilterFactory.java index a50894a51b8a..82b5964ff0d0 100644 --- a/java/execution/openapi/src/com/intellij/execution/filters/ExceptionExFilterFactory.java +++ b/java/execution/openapi/src/com/intellij/execution/filters/ExceptionExFilterFactory.java @@ -22,10 +22,7 @@ import com.intellij.openapi.editor.markup.EffectType; import com.intellij.openapi.editor.markup.TextAttributes; import com.intellij.openapi.util.TextRange; import com.intellij.openapi.util.Trinity; -import com.intellij.psi.PsiCodeBlock; -import com.intellij.psi.PsiElement; -import com.intellij.psi.PsiFile; -import com.intellij.psi.PsiTryStatement; +import com.intellij.psi.*; import com.intellij.psi.search.GlobalSearchScope; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.util.Consumer; @@ -81,8 +78,8 @@ public class ExceptionExFilterFactory implements ExceptionFilterFactory { PsiFile psiFile = worker.getFile(); if (offset <= 0 || psiFile == null) continue; PsiElement element = psiFile.findElementAt(offset); - PsiTryStatement tryStatement = PsiTreeUtil.getParentOfType(element, PsiTryStatement.class); - PsiCodeBlock tryBlock = tryStatement == null ? null : tryStatement.getTryBlock(); + PsiElement parent = PsiTreeUtil.getParentOfType(element, PsiTryStatement.class, PsiAnonymousClass.class); + PsiCodeBlock tryBlock = parent instanceof PsiTryStatement ? ((PsiTryStatement)parent).getTryBlock() : null; if (tryBlock == null || !tryBlock.getTextRange().contains(offset)) continue; } finally { diff --git a/platform/lang-impl/src/com/intellij/execution/impl/ConsoleViewImpl.java b/platform/lang-impl/src/com/intellij/execution/impl/ConsoleViewImpl.java index ae481741180c..39e3f980d4df 100644 --- a/platform/lang-impl/src/com/intellij/execution/impl/ConsoleViewImpl.java +++ b/platform/lang-impl/src/com/intellij/execution/impl/ConsoleViewImpl.java @@ -115,7 +115,6 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo private final Alarm mySpareTimeAlarm = new Alarm(Alarm.ThreadToUse.SWING_THREAD, this); @Nullable private final Alarm myHeavyAlarm; - @Nullable private int myHeavyUpdateTicket; private final CopyOnWriteArraySet myListeners = new CopyOnWriteArraySet(); @@ -838,7 +837,7 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo private void runHeavyFilters(int line1, int endLine) { final int startLine = Math.max(0, line1); - final Document document = getEditor().getDocument(); + final Document document = myEditor.getDocument(); final Document documentCopy = new DocumentImpl(true); final int startOffset = document.getLineStartOffset(startLine); documentCopy.setText(new String(document.getText(new TextRange(startOffset, document.getLineEndOffset(endLine))))); @@ -846,6 +845,7 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo myJLayeredPane.startUpdating(); final int currentValue = myHeavyUpdateTicket; + assert myHeavyAlarm != null; myHeavyAlarm.addRequest(new Runnable() { @Override public void run() {