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.

Change-Id: I03e33d98952dfcfe2e1bb840cf6a65cf50a738d1
Signed-off-by: Simeon Andreev <simeon.danailov.andreev@gmail.com>
12 files changed