Commit Graph

3445 Commits

Author SHA1 Message Date
Stephen Adams df3c210cbb dart2js: Local type information erasure
Change-Id: I28ed9e313159222982a4093cc898339a558c5fd9
Reviewed-on: https://dart-review.googlesource.com/35813
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2018-02-14 07:58:01 +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
Johnni Winther d30aaaa4b8 Ensure no type parameters on constructors.
Change-Id: I6a40e2f74b8a89e5873d94d406a56f82db0d0b48
Reviewed-on: https://dart-review.googlesource.com/40526
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-02-13 11:11:05 +00:00
Johnni Winther 41118c438e Reimplement runtime type checks computation
Change-Id: Ic1baa96e60db30cf9afe3414e605f0200361583b
Reviewed-on: https://dart-review.googlesource.com/37560
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-02-12 13:29:30 +00:00
Sigmund Cherem 1f70b7ad37 Disable hints in dart2js-with-kernel
Change-Id: Id218b5116c134f7d1646f7d51ccef3faccd072f6
Reviewed-on: https://dart-review.googlesource.com/40469
Reviewed-by: Harry Terkelsen <het@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2018-02-09 22:53:59 +00:00
Emily Fortuna 06ef399354 Fix up locals map for signature function.
Change-Id: If2a569e0799c1f63f1ee728f183cb4f1e3badb56
Reviewed-on: https://dart-review.googlesource.com/40464
Commit-Queue: Emily Fortuna <efortuna@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-02-09 20:55:19 +00:00
Sigmund Cherem 521188f838 Fix deferred loading in the presence of type parameters too
(and get rid of a TODO(redemption) that I should have fixed eons ago...)

Change-Id: I218a7bddcc8256ff84b4ec03b54a858e8f5d8687
Reviewed-on: https://dart-review.googlesource.com/40180
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Emily Fortuna <efortuna@google.com>
2018-02-09 00:25:26 +00:00
Dan Rubel d4f2f9cef2 Update fasta parser to report constructor initializer errors
This CL updates the fasta parser to report three additional
errors in constructor initializers:

* ExpectedAnInitializer
* MissingAssignmentInInitializer
* RedirectingConstructorWithBody

I also added a comment from a discussion about
https://dart-review.googlesource.com/c/sdk/+/39320

Change-Id: Iecb6fe97e3612a11ccc89864a4fc9f353846504c
Reviewed-on: https://dart-review.googlesource.com/40040
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-02-08 18:08:40 +00:00
Johnni Winther b7ef215604 Ensure no function type variables on constructors
Closes #32069

Change-Id: I9e8e35aad7844863717d19d6335da87b9c823375
Reviewed-on: https://dart-review.googlesource.com/39700
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2018-02-08 09:09:09 +00:00
Stephen Adams 92af8a938a Use length argument only for allocating Array
Change-Id: I051ec7bf3e34162e55212c6f734ceb0d531d04bb
Reviewed-on: https://dart-review.googlesource.com/39853
Reviewed-by: Stephen Adams <sra@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2018-02-08 00:41:59 +00:00
Emily Fortuna ef3c271542 Generate signature function in strong mode (previously was behind a flag).
Change-Id: Ia99623beb4f5cbba719833af2d710702d2caaa6d
Reviewed-on: https://dart-review.googlesource.com/38902
Commit-Queue: Emily Fortuna <efortuna@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2018-02-07 23:02:40 +00:00
Johnni Winther a3964bd479 Only add type argument count to generic invocations.
Change-Id: Iee137f74002fea74189d23bff9f27515b4daf224
Reviewed-on: https://dart-review.googlesource.com/35926
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-02-07 12:18:31 +00:00
Lasse R.H. Nielsen 6f78471687 New methods on Iterable, List, Set, Queue, Map.
Changes signature of Iterable.singleWhere.
Makes LinkedHashMap no longer be a HashMap.

