Commit Graph

13 Commits

Author SHA1 Message Date
Jacob Richman a6a206062d Custom formatter cleanup Fix case where displaying a class constructor generated unreadable huge output. Fix case where exceptions were throw. Correct display of statics, fix indentation bugs. Add improved custom formatter test to main repro. As a drive by fix, switch hashCode to use a symbol instead of the name $identityHash as $identityHash was making custom formatter test output unstable.
BUG=
R=vsm@google.com

Review-Url: https://codereview.chromium.org/2703263002 .
2017-02-28 17:47:53 -08:00
Leaf Petersen a3b4366f11 Infer Null for return type of functions with empty returns.
This allows inference to infer Null as the return type of functions
which have no return statements, or which return with no value.

Also allows inference to propagate Null.

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

BUG=
R=brianwilkerson@google.com, jmesserly@google.com

Review-Url: https://codereview.chromium.org/2667343005 .
2017-02-06 12:24:39 -08:00
Jacob Richman f6151f902e Fix dynamic calls on JS interop classes.
BUG=

Review-Url: https://codereview.chromium.org/2668543002 .
2017-01-30 14:19:07 -08:00
Jacob Richman c3870fc93f Fix mocking native classes and add a regression test.
BUG=
R=vsm@google.com

Review-Url: https://codereview.chromium.org/2656363003 .
2017-01-27 14:34:19 -08:00
Jacob Richman d90ed8c295 Fix noSuchMethod handling of methods that are also extension methods. Fix noSuchMethod handling of methods with names that are rewritten in DDC e.g. "_get" instead of "[]" Fix some mirror system handling of symbols with names that are rewritten in DDC
BUG=
R=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2623053004 .
2017-01-24 11:16:21 -08:00
Jacob Richman d6063ca391 Closes https://github.com/dart-lang/sdk/issues/28291
Fix extending a JS class and add a test to ensure it
continues to work from DDC. Note this behavior will never
be supported in Dartium and is not yet supported by Dart2JS.

BUG=
R=vsm@google.com

Review-Url: https://codereview.chromium.org/2654583002 .
2017-01-24 07:20:31 -08:00
Asger Feldthaus 8dd2b15951 Insert implicit downcasts in kernel strong mode.
This is implemented as a separate pass, although going forward
I would like the new frontend to insert these checks.

R=kmillikin@google.com

Review-Url: https://codereview.chromium.org/2619193003 .
2017-01-11 13:47:40 +01:00
Jacob Richman badfd146d2 Fix type error in js_dart2js.dart caught by DDC.
BUG=
R=vsm@google.com

Review-Url: https://codereview.chromium.org/2611423002 .
2017-01-09 07:42:49 -08:00
Jacob Richman 7f26211c26 Correct handling of cross-frame functions in ddc.
Misc fixes of dart:js support on ddc.
Work around issue with Blob constructor on ddc.
Fix incorrect dart:js test on dart2js (fixes https://github.com/dart-lang/sdk/issues/26197)

BUG=
R=alanknight@google.com, leafp@google.com, rnystrom@google.com

Review-Url: https://codereview.chromium.org/2587203002 .
2016-12-19 15:00:55 -08:00
Jennifer Messerly 77f53f609f fixes #27385, implement virtual fields in DDC
If a field is marked @virtual in Analyzer, DDC will allow it to be overridden as well

also fixes #28114, abstract getters/setters broke generation of forwarding getters/setters

R=vsm@google.com

Review-Url: https://codereview.chromium.org/2571363002 .
2016-12-15 11:39:25 -08:00
Asger Feldthaus 31d5860c81 Enable strong-mode test suite for dartk.
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 .
2016-12-15 12:50:08 +01:00
Bob Nystrom d5acd26b1d Restore line endings of files that should be CRLF. 2016-12-09 11:09:55 -08:00
Bob Nystrom 6c757957db Move the dev_compiler strong mode tests into sdk/tests/.
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.
2016-12-09 11:09:55 -08:00