dart-sdk/tests
Johnni Winther 1da590fc3f Fix type promotion of late final fields on DDC and dart2wasm.
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>
2023-09-08 14:02:00 +00:00
..
co19 [co19] Roll co19 to 910330408dd6af6b8f58c5d26464dbe0ce76e476 2023-08-25 08:55:34 +00:00
co19_2
corelib [vm, compiler] Avoid extra branch on ARM to handle double comparisons with NaN. 2023-08-28 20:16:57 +00:00
corelib_2 [dart2js] Add Dart web speciailized expectation helpers. 2023-08-11 20:59:30 +00:00
dartdevc [ddc] Seal the native Object prototype in test infra 2023-08-10 19:45:59 +00:00
dartdevc_2 [ddc] Seal the native Object prototype in test infra 2023-08-10 19:45:59 +00:00
ffi [test] Mark RISC-V pass-struct-by-value tests to avoid flaky status changes. 2023-09-08 01:17:30 +00:00
ffi_2 [infra] Make the sanitizer a first-class status variable. 2023-07-10 17:46:31 +00:00
language Fix type promotion of late final fields on DDC and dart2wasm. 2023-09-08 14:02:00 +00:00
language_2 [analyzer] Report more specific diagnostic codes instead of INVALID_CONSTANT. 2023-08-29 22:36:02 +00:00
lib [dart:js_interop] Add toJSProxyOrRef 2023-09-07 22:58:22 +00:00
lib_2 Reland "[ddc] Don't emit type args on interop invocations" 2023-09-07 00:54:57 +00:00
modular
standalone [vm, io] Skip global destructors when using dart:io's exit. 2023-08-22 16:24:40 +00:00
standalone_2 [test] Remove some stale status entries. 2023-08-18 20:56:03 +00:00
web [dart2wasm] Support initial value and literals for Wasm object arrays 2023-09-07 05:29:30 +00:00
web_2 [js_runtime] NullError always reports as a failed null check 2023-09-01 00:05:09 +00:00
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.