Bug 404097 - Fixed some cases of breakpoint condition in lambda
This change fixes some cases of referring to an outer-scope variable in
a breakpoint condition within a lambda. Currently this leads to an error
dialog, indicating that the outer-scope varaible cannot be resolved.
With the fix, ASTEvaluationEngine will check whether the current frame
is a lambda frame. If so, it will also consider variables from two
frames above the current stack frame. This fixes the standard use case
of defining a lambda within a method and referring to local variables in
that method. More complex structures, such an anonymous class which
defines a lambda, are not addressed.
This change also adds test cases for the bug. The cases which fail are
disabled until a fix for the respective case is available.
Signed-off-by: Simeon Andreev <email@example.com>
12 files changed