dart-sdk/tests
Alexander Markov ff34fd8110 [vm/aot/tfa] Tree shake write-only fields
So far tree shaking was removing fields which are not used at all.
This change improves tree shaking of fields so fields
which are only written or used as interface targets can be removed.

The following limitations apply:

* Field is not removed if there is a constant object with that field, as
  it may impact identity of constant objects which is an observable
  behavior.
* Field is not removed if it has a non-trivial initializer as it may
  have side-effects.
* Late final fields are not removed, as writing such fields may have
  side-effect.
* When field is removed, we may need to introduce an abstract getter
  or abstract setter if field is used as a target of an interface call.
  If a field was written, then setter would be non-abstract (but empty).

Fixes https://github.com/dart-lang/sdk/issues/35310

Change-Id: I79c00158b8eb658081a647c5dbdecde481fddb41
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134204
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2020-02-06 19:31:32 +00:00
..
.dart_tool Create a package_config.json file for the SDK tests. 2020-02-06 19:27:12 +00:00
angular
co19 [co19] Handle builders using co19 with test selectors 2019-12-17 17:24:09 +00:00
co19_2 Update all Slow tests to be Slow, Pass. 2020-02-01 00:17:42 +00:00
compiler [dart2js] Remove typedefs from backend. 2020-02-05 01:09:47 +00:00
corelib Cleaning up corelib test migrations. 2020-02-03 19:06:17 +00:00
corelib_2 Update all Slow tests to be Slow, Pass. 2020-02-01 00:17:42 +00:00
dart
ffi [vm/ffi] Support Linux on Arm 32-bit (hardfp) 2020-02-05 14:22:59 +00:00
ffi_2 [vm/ffi] Support Linux on Arm 32-bit (hardfp) 2020-02-05 14:22:59 +00:00
kernel Remove the old "preview Dart 2" flags from the test runner. 2019-09-05 16:59:43 +00:00
language Tests for language operators and constructs with (non-)nullable operands. 2020-02-05 10:00:27 +00:00
language_2 [tests] Updating tests to not depend on type variable names being conserved. 2020-02-05 19:18:49 +00:00
lib Migrate lib_2/typed_data/typed_data_view_sublist_test.dart to NNBD. 2020-02-06 14:59:11 +00:00
lib_2 [vm/aot/tfa] Tree shake write-only fields 2020-02-06 19:31:32 +00:00
modular [dartdevc] Cleanup all temporary nnbd modular tests 2019-12-18 00:43:44 +00:00
search
standalone Update all Slow tests to be Slow, Pass. 2020-02-01 00:17:42 +00:00
standalone_2 Revert "[dart:io] Backport semantic changes from the dart:io NNBD migration." 2020-02-05 10:03:47 +00:00
legacy_status_dart2js.csv [infra] Remove non-essential test expectations with comments from general status files 2019-10-01 06:18:59 +00:00
light_unittest.dart
README.md Update tests/README to point to new doc. 2019-08-06 22:19:42 +00:00

This directory contains tests of the language and core library implementations. For more information, see https://github.com/dart-lang/sdk/wiki/Testing.