Commit Graph

3603 Commits

Author SHA1 Message Date
Johnni Winther b75fb574ee Fix async_compiler_input_provider_test for Windows
Change-Id: Iac926078023a5b94623dc6427a3ca6d5a495b661
Reviewed-on: https://dart-review.googlesource.com/47041
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-03-20 12:16:36 +00:00
Johnni Winther 8eb749e032 Fix sourcemaps/name_test for kernel
Change-Id: I77e60ae236cf8a17edc3854496fc900d67915bd0
Reviewed-on: https://dart-review.googlesource.com/47040
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-03-20 11:35:49 +00:00
Alexey Knyazev 4f1f5f8167 Reland "Do not return this on RandomAccessFile.close"
This is a reland of 44aa9a17fd

Original change's description:
> Do not return this on RandomAccessFile.close
> 
> Bug: 32015
> Change-Id: I98508bdad569201afeed91f1287f061b5bb39a31
> Reviewed-on: https://dart-review.googlesource.com/44060
> Reviewed-by: Sigmund Cherem <sigmund@google.com>
> Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
> Commit-Queue: Vyacheslav Egorov <vegorov@google.com>

Bug: 32015
Change-Id: I96d870e083d7862cf0f6ad664364cf7ddef0f598
Reviewed-on: https://dart-review.googlesource.com/46780
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
2018-03-19 13:45:25 +00:00
Johnni Winther c3f177b8cc Add FutureOr to dart2js static type system
Change-Id: I0e26c82fffaa41d2e3fc02ba4d2b253c3673ce1a
Reviewed-on: https://dart-review.googlesource.com/46260
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-03-19 11:50:55 +00:00
Kevin Millikin 8108ad9e0e Make the Kernel serializer implement, not extend, Visitor
Extending visitor makes it impossible to get a static error when new
syntax is added to Kernel.  Also, add @override annotations so we can
get a hint when syntax is removed from Kernel.

Change-Id: I9f3111e406e9994e76a637d2782e24cde264fd31
Reviewed-on: https://dart-review.googlesource.com/46721
Commit-Queue: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-03-16 11:03:57 +00:00
Peter von der Ahé 4f2bdff90b Rename Program to Component
Change-Id: I1a3cc03fba9783807fa637a9d42fdbad68ee7686
Reviewed-on: https://dart-review.googlesource.com/31040
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2018-03-15 12:22:23 +00:00
Dan Rubel 71e16622cd Improve for statement errors and recovery
This CL updates fasta parsing of `for` statements
to detect additional errors and improve recovery.

The parser originally called parseType when parsing `for` statements
which committed the parser down a particular path
and limited the ability of the caller to gracefully recovery.
Now the parser calls computeType, which parses and caches
the type information, so that the caller has more opportunity
to recover gracefully.

Change-Id: I6296ffb1f75e77a87a7533bfca77dae18cfcf60d
Reviewed-on: https://dart-review.googlesource.com/46383
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-03-15 11:43:13 +00:00
William Hesse 0bd1aa01f2 Update status for dart2js unit test that times out
Change-Id: I591aa0f9ea3692f5e586e87829f6a7530ce36d36
Reviewed-on: https://dart-review.googlesource.com/46580
Reviewed-by: Erik Ernst <eernst@google.com>
2018-03-14 17:20:42 +00:00
Sigmund Cherem c438f8b3f4 Dart2js defaults to the new common front-end
Change-Id: Id0f69d258b010a746b56e259335185bcca7dafec
Reviewed-on: https://dart-review.googlesource.com/45143
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2018-03-13 19:25:59 +00:00
Johnni Winther 85720e4eb3 Fix status of dart2js-with-kernel tests
Change-Id: I2f5a1589b800fc1d453f5dd6f941f77c42250acc
Reviewed-on: https://dart-review.googlesource.com/46242
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2018-03-13 11:22:44 +00:00
Johnni Winther b08bedee7e Update RuntimeTypesNeed to disable rti optimization
- for local signatures in strong mode.