Change-Id: I7a12fea533d42b0fc8357086649df38ad01f3cdd
Reviewed-on: https://dart-review.googlesource.com/39140
Commit-Queue: Leaf Petersen <leafp@google.com>
Reviewed-by: William Hesse <whesse@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2018-02-07 06:12:53 +00:00
Harry Terkelsen 44bf3ea876 Always generate type substitutions for mixin applications
Change-Id: I2e87ce063b5ce35ae2a411bd21f22d58bd3bc686
Reviewed-on: https://dart-review.googlesource.com/39421
Commit-Queue: Harry Terkelsen <het@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-02-07 00:24:53 +00:00
Sigmund Cherem 2847a8b3af Retain type arguments in closures if needed for .runtimeType
Change-Id: I07781ffaf19d1a2099c5a45509ec93545514e61a
Reviewed-on: https://dart-review.googlesource.com/39300
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Emily Fortuna <efortuna@google.com>
2018-02-06 21:54:58 +00:00
Stephen Adams 079a4b08f5 Use a period in disambiguated loadIds
This allows the original loadId to be determined when the original ends in a digit.

Change-Id: I37231229c538c66fd54c79dffbfded3aa9e3973b
Reviewed-on: https://dart-review.googlesource.com/36490
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-02-06 21:46:53 +00:00
Sigmund Cherem 762b336f2b Minor cleanup and extra debug data
Change-Id: Ifdf502c27ae24e73674e025fd415530516dd0d5f
Reviewed-on: https://dart-review.googlesource.com/39380
Reviewed-by: Emily Fortuna <efortuna@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2018-02-06 21:41:53 +00:00
Dan Rubel b2c5415db9 Rework parseClassMember to remove findMemberName
This CL finishes the process of removing findMemberName from parsing
class members and sets the stage for improved recovery.
In addition, this CL:

* Revises the `endMethod` event to include a beforeParam token
    so that the parser can revise the token stream before the parameters
    during recovery.

* Reworks insertSyntheticIdentifer for use in more places

Change-Id: If5bcd6f554053f72429e938b5cd5e7021e03d5b3
Reviewed-on: https://dart-review.googlesource.com/39320
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-02-06 21:01:53 +00:00
Dan Rubel e1e7ab1c3d Fasta parser cleanup
This separates and cleans up externally called fasta parser methods
such as parseTopLevelMember and parseMember from internal callers.

* Split external and internal calls to parseTopLevelMember
    so that external callers use parseTopLevelMember
    and internal callers use parseTopLevelMemberImpl.

* Rename the externally called parseMember --> parseClassMember
    and the internally called parseClassMember --> parseClassMemberImpl

* Revise the insertSyntheticIdentifier method and cleanup some
    exiting recovery code to use it.

Change-Id: Ic66ddcbbe761937bb917c679590fc7de2fdd0396
Reviewed-on: https://dart-review.googlesource.com/39080
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-02-06 16:34:43 +00:00
William Hesse 9c35cff5cd Revert "New methods on Iterable, List, Set, Queue, Map."
This reverts commit 0b59f24f97.

Reason for revert: Creates crashes in dart2js with kernel, see
https://luci-milo.appspot.com/buildbot/client.dart/dart2js-linux-d8-minified-1-5-be/9751

Original change's description:
> New methods on Iterable, List, Set, Queue, Map.
> Changes signature of Iterable.singleWhere.
> Makes LinkedHashMap no longer be a HashMap.
> 
> Change-Id: Ibd7e56e1ac03cb9fb10d19d1328d452fcd06d89f
> Reviewed-on: https://dart-review.googlesource.com/32541
> Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
> Reviewed-by: Leaf Petersen <leafp@google.com>

TBR=lrn@google.com,leafp@google.com

Change-Id: Iab904f5885a5213ae2e16ef496eed0b6843185f3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/39060
Reviewed-by: William Hesse <whesse@google.com>
2018-02-06 13:32:19 +00:00
Lasse R.H. Nielsen 0b59f24f97 New methods on Iterable, List, Set, Queue, Map.
Changes signature of Iterable.singleWhere.
Makes LinkedHashMap no longer be a HashMap.

