mirror of
https://github.com/dart-lang/sdk
synced 2024-09-06 00:59:09 +00:00
472c898c87
Dart for-in loops allow `var x = [1]; for (var x in x) {}`, which is not allowed in JS. If this pattern is detected, a temporary variable is introduced so the for-in initializer expression is evaluated outside of the JS for-of loop. (This issue seems to be unique to for-in loops. For loops and other kinds of variable declarations of the form `var x = ...` are not allowed to use `x` in the initializer, even if `x` is declared in an outer scope.) Also fixes an out-of-date comment in the DDC+Analyzer backend. Change-Id: I35b272a5a311f7b6f104cc82a99cc83a6ed5c247 Reviewed-on: https://dart-review.googlesource.com/c/79142 Commit-Queue: Alan Knight <alanknight@google.com> Auto-Submit: Jenny Messerly <jmesserly@google.com> Reviewed-by: Alan Knight <alanknight@google.com> |
||
---|---|---|
.. | ||
analysis_server | ||
analysis_server_client | ||
analyzer | ||
analyzer_cli | ||
analyzer_fe_comparison | ||
analyzer_plugin | ||
async_helper | ||
build_integration | ||
compiler | ||
dart2js_tools | ||
dart_internal | ||
dev_compiler | ||
diagnostic | ||
expect | ||
front_end | ||
js | ||
js_ast | ||
kernel | ||
meta | ||
microlytics | ||
smith | ||
sourcemap_testing | ||
status_file | ||
telemetry | ||
testing | ||
vm | ||
.gitignore | ||
BUILD.gn | ||
pkg.status |