mirror of
https://github.com/dart-lang/sdk
synced 2024-11-05 18:22:09 +00:00
1da590fc3f
When the CFE compiles code for DDC or dart2wasm, it lowers late final fields to synthetic getters. In order to ensure that accesses to these fields can still be type promoted, a flag is added to the kernel `Procedure` class, to indicate that a getter was produced by lowering a late final field. When deciding whether a property access is promotable, the CFE checks this flag; if it's set, it treats the getter like a field. Includes a language test validating the fix. Fixes https://github.com/dart-lang/sdk/issues/53462. TEST=tests/language/inference_update_2/late_field_test.dart Change-Id: I98b81f04a3342d851060e5b2a7265323b93bb4e3 Bug: https://github.com/dart-lang/sdk/issues/53462 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/324767 Reviewed-by: Slava Egorov <vegorov@google.com> Commit-Queue: Johnni Winther <johnniwinther@google.com> Reviewed-by: Paul Berry <paulberry@google.com> Commit-Queue: Paul Berry <paulberry@google.com> Reviewed-by: Johnni Winther <johnniwinther@google.com> |
||
---|---|---|
.. | ||
co19 | ||
co19_2 | ||
corelib | ||
corelib_2 | ||
dartdevc | ||
dartdevc_2 | ||
ffi | ||
ffi_2 | ||
language | ||
language_2 | ||
lib | ||
lib_2 | ||
modular | ||
standalone | ||
standalone_2 | ||
web | ||
web_2 | ||
legacy_status_dart2js.csv | ||
OWNERS | ||
README.md |
This directory contains tests of the language and core library implementations. For more information, see https://github.com/dart-lang/sdk/wiki/Testing.