Change-Id: Ibd7e56e1ac03cb9fb10d19d1328d452fcd06d89f
Reviewed-on: https://dart-review.googlesource.com/32541
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
2018-02-06 11:17:46 +00:00
Harry Terkelsen 839c1bdb40 Revert functionSignature hack now that we have a fix
Change-Id: If3b54f6e52e38fc33201fe4f30bf5e09b434d996
Reviewed-on: https://dart-review.googlesource.com/38302
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Harry Terkelsen <het@google.com>
2018-02-05 18:58:06 +00:00
Harry Terkelsen 1fcbe23b8f Fix issue in resolving annotations that refer to annotated types
Change-Id: Ifcef137ec51e26d3e1a2505fd4845fe63f670318
Reviewed-on: https://dart-review.googlesource.com/38181
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Harry Terkelsen <het@google.com>
2018-02-02 18:14:37 +00:00
Florian Loitsch 3b8e4d41a7 Reapply "Run async functions immediately."
Which was reverted in commit 032be73dbe.
Originally commited in commit 67bac0bce6.
Original review URL: https://dart-review.googlesource.com/5263

Change-Id: Ic7333c29e502a3924dc6aade8ffa46fc8aa5b04a
Reviewed-on: https://dart-review.googlesource.com/38120
Commit-Queue: Florian Loitsch <floitsch@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2018-02-02 15:50:16 +00:00
Sigmund Cherem 5428a12b84 Ensure that env includes the actual mixin application fields and procedures.
From the docs of mixedInClass and mixin: the former is the direct thing that is
mixed in, but if it is a named mixin application it may not contain the actual
fields and procedures, instead the `.mixin` class does.

Change-Id: I049ced771925431d613b0b661154c1761fbe0a51
Reviewed-on: https://dart-review.googlesource.com/38161
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Emily Fortuna <efortuna@google.com>
2018-02-02 07:10:30 +00:00
Sigmund Cherem 3b7569b66c Include additional flavor details in output comment
Mostly to validate that we are running the right version of an app when
debugging locally.

Change-Id: I24c19fbb73ac25f9691021307c4e1947fd857287
Reviewed-on: https://dart-review.googlesource.com/38141
Reviewed-by: Emily Fortuna <efortuna@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2018-02-01 22:21:50 +00:00
Sigmund Cherem 611621e3ea Visit typedeftype.
This is to address the cl comment here:
https://dart-review.googlesource.com/c/sdk/+/37880/4/pkg/compiler/lib/src/js_model/elements.dart

TBR=johnniwinther@google.com

Change-Id: I90e9994edb14fca083242cbc4fdda8a7e9f4c23f
Reviewed-on: https://dart-review.googlesource.com/38160
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2018-02-01 19:34:58 +00:00
Florian Loitsch 032be73dbe Revert "Run async functions immediately."
This reverts commit 67bac0bce6.

Reason for revert: broke the bot.

Original change's description:
> Run async functions immediately.
> 
> Migrated from https://codereview.chromium.org/2478703003/
> 
> Change-Id: I1d678c01ba5876490b12c676c500171328361d31
> Reviewed-on: https://dart-review.googlesource.com/5263
> Commit-Queue: Florian Loitsch <floitsch@google.com>
> Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
> Reviewed-by: Vijay Menon <vsm@google.com>
> Reviewed-by: William Hesse <whesse@google.com>
> Reviewed-by: Martin Kustermann <kustermann@google.com>
> Reviewed-by: Régis Crelier <regis@google.com>

TBR=whesse@google.com,rnystrom@google.com,vegorov@google.com,kustermann@google.com,zra@google.com,floitsch@google.com,jmesserly@google.com,vsm@google.com,regis@google.com,sigmund@google.com

Change-Id: I20c948057423c3fa5aa8c72843f8f2a17e086ad5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/37981
Reviewed-by: Florian Loitsch <floitsch@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2018-02-01 15:01:21 +00:00
Florian Loitsch 67bac0bce6 Run async functions immediately.
Migrated from https://codereview.chromium.org/2478703003/

Change-Id: I1d678c01ba5876490b12c676c500171328361d31
Reviewed-on: https://dart-review.googlesource.com/5263
Commit-Queue: Florian Loitsch <floitsch@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
Reviewed-by: William Hesse <whesse@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
2018-02-01 14:08:57 +00:00
Sigmund Cherem 3b6d39cc2c Correctly defer typedef references
Change-Id: I61fb5ebb399dcfca5193b7ae870badc10add23e5
Reviewed-on: https://dart-review.googlesource.com/37880
Reviewed-by: Emily Fortuna <efortuna@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2018-01-31 21:10:29 +00:00
Dan Rubel ec7435945d Remove findMemberName from parseTopLevelMember
This CL refactors parseTopLevelMember so that it does not scan ahead
using findMemberName. This is the next step in removing findMemberName
to improve top level declaration recovery.