Change-Id: I0cafead24b24a534813449b6bf710eeafcb569bd
Reviewed-on: https://dart-review.googlesource.com/46064
Reviewed-by: Emily Fortuna <efortuna@google.com>
2018-03-13 10:09:26 +00:00
Johnni Winther 42e7598f5d Don't emit function signatures for non-closure classes in Dart 2
Change-Id: I144ddd60abebe41549c1f5304d73cb56042c7289
Reviewed-on: https://dart-review.googlesource.com/46043
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-03-13 09:50:39 +00:00
Johnni Winther 1df3150d05 Compute emitted function signatures in RuntimeChecksBuilder
Change-Id: I9801df4e14ca70ac17bbec3d7fb5b53a138582f0
Reviewed-on: https://dart-review.googlesource.com/45702
Reviewed-by: Emily Fortuna <efortuna@google.com>
2018-03-13 09:14:36 +00:00
Johnni Winther ad62702e93 Update status
Change-Id: I6b231d18741045619315985e85ed04cf01181232
Reviewed-on: https://dart-review.googlesource.com/45701
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2018-03-09 09:39:35 +00:00
Johnni Winther 26e689de05 More work on signatures
Change-Id: Ifd8c20f1947149d60cca7c69e40ad85533519746
Reviewed-on: https://dart-review.googlesource.com/45700
Reviewed-by: Emily Fortuna <efortuna@google.com>
2018-03-09 08:30:28 +00:00
Johnni Winther 0fdbc331f6 Fix dynamic type dependencies in codegen
Change-Id: Id3d8e89d55cc4ad8cc23c4be4012b4798d5abe4e
Reviewed-on: https://dart-review.googlesource.com/45424
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-03-08 09:51:55 +00:00
Stephen Adams 23a7b62c42 Use type of receiver for setter target identification
This 'almost typo' was preventing any setters from being inlined.

Change-Id: Idca5ba35df34f2328e3f926790e093ce02ac8863
Reviewed-on: https://dart-review.googlesource.com/45367
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2018-03-07 20:48:52 +00:00
Johnni Winther 8f4db274f1 Compute which selectors that need type arguments
Change-Id: I0e48ff67353d676ea77d13008ae46f79bb69336e
Reviewed-on: https://dart-review.googlesource.com/45321
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-03-07 13:46:49 +00:00
Johnni Winther 8831dd1308 Remove failing assertion
Change-Id: Idfc2656460e2e6e63948172d63f90585be65d19d
Reviewed-on: https://dart-review.googlesource.com/45320
Reviewed-by: Emily Fortuna <efortuna@google.com>
2018-03-07 12:22:33 +00:00
Johnni Winther f69da8e36b Move tests to /model/
Change-Id: I70fc06e51951eabbb123b4cf83a8e04ccb8f7eb6
Reviewed-on: https://dart-review.googlesource.com/44781
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-03-07 11:54:24 +00:00
Sigmund Cherem f3687198b8 Update dart2js_extra: normalize further and update to match runtime==chrome expectations
TBR=sra@google.com

Change-Id: I13408ae668c0163f1973ff2616c546b426b5bd1e
Reviewed-on: https://dart-review.googlesource.com/45368
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2018-03-07 03:39:16 +00:00
Sigmund Cherem 18aa6b570f Delete recursive import test, improve comment of dummy_compiler_test.
recursive_import: was covering logic for the old frontend and it is no longer
relevant.  dummy_compiler is not just about APIs, is about self-hosting.

TBR=sra@google.com

Bug: https://github.com/dart-lang/sdk/issues/30773
Change-Id: I56d094d9ecee47264c7a7a206f942d9e3dbdaadc
Reviewed-on: https://dart-review.googlesource.com/45364
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2018-03-07 03:36:54 +00:00
Peter von der Ahé 18fe31ab11 Remove useOptimizedMixins from dart2js
Change-Id: I677e96cf0d27c6c9e1f1eede57e9c248d6514769
Reviewed-on: https://dart-review.googlesource.com/45280
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2018-03-06 15:15:57 +00:00
Peter von der Ahé 9f56e28372 Mixin Applications with a Vengeance
Change-Id: I213f99234f29abd7e2ec03dc8451ed6dd16f3d03
Reviewed-on: https://dart-review.googlesource.com/45021
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2018-03-06 15:15:57 +00:00
Johnni Winther d3c3ac48a3 Remove implicit 'implements Function' for strong mode
Change-Id: Ie3e3e11a727f7fbe3c8d7af17c84dedfbdfcdf3a
Reviewed-on: https://dart-review.googlesource.com/44422
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-03-06 09:18:48 +00:00
Johnni Winther 6baae53a5b Check functionTypeIndex in rti_emission_test
Change-Id: Icffa0174cc0cfeedca98b11fe9ea95ee9ac24626
Reviewed-on: https://dart-review.googlesource.com/44140
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-03-06 07:58:46 +00:00
Leaf Petersen 4066804e5f Remove hint suppression now that MapEntry has landed
Change-Id: I35d9c7105c2a5278b5b9558af9fe0570839fc51f
Reviewed-on: https://dart-review.googlesource.com/44882
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-03-05 18:45:51 +00:00
William Hesse e59018e714 Revert "Do not return this on RandomAccessFile.close"
This reverts commit 44aa9a17fd.

