b1b0a6ce14
During expression evaluation, we are collecting all variables in all scopes that contain the current breakpoint line, and adding them as available in current scope, which makes variables declared below the current breakpoint line declared but undefined in JavaScript. There is one exception to this seen so far - a variable declared on the current breakpoint line might appear as not declared in JavaScript and cause expression evaluation not to work due to JS compilation errors. This change fixes the issue by not collecting variables that are declared on or after the current breakpoint line, making them undeclared in dart (which also is correct according to dart scoping rules). Closes: https://github.com/flutter/flutter/issues/72094 Change-Id: I113b69531171e0348d44edb8db6dd08a599c9db3 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/177760 Commit-Queue: Anna Gringauze <annagrin@google.com> Reviewed-by: Mark Zhou <markzipan@google.com> Reviewed-by: Sigmund Cherem <sigmund@google.com>