diff --git a/java/java-tests/testSrc/com/intellij/java/execution/filters/ExceptionWorkerTest.java b/java/java-tests/testSrc/com/intellij/java/execution/filters/ExceptionWorkerTest.java index 0e296591cb06..e3f99f12315b 100644 --- a/java/java-tests/testSrc/com/intellij/java/execution/filters/ExceptionWorkerTest.java +++ b/java/java-tests/testSrc/com/intellij/java/execution/filters/ExceptionWorkerTest.java @@ -207,7 +207,9 @@ public class ExceptionWorkerTest extends LightCodeInsightFixtureTestCase { "}"; List> traceAndPositions = Arrays.asList( Trinity.create("Exception in thread \"main\" java.lang.ArrayStoreException: java.lang.Integer\n", null, null), - Trinity.create("\tat SomeClass.main(SomeClass.java:5)\n", 5, 12)); + Trinity.create("\tat SomeClass.main(SomeClass.java:5)\n", 5, 12), + Trinity.create("\tat SomeClass.unknown(SomeClass.java:0)\n", 5, 12), // do not navigate: keep previous position + Trinity.create("\tat SomeClass.unknown(SomeClass.java:1)\n", 1, 1)); checkColumnFinder(classText, traceAndPositions); } diff --git a/java/openapi/src/com/intellij/execution/filters/ExceptionWorker.java b/java/openapi/src/com/intellij/execution/filters/ExceptionWorker.java index e88dafcf9235..4ca84041dc75 100644 --- a/java/openapi/src/com/intellij/execution/filters/ExceptionWorker.java +++ b/java/openapi/src/com/intellij/execution/filters/ExceptionWorker.java @@ -128,7 +128,7 @@ public class ExceptionWorker { virtualFiles = virtualFilesInContent; } ToIntFunction columnFinder = - elementMatcher == null || myInfo.lineNumber < 0 ? null : new ExceptionColumnFinder(elementMatcher, myInfo.lineNumber - 1); + elementMatcher == null || myInfo.lineNumber <= 0 ? null : new ExceptionColumnFinder(elementMatcher, myInfo.lineNumber - 1); HyperlinkInfo linkInfo = HyperlinkInfoFactory.getInstance().createMultipleFilesHyperlinkInfo(virtualFiles, myInfo.lineNumber - 1, myProject, columnFinder); Filter.Result result = new Filter.Result(highlightStartOffset, highlightEndOffset, linkInfo, attributes);