filter out anonymous classes

This commit is contained in:
Gregory.Shrago
2012-02-03 15:33:03 +03:00
parent 1c1d258ebc
commit afd5bc65f8
2 changed files with 5 additions and 8 deletions
@@ -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 {
@@ -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<ChangeListener> myListeners = new CopyOnWriteArraySet<ChangeListener>();
@@ -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() {