mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
try-catch filter fix + test
This commit is contained in:
+2
-3
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user