diff --git a/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerUtilsEx.java b/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerUtilsEx.java index bbe997e591db..abf191b72a59 100644 --- a/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerUtilsEx.java +++ b/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerUtilsEx.java @@ -860,10 +860,21 @@ public abstract class DebuggerUtilsEx extends DebuggerUtils { @Nullable @Override public TextRange getHighlightRange() { - return SourcePositionHighlighter.getHighlightRangeFor(mySourcePosition); + return intersectWithLine(SourcePositionHighlighter.getHighlightRangeFor(mySourcePosition), mySourcePosition.getFile(), getLine()); } } + @Nullable + public static TextRange intersectWithLine(@Nullable TextRange range, @Nullable PsiFile file, int line) { + if (range != null && file != null) { + Document document = PsiDocumentManager.getInstance(file.getProject()).getDocument(file); + if (document != null) { + range = range.intersection(DocumentUtil.getLineTextRange(document, line)); + } + } + return range; + } + @Nullable public static PsiFile getPsiFile(@Nullable XSourcePosition position, Project project) { ApplicationManager.getApplication().assertReadAccessAllowed(); diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/JavaLineBreakpointType.java b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/JavaLineBreakpointType.java index 2895510c97e2..3d4410dd11d9 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/JavaLineBreakpointType.java +++ b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/JavaLineBreakpointType.java @@ -190,7 +190,10 @@ public class JavaLineBreakpointType extends JavaLineBreakpointTypeBase