- Use strong-mode types for more precise tree shaking.
- Bail out nicely if dart:mirrors is used.
- Run the tree shaker in the VM target.
The initial tree-shaking pass could be combined with the type checking
pass (inserting implicit down casts) but for now they remain separate.
R=kmillikin@google.com
Review-Url: https://codereview.chromium.org/2627723003 .
This ensures the runtime type is of the tear-off expression's static
type, even when accessed through a superclass.
I also moved the two tests into a subdirectory so they are easier to
find. (It is inscrutable to me why we would have a single directory
with 1,868 test files in it.) That involved enabling recursive
directory listing in codegen_test, which exposed a couple of things.
Fix#27484.
R=leafp@google.com
Review-Url: https://codereview.chromium.org/2641543003 .
If a seemingly non-async test returns a Future, wait on it. I noticed this on an earlier CL today related to the await_in_cascade_test - the test was broken, but we were falsely passing.
This still doesn't handle false negatives (e.g., tests that are expected to fail). That's why many of these are marked skip_fail. If the exception happens after main returns, we currently don't see it.
R=jmesserly@google.com
Review-Url: https://codereview.chromium.org/2629023002 .
The test passes a generic function value of type <T>(T,T)=>T as argument
to a parameter that expects (int,int)=>int.
DDC implicitly instantiates the function, but this is not seen as the
correct behavior by the language team, so we will not try to reproduce
it.
BUG=
R=floitsch@google.com
Review-Url: https://codereview.chromium.org/2610923008 .
This adds status files for skipping tests that are not yet strong, and
a status file with the tests that fail with the dartk-vm configuration.
To test:
tools/test.py -cdartk --strong {language,lib,corelib}_strong
BUG=
R=kmillikin@google.com
Review-Url: https://codereview.chromium.org/2583453002 .
DDC's codegen test copies those files to a local "gen" directory so
that it can do stuff like splitting out the multitests before it
compiles them to JS.
I left all of that alone, so the rest of DDC's test infrastructure is
unchanged. The very first step that builds the "gen" directory just
copies from sdk/tests/..._strong/... instead and the rest is good to go.
I did not move not_yet_strong_tests.dart somewhere more accessible yet
because I'm not sure if kernel needs it or where it should go.
I did not create any status files because DDC doesn't need them and
there are no test suites for the new directories for the other
platforms.