diff --git a/java/debugger/impl/src/com/intellij/debugger/engine/LambdaMethodFilter.java b/java/debugger/impl/src/com/intellij/debugger/engine/LambdaMethodFilter.java index b1aade45d096..c51326bd5a19 100644 --- a/java/debugger/impl/src/com/intellij/debugger/engine/LambdaMethodFilter.java +++ b/java/debugger/impl/src/com/intellij/debugger/engine/LambdaMethodFilter.java @@ -31,7 +31,7 @@ import org.jetbrains.annotations.Nullable; * Date: 10/26/13 */ public class LambdaMethodFilter implements BreakpointStepMethodFilter{ - private static final String LAMBDA_METHOD_PREFIX = "lambda$"; + public static final String LAMBDA_METHOD_PREFIX = "lambda$"; private final int myLambdaOrdinal; @Nullable private final SourcePosition myFirstStatementPosition; 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 06aac8843e49..7a184270988d 100644 --- a/java/debugger/impl/src/com/intellij/debugger/engine/RequestHint.java +++ b/java/debugger/impl/src/com/intellij/debugger/engine/RequestHint.java @@ -188,7 +188,10 @@ public class RequestHint { final Method method = location.method(); if (method != null) { if (myVirtualMachineProxy.canGetSyntheticAttribute()? method.isSynthetic() : method.name().indexOf('$') >= 0) { - return myDepth; + // step into lambda methods + if (!method.name().startsWith(LambdaMethodFilter.LAMBDA_METHOD_PREFIX)) { + return myDepth; + } } } }