Community
Participate
Working Groups
It is possible to place a break-point in a lambda expression block like the "s1" lambda in the following example. But unfortunately it is not possible to place a breakpoint in a lambdas block if that lambda is nested in the other lambda like the "s2" or "s3" expressions below Supplier<String> s1= () -> { return ""; }; Supplier<Supplier<String>> s2= () -> () -> { return ""; }; Supplier<Supplier<Supplier<String>>> s3= () -> () -> () -> { return ""; }; When I try to place a break-points in the line of the return statements of s2 or s3 the break-point is added to the method below instead. When both lambdas are converted to anonymous classes placing a break-point at the nested return works, but only if both Suppliers are classes, if only the inner one is a class creation it still does not work. My Eclipse version is 2022-03 M3 (4.23.0 M3), Build id: 20220224-1226 and I did not encounter this behaviour before so it could be a regression. I hope I have assigned the right Bugzilla Components.
Yes, this is a regression from Bug 486264. Thanks for testing and reporting. Just as a workaround, till we fix this bug, you can add a Lambda entry breakpoint at s2 or s3 from Context menu of Ruler or Run Menu option.
New Gerrit change created: https://git.eclipse.org/r/c/jdt/eclipse.jdt.debug/+/191250
Thank you for taking care of this.
Gerrit change https://git.eclipse.org/r/c/jdt/eclipse.jdt.debug/+/191250 was merged to [master]. Commit: http://git.eclipse.org/c/jdt/eclipse.jdt.debug.git/commit/?id=3cbf71c91c16c91cba9f8887b52208c2ad39e9a7
Build id: I20220301-0600