try-catch filter fix + test

This commit is contained in:
Gregory.Shrago
2012-11-26 20:11:11 +04:00
parent 6eb70944ea
commit d686879b02
2 changed files with 11 additions and 3 deletions
@@ -84,9 +84,8 @@ public class ExceptionExFilterFactory implements ExceptionFilterFactory {
worker.execute(text, lineEndOffset);
Result result = worker.getResult();
if (result == null) continue;
int offset = result.hyperlinkInfo instanceof OpenFileHyperlinkInfo
? ((OpenFileHyperlinkInfo)result.hyperlinkInfo).getDescriptor().getOffset()
: -1;
OpenFileHyperlinkInfo hyperlinkInfo = ExceptionWorker.getOpenFileHyperlinkInfo(result);
int offset = hyperlinkInfo == null? -1 : hyperlinkInfo.getDescriptor().getOffset();
PsiFile psiFile = worker.getFile();
if (offset <= 0 || psiFile == null) continue;
PsiElement element = psiFile.findElementAt(offset);
@@ -199,6 +199,15 @@ public class ExceptionWorker {
return pos;
}
@Nullable
static OpenFileHyperlinkInfo getOpenFileHyperlinkInfo(Filter.Result result) {
if (result.hyperlinkInfo instanceof MyHyperlinkInfo) {
MyHyperlinkInfo info = (MyHyperlinkInfo)result.hyperlinkInfo;
return new OpenFileHyperlinkInfo(info.myProject, info.myVirtualFile, info.myLineNumber);
}
return null;
}
private static class MyHyperlinkInfo implements HyperlinkInfo {
private final VirtualFile myVirtualFile;
private final int myLineNumber;