Change-Id: I4d949f72cba5618541448c08e1756bf45a4d1762
Reviewed-on: https://dart-review.googlesource.com/37680
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-01-31 12:04:56 +00:00
Johnni Winther abaabd4773 Remove unneeded RuntimeTypeChecks object
Change-Id: Ia0d7e842edff4694a74a6d3e43c3c912093c3e9b
Reviewed-on: https://dart-review.googlesource.com/37520
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2018-01-31 08:00:31 +00:00
Johnni Winther b1ca3afbfb Avoid concurrent modification in runtime_types.dart
Change-Id: I7308671c302bed0d18f3e3a7812f14317b433b21
Reviewed-on: https://dart-review.googlesource.com/37280
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2018-01-29 11:50:22 +00:00
Johnni Winther 9b0d9a2882 Track type variable tests through generic method invocations.
Change-Id: Ibb4fdf92ca1085034db5d10c3f10b46f60c70c16
Reviewed-on: https://dart-review.googlesource.com/36941
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-01-29 09:20:02 +00:00
Johnni Winther 20e363f4b9 Ensure signature functions for --disable-rti-optimization
- and cleanup/refactor RuntimeTypesChecks(Builder).

Closes #28894

Change-Id: I8d4cd808411532cce6b28c2f233cc4086de6b100
Reviewed-on: https://dart-review.googlesource.com/35982
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-01-29 08:06:51 +00:00
Johnni Winther 385f49e6ca Skip supertypes in implicit is-test computation.
Change-Id: Ice7e07de124bd45f5ae379abd213b9b3586afc4d
Reviewed-on: https://dart-review.googlesource.com/35960
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-01-26 23:16:08 +00:00
Johnni Winther 09bb73427e Compute implicit is-tests more precisely.
Closes #21969

Change-Id: If446df1e1ae4cdfb4d32580abb7f12fb213d678c
Reviewed-on: https://dart-review.googlesource.com/35865
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-01-26 22:26:17 +00:00
Johnni Winther 588a60f15b Add test for needed runtime checks
This is added as a precursor to
https://dart-review.googlesource.com/c/sdk/+/35865 to detect to an error
in dart2js_extra/inline_generic_test/04 otherwise introduced.

Change-Id: I25e475709ee821d01694904ef0cade8100b7548b
Reviewed-on: https://dart-review.googlesource.com/36640
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-01-26 21:51:41 +00:00
Mike Fairhurst 45c4e3e79b fix void usage in dart2js
This is to more incrementally land https://dart-review.googlesource.com/c/sdk/+/35805

This code uses void where it will no longer be allowed.

Change-Id: Id7627f78f86293df0b9386210415c88bf3329ce4
Reviewed-on: https://dart-review.googlesource.com/36801
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2018-01-26 19:15:19 +00:00
Dan Rubel c31758dfee Fasta parser cleanup
Per discussion with Peter, this CL updates all begin* and handleNoType
events to take atleast one token parameter.

* Ensure all fasta parser begin* events take atleast one parameter
* Update handleNoType event to take last consumed token
* Address comment in https://dart-review.googlesource.com/c/sdk/+/36820
* Remove unused skipToLastModifier method

Change-Id: I1be25fe4327a63707f74163fa2b93452d71e7748
Reviewed-on: https://dart-review.googlesource.com/36960
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-01-26 18:00:54 +00:00
Dan Rubel c284670f54 Refactor fasta parse class member modifiers
This CL moves modifier parsing out of parseMethod and parseFields
into parseClassMember and before findMemberName.
This is the next step in evenally removing findMemberName
and improving top level declaration recovery.

This CL also removes unused parameters from several fasta parser events.
Per discussion with Peter, tokens will be added back to each of these
events in a subsequent CL.

Change-Id: I4ffc0622b75581b5fdb527feeb19ae0b68c4eeaf
Reviewed-on: https://dart-review.googlesource.com/36820
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-01-26 13:39:08 +00:00
Dan Rubel 2be7b9566f Refactor fasta parse top level modifiers
This CL moves modifier parsing out of parseTopLevelMethod
and parseFields into parseTopLevelMember and before findMemberName.
This is the next step in evenally removing findMemberName
and improving top level declaration recovery.