Reason for revert: The dartdoc API documentation generator cannot handle Future<void> yet.  This is filed as a P0 issue, and the change should be relanded when it is fixed: https://github.com/dart-lang/dartdoc/issues/1625

Original change's description:
> Do not return this on RandomAccessFile.close
> 
> Bug: 32015
> Change-Id: I98508bdad569201afeed91f1287f061b5bb39a31
> Reviewed-on: https://dart-review.googlesource.com/44060
> Reviewed-by: Sigmund Cherem <sigmund@google.com>
> Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
> Commit-Queue: Vyacheslav Egorov <vegorov@google.com>

TBR=lrn@google.com,vegorov@google.com,zra@google.com,sigmund@google.com,lexa.knyazev@gmail.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 32015
Change-Id: I658b997cdc62e23cfb4fec8921e19239d534e272
Reviewed-on: https://dart-review.googlesource.com/44980
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: William Hesse <whesse@google.com>
2018-03-05 13:10:41 +00:00
Alexey Knyazev 44aa9a17fd Do not return this on RandomAccessFile.close
Bug: 32015
Change-Id: I98508bdad569201afeed91f1287f061b5bb39a31
Reviewed-on: https://dart-review.googlesource.com/44060
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
2018-03-03 19:46:01 +00:00
Stephen Adams 8e8287f4e0 Add classes for instantiations
Change-Id: Iee9df3ad673012776cd1867448ff12ba692a863f
Reviewed-on: https://dart-review.googlesource.com/41564
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2018-03-03 00:50:59 +00:00
Sigmund Cherem 7fd5294bb3 Add rules to build dart2js platform in strong mode
This must land after we make the libraries strong clean.

Change-Id: I3a49a2be3b2bcb15842434266f55ce49e3800fc6
Reviewed-on: https://dart-review.googlesource.com/42140
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
2018-03-02 22:19:19 +00:00
Sigmund Cherem e38e98afbe Update dart2js_native.status: updated to be accurate with our many configurations
TBR=sra@google.com

Change-Id: Ic294b6b9fba128e82cff934b8f3587cee71292e4
Reviewed-on: https://dart-review.googlesource.com/44663
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-03-02 01:50:38 +00:00
Sigmund Cherem bde6603d92 Update dart2js_extra.status: now it correctly declares expectations for
non-minified, minified, host-checked, checked, and fast-startup

TBR=sra@google.com

Change-Id: I20159ff71bbb9b4e84304e4d560e5d06d0d41814
Reviewed-on: https://dart-review.googlesource.com/44661
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2018-03-02 01:13:58 +00:00
Sigmund Cherem 9ed595b4b3 Use $fasta instead of $dart2js_with_kernel in our status files.
Note: $fasta is true when passing --dart2js-with-kernel. This change will make it
easier to flip the default: the plan is that $fasta will be true by default
later on, and passing --dart2js-old-frontend will make it false.

TBR=sra@google.com

Change-Id: Ib917d55b2d14db954c56513af057dd9a37b9c825
Reviewed-on: https://dart-review.googlesource.com/44601
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2018-03-01 21:02:18 +00:00
Lasse R.H. Nielsen 9ee735b659 Add missing methods to List and Map implementations.
Optimize FollowedBy when the operands have efficient length.

Change-Id: I0af59240d70b929358c06b8d57a85df2deee6aaf
Reviewed-on: https://dart-review.googlesource.com/43665
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
2018-02-28 12:26:53 +00:00
Emily Fortuna e9b3ce9619 Make the actual signature function use our entity-based signature code.
Change-Id: I99b4dd4a7b9d549fcec60e4cc341512402c19ced
Reviewed-on: https://dart-review.googlesource.com/43264
Commit-Queue: Emily Fortuna <efortuna@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2018-02-27 18:53:58 +00:00
Johnni Winther 6931a7a288 Use [localFunctionNeedsSignature] to determine when to add JSignatureMethod
Closes #32078

