From f1829b072548ce7a02852a130c5fd9dc1b9e4beb Mon Sep 17 00:00:00 2001 From: "Egor.Ushakov" Date: Mon, 8 Jun 2015 17:13:32 +0300 Subject: [PATCH] IDEA-141145 Smart step-into doesn't work for multiline statement --- .../intellij/debugger/actions/JavaSmartStepIntoHandler.java | 4 +++- .../impl/src/com/intellij/debugger/engine/RequestHint.java | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/java/debugger/impl/src/com/intellij/debugger/actions/JavaSmartStepIntoHandler.java b/java/debugger/impl/src/com/intellij/debugger/actions/JavaSmartStepIntoHandler.java index c702f7a7cb78..c8ba3fa8bd2f 100644 --- a/java/debugger/impl/src/com/intellij/debugger/actions/JavaSmartStepIntoHandler.java +++ b/java/debugger/impl/src/com/intellij/debugger/actions/JavaSmartStepIntoHandler.java @@ -119,7 +119,9 @@ public class JavaSmartStepIntoHandler extends JvmSmartStepIntoHandler { @Override public void visitStatement(PsiStatement statement) { - if (lineRange.intersects(statement.getTextRange())) { + TextRange range = statement.getTextRange(); + if (lineRange.intersects(range)) { + textRange.set(textRange.get().union(range)); super.visitStatement(statement); } } diff --git a/java/debugger/impl/src/com/intellij/debugger/engine/RequestHint.java b/java/debugger/impl/src/com/intellij/debugger/engine/RequestHint.java index 9cc66a60b93b..735f941aaa6b 100644 --- a/java/debugger/impl/src/com/intellij/debugger/engine/RequestHint.java +++ b/java/debugger/impl/src/com/intellij/debugger/engine/RequestHint.java @@ -161,7 +161,7 @@ public class RequestHint { } else { Range exprLines = myMethodFilter.getCallingExpressionLines(); - return exprLines != null && locationPosition.getLine() >= exprLines.getFrom() && locationPosition.getLine() <= exprLines.getTo(); + return exprLines != null && exprLines.isWithin(locationPosition.getLine()); } }