From 131a553a357560eb5068d8aec08f82c509f7959e Mon Sep 17 00:00:00 2001 From: "Egor.Ushakov" Date: Thu, 31 Aug 2017 19:35:02 +0300 Subject: [PATCH] IDEA-178332 "Smart step into" does not work for methods inside lambdas - no sources fix --- .../debugger/engine/AnonymousClassMethodFilter.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/java/debugger/impl/src/com/intellij/debugger/engine/AnonymousClassMethodFilter.java b/java/debugger/impl/src/com/intellij/debugger/engine/AnonymousClassMethodFilter.java index aca3ff02d620..ca6e85bda20e 100644 --- a/java/debugger/impl/src/com/intellij/debugger/engine/AnonymousClassMethodFilter.java +++ b/java/debugger/impl/src/com/intellij/debugger/engine/AnonymousClassMethodFilter.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2013 JetBrains s.r.o. + * Copyright 2000-2017 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,6 +17,7 @@ package com.intellij.debugger.engine; import com.intellij.debugger.SourcePosition; import com.intellij.psi.PsiCodeBlock; +import com.intellij.psi.PsiElement; import com.intellij.psi.PsiMethod; import com.intellij.psi.PsiStatement; import com.intellij.util.Range; @@ -35,6 +36,10 @@ public class AnonymousClassMethodFilter extends BasicStepMethodFilter implements super(psiMethod, lines); SourcePosition firstStatementPosition = null; SourcePosition lastStatementPosition = null; + PsiElement navigationElement = psiMethod.getNavigationElement(); + if (navigationElement instanceof PsiMethod) { + psiMethod = (PsiMethod)navigationElement; + } final PsiCodeBlock body = psiMethod.getBody(); if (body != null) { final PsiStatement[] statements = body.getStatements();