Change-Id: Ib1c9c08b1fdf33e3d94c02595135cf430357fed6
Reviewed-on: https://dart-review.googlesource.com/43742
Reviewed-by: Emily Fortuna <efortuna@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-02-27 12:33:53 +00:00
Johnni Winther 85cf0961ee Include type arguments passed through generic calls in rti emission
Change-Id: Id757caaebb0bd802e8afa978c9a4bc5b4d6273fe
Reviewed-on: https://dart-review.googlesource.com/43670
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-02-27 10:01:14 +00:00
Johnni Winther 9a0307043d Test internal data in rti_emission_test.
Change-Id: I09e43bbe0470d0928478d15a629232d5ffef902f
Reviewed-on: https://dart-review.googlesource.com/43667
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2018-02-27 09:51:24 +00:00
Sigmund Cherem e33f4f7c2e Fail if mirrors are really used.
Some legacy libraries may import dart:mirrors, but not use it. This CL turns them
into a runtime error temporarily to give some time for the library
maintainers to remove the import to dart:mirrors in the future.

Change-Id: I876133908d2a61300256915aab54730bdff51649
Reviewed-on: https://dart-review.googlesource.com/43640
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Emily Fortuna <efortuna@google.com>
2018-02-27 04:57:27 +00:00
Johnni Winther 011cd01875 Handle local initializers in constant constructors
Change-Id: Ifcbaf4b19f4411cd499db35242523eea215c77c4
Reviewed-on: https://dart-review.googlesource.com/40820
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-02-26 10:04:58 +00:00
Johnni Winther 7c2d96490d Support forwarding bounds in function type variables
Change-Id: Ifeab9ad06f512d9b6a5db02fc89d45250c25c054
Reviewed-on: https://dart-review.googlesource.com/40821
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-02-26 09:45:56 +00:00
Johnni Winther 216c0ae8c2 Don't override .constructor property
- on named mixin applications with --fast-startup.

Change-Id: Ia58e1b8e9a06d2c8d2ce14b3435b3c76aeef6fbc
Reviewed-on: https://dart-review.googlesource.com/40743
Reviewed-by: Florian Loitsch <floitsch@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2018-02-26 09:39:43 +00:00
Emily Fortuna 99d2f1a1ac Fix typecheck error for TypeVariableType contexts.
Change-Id: I53ac4e728ac440a2cea727016b3475a730c5b59d
Reviewed-on: https://dart-review.googlesource.com/43496
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Emily Fortuna <efortuna@google.com>
2018-02-24 00:41:37 +00:00
Sigmund Cherem 04095f7cee Replace PrimitiveValue.primitiveValue by individual fields on the concrete
primitive classes (intValue, doubelValue, etc).

(This is step 1 of ?? to support int64, see https://github.com/dart-lang/sdk/issues/31788)

Change-Id: I3fa3a69761d332640b03416e883d57fef0819e2f
Reviewed-on: https://dart-review.googlesource.com/41923
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2018-02-21 17:25:27 +00:00
Sigmund Cherem ed041212d8 Changes to JSInt and JSNumber to make the sdk strong-clean
This may introduce extra interceptor methods for JSInt, we should consider
optimizing these separately (see https://github.com/dart-lang/sdk/issues/32252)

Change-Id: I26ee463c8672d67cd44b21b6ac50a1842b6e7b1e
Reviewed-on: https://dart-review.googlesource.com/42523
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2018-02-21 01:59:19 +00:00
Leaf Petersen 3d6ad7b3a2 Remove fuzzy arrows except on assignability
Change-Id: I00ffa8f6f85cede8badd4d7082da4603f998956c
Reviewed-on: https://dart-review.googlesource.com/40470
Reviewed-by: Jenny Messerly <jmesserly@google.com>
2018-02-17 00:30:56 +00:00
Sigmund Cherem 50db95f69b Fixes for CSP: status lines and some test fixes.
These failures started showing up when we switched to use chrome instead of DRT
for CSP tests.

Change-Id: I53b70ce18eaef73e720e10fdac05245953131f7c
Reviewed-on: https://dart-review.googlesource.com/41480
Reviewed-by: Emily Fortuna <efortuna@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2018-02-14 21:54:53 +00:00
Lasse R.H. Nielsen fed7120b07 Make UnmodifiableMapView not lose unmodifiability on cast/retype.
Change-Id: I44c084353b35e16cd2fd5481d86a7be6c0b62ef3
Reviewed-on: https://dart-review.googlesource.com/41160
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Erik Ernst <eernst@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2018-02-14 12:49:23 +00:00
Johnni Winther f2b8cafb44 Handle assert in initializers of constant constructors.
Change-Id: Ibb4053af00392b3c43177c60c8551cc6ffe937eb
Reviewed-on: https://dart-review.googlesource.com/38320
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-02-13 14:00:01 +00:00