* New ModifierRecoveryContext2 which will soon replace
   both ModifierContext and ModifierContext2
* Remove now unused TopLevelModifierRecoveryContext
* Remove unused beginTopLevelMethod event arguments
* Remove unused handleNoType event arguments
* Address comment in https://dart-review.googlesource.com/c/sdk/+/36500

Change-Id: I6842a83d9604cdcca611d7209e3ebcc78de469d3
Reviewed-on: https://dart-review.googlesource.com/36680
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-01-25 00:05:46 +00:00
Harry Terkelsen 2305d7aea1 Fix bug in resolution caused by unresolved fields in annotations
Fixes #31803

Change-Id: Id50713281934bf51f8684c3acf5936edd48e33e4
Reviewed-on: https://dart-review.googlesource.com/35464
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Emily Fortuna <efortuna@google.com>
Commit-Queue: Harry Terkelsen <het@google.com>
2018-01-19 23:24:47 +00:00
Johnni Winther ffd18a37ef Track type arguments of static and dynamic calls
- and use these to optimize for type argument need on instance
methods and closurized static methods.

Change-Id: Id41d8f8aa7639da15fbd24844e397a4524b6ed20
Reviewed-on: https://dart-review.googlesource.com/35261
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-01-19 22:31:37 +00:00
Johnni Winther 4a82a4fbf5 Ensure type variables in initializers.
Closes #31715

Change-Id: I45b28b8e42d5246eab0e354506630b7109db0ca1
Reviewed-on: https://dart-review.googlesource.com/36002
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-01-19 22:23:57 +00:00
Johnni Winther c6c8d08e85 Small cleanup.
Change-Id: Ieaa759df5974e7bd2d9b521cc3d0ca9de1af11f5
Reviewed-on: https://dart-review.googlesource.com/35600
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-01-19 21:20:57 +00:00
Sigmund Cherem e2ad2db805 Generate checks for library-is-loaded to fasta and dart2js.
Change-Id: Ibf453ca7390b81da7231dcb1be43e426c00d6eeb
Reviewed-on: https://dart-review.googlesource.com/35100
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2018-01-18 20:17:14 +00:00
Zachary Anderson 9c40a7e662 Reland: [dart:cli] Adds waitFor(Future)
This is a reland of https://dart-review.googlesource.com/#/c/sdk/+/28920/
with the following changes:
- It creates a new library dart:cli
- waitFor(Future) goes in dart:cli instead of dart:io
- Removes a flaky test, and adds a missing precompiler entrypoint
- Adds waitFor(Future)
- Improves doc comments

fixes #31102

Change-Id: I04d2c46fd0afac049dd4fd1353905dc20da18f90
Reviewed-on: https://dart-review.googlesource.com/29449
Commit-Queue: Zach Anderson <zra@google.com>
Reviewed-by: Natalie Weizenbaum <nweiz@google.com>
Reviewed-by: Keerti Parthasarathy <keertip@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2018-01-18 16:38:54 +00:00
Stephen Adams 8a7c3331df dart2js: Make String.split return List<String>
Two follow-on optimization would reduce the generated code to closer to the original size:

- It would be profitable to write an optimization the removes the type
  information from any list when it can be proven the type information
  is not used.

- Provided the split result list is not modified, we can strengthen
  accesses to be non-null Strings.

Bug: https://github.com/dart-lang/sdk/issues/30548
Change-Id: I87ecdd129ec0227f982bd2e1f34193b3d6b0d81b
Reviewed-on: https://dart-review.googlesource.com/35081
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-01-18 02:02:24 +00:00
danrubel 6f6689889c Update fasta parser to report ParserErrorCode.FUNCTION_TYPED_PARAMETER_VAR
In addition to adding missing errors, this CL inlines modifier parsing
as part of a multi step effort to parse modifiers once and provide
better error recovery for class member and top level declarations.

Change-Id: Ibea91a4a3e2073ed6079f0f44ff4bbbb4a98a614
Reviewed-on: https://dart-review.googlesource.com/35300
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-01-17 18:28:48 +00:00