Commit Graph

20409 Commits

Author SHA1 Message Date
Johnni Winther 18407141b7 Split deferred load entity computation by class, member and local function
Change-Id: Ifb612de6ac945d2ececa96871f0eb3fc5ceb4052
Reviewed-on: https://dart-review.googlesource.com/55896
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-05-24 09:52:50 +00:00
Peter von der Ahé d07b9aa0e0 Add explicit type args on generators
Change-Id: Ia1e4c42b888d9302e23a7e832044b2f59f8c0a8f
Reviewed-on: https://dart-review.googlesource.com/56483
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2018-05-24 08:55:52 +00:00
Peter von der Ahé b3862d5a92 Split SuperIndexedAccessGenerator
This prepares the generator to be implemented by the analyzer.

Change-Id: Ia962668e1327b53af968be9efdc41ea6b124b4d0
Reviewed-on: https://dart-review.googlesource.com/56482
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2018-05-24 08:27:59 +00:00
Johnni Winther 0ec82e24ce Avoid late creation of entities.
This changes has been reviewed as part of https://dart-review.googlesource.com/c/sdk/+/55898

Change-Id: I28d41110919a592499ee7b5b7605728638bd5ea2
Reviewed-on: https://dart-review.googlesource.com/56481
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2018-05-24 08:01:00 +00:00
Mike Fairhurst 1d59ab22ce Fix #29014, make function type parameters invariant.
With the restricted behavior, some tests have been removed, modified,
and added based on the new invariance.

Bug: 29014
Change-Id: I086749bbe40aaa723009f9ae06f58d85554cae53
Reviewed-on: https://dart-review.googlesource.com/56029
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2018-05-24 07:56:29 +00:00
Johnni Winther 4d7bbb53ab Use AbstractValue in ClosedWorld
Change-Id: Ib091ec1f251f9d75f9dea5cc4879ab16c9af0215
Reviewed-on: https://dart-review.googlesource.com/55961
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2018-05-24 07:43:39 +00:00
Mike Fairhurst 89f37416fe Fix windows bot breakage for package:build tests.
Change-Id: If7c049d0c4db396c8c7ae2fd05005538c1dd1933
Reviewed-on: https://dart-review.googlesource.com/56293
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2018-05-24 06:57:51 +00:00
Sigmund Cherem 9b44fc39c8 Deprecate chaseDependencies option.
The option is not used by any client at this time and removing it simplifies the
next stack of changes I'll be making on how we compose file systems.

I also don't believe we will necessarily add this back as an option, but instead
it might be that clients requriing hermeticity will provide a custom file system
that helps with that.

Change-Id: I401efb042920d234382b6c041b13d40ffae5c908
Reviewed-on: https://dart-review.googlesource.com/56462
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-05-24 04:57:01 +00:00
Dan Rubel a00dae2260 Update test_parseAwaitExpression_inSync
Change-Id: I62796cc9c76bdfa0cfb5afacdaa8a785a3db28e8
Reviewed-on: https://dart-review.googlesource.com/56440
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-05-23 22:47:19 +00:00
Dan Rubel 9cd0e808db Convert more identifier contexts
Change-Id: I0ead9e15da9d477b26deb13c6880dbfeea4d7724
Reviewed-on: https://dart-review.googlesource.com/56401
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-05-23 21:58:35 +00:00
Emily Fortuna 552680b7f0 First round of changes to dart2js to make it strong mode clean.
Change-Id: Idc3612072c3cf28a4f58bbb890908f67473d8292
Reviewed-on: https://dart-review.googlesource.com/56284
Commit-Queue: Emily Fortuna <efortuna@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-05-23 21:26:04 +00:00
Dan Rubel cc4fe66de8 Replace parseTypeVariables with computeTypeParam
Change-Id: I6835db80220e09b59a0242140539761f93da3a7e
Reviewed-on: https://dart-review.googlesource.com/56400
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-05-23 21:17:05 +00:00
Ben Konyi 3ab7cf0590 Revert "[dart:io] Revert recent non-utf8 path handling"
This reverts commit 42bcdcd332.

Change-Id: I11fb7db2aac3b7dc15cb35a22fea38b31069cbc0
Reviewed-on: https://dart-review.googlesource.com/55502
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2018-05-23 21:01:44 +00:00
Dan Rubel ade600c4b3 Update constructor identifier context
... and remove unused IdentifierContext instance

Change-Id: I2bd8d350f3ac22c472d00d3854ced594563dab1b
Reviewed-on: https://dart-review.googlesource.com/56380
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-05-23 20:40:43 +00:00
Brian Wilkerson e5eee0d57a Add Forest support for labeled statements
Change-Id: I8ab9fd9ac202268f3be93eb2c92266d387cd0bab
Reviewed-on: https://dart-review.googlesource.com/56261
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2018-05-23 20:23:52 +00:00
Sigmund Cherem 83e29023f4 Add schema-based file system
This file-system will be used to compose multiple file-systems together.

Bug: https://github.com/dart-lang/sdk/issues/32633
Change-Id: Ia6c9626b98037c4aaee83be0e09615671f5d0fe7
Reviewed-on: https://dart-review.googlesource.com/56281
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-05-23 19:51:11 +00:00
Sigmund Cherem 8f4c9bcf15 Add single-root file system.
A file-system that we'll use to generate machine agnostic dill files.

Bug: https://github.com/dart-lang/sdk/issues/32633
Change-Id: I05b25940764f4af0bc86c5304e8ba4a6650fb362
Reviewed-on: https://dart-review.googlesource.com/56280
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-05-23 19:51:11 +00:00
Brian Wilkerson 1567b442dd Add Forest support for catch clauses
Change-Id: I6b28d1a759d51cab59005052e9a47c3cab358dd3
Reviewed-on: https://dart-review.googlesource.com/56080
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-05-23 18:52:12 +00:00
Mike Fairhurst 2a5724c75c New package:build workspace before we support it at the language level
Change-Id: I3252a55d520e7f67666684369467af8ec88aea29
Reviewed-on: https://dart-review.googlesource.com/56285
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2018-05-23 18:34:45 +00:00
Brian Wilkerson 0a9697596e Add Forest support for for statements
Change-Id: Ic65a09c01012e8a5d0ab2a4f755950c18b00fa9f
Reviewed-on: https://dart-review.googlesource.com/56000
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2018-05-23 17:32:55 +00:00
Aske Simon Christensen 8427d53a4d Extra precedence level in parser to distinguish postfix operators and selectors
Fixes https://github.com/dart-lang/sdk/issues/31185

Change-Id: I77d617f6abd367d857741d04cf47571ea7492c6a
Reviewed-on: https://dart-review.googlesource.com/56111
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Aske Simon Christensen <askesc@google.com>
2018-05-23 16:13:55 +00:00
Dan Rubel 1ce9b2541b Replace call to parseTypeVariablesOpt with computeTypeParam
Change-Id: Icc4443e9ba4206a3d16cdac5fdd3ffa70459012f
Reviewed-on: https://dart-review.googlesource.com/56043
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-05-23 16:09:50 +00:00
Peter von der Ahé f7e09684b6 Split IndexedAccessGenerator and ThisIndexedAccessGenerator
This prepares the generators to be implemented by the analyzer.

Change-Id: I28ada82b602893b427c8d34df68b2c9a7f8439cf
Reviewed-on: https://dart-review.googlesource.com/56341
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2018-05-23 16:02:55 +00:00
Peter von der Ahé 9f3cd54d3b Remove UnhandledListener
Change-Id: I693f3352a3e5582456b4f41c9b7dc06d23cf98d3
Reviewed-on: https://dart-review.googlesource.com/56327
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2018-05-23 16:02:55 +00:00
Peter von der Ahé 98fcc338ca Fix diet_listener.dart imports
Change-Id: Iff0b5f9eae0080f961c3b0395a65f854f4714e41
Reviewed-on: https://dart-review.googlesource.com/56326
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-05-23 16:02:55 +00:00
Peter von der Ahé 3a5454a691 Split SuperPropertyAccessGenerator
This prepares the generator to be implemented by the analyzer.

Change-Id: I7c6ebf43e8dee46ea734d7a245c20fc03fe74b65
Reviewed-on: https://dart-review.googlesource.com/56325
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-05-23 16:02:55 +00:00
Dan Rubel fa6fd26892 Remove unused IdentifierContext instance
Change-Id: Ib7f82b2d9a3d367f20bb5e9be7456ef8693bd69f
Reviewed-on: https://dart-review.googlesource.com/56042
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-05-23 15:50:25 +00:00
Peter von der Ahé a80dfa12d7 Revert "Add colons"
This reverts commit 29253c57ed.

Reason for revert: Analyzer doesn't use colons on TODOs.

Original change's description:
> Add colons
> 
> Change-Id: Idb51f8d5d3fa65f92ce0d64bbe79d63a9337cf1c
> Reviewed-on: https://dart-review.googlesource.com/56320
> Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>

TBR=ahe@google.com,brianwilkerson@google.com,dmitryas@google.com

Change-Id: I19e7f574537a011dd9ad36b795b9b48249d192b9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/56360
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-05-23 14:26:56 +00:00
Peter von der Ahé 443c23c091 Remove subpackage_relationships_test.dart
This also enables us to remove unsupported front-end API.

Change-Id: I1f655039e9fa4718ef5c941d1932c136eefab3c5
Reviewed-on: https://dart-review.googlesource.com/56342
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2018-05-23 14:12:36 +00:00
Dan Rubel 0271003c33 Extract parseFunctionLiteral from parseType
This is another step towards removing parseType and improving recovery.

Change-Id: Ie2cb1999406bc603355015e8a3b9aaa854f785db
Reviewed-on: https://dart-review.googlesource.com/56120
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-05-23 13:40:06 +00:00
Dan Rubel b8cb785aed Improve formal parameter identifier recovery
Change-Id: I7bc6012295836a4455388c287da3cf15eed9ee5f
Reviewed-on: https://dart-review.googlesource.com/56300
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-05-23 13:34:26 +00:00
Dmitry Stefantsov 9f1097948a [fasta] Add and use a type-inference-specific interface of BodyBuilder
Change-Id: I04c954c4233cc6c43b1f065be95f587a09ed5003
Reviewed-on: https://dart-review.googlesource.com/56328
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-05-23 13:15:05 +00:00
Brian Wilkerson 3960cacc89 Make peek return null when the stack is empty
Change-Id: I73cea25140ad1123ff1a8cb1bca1c69742d3d6f7
Reviewed-on: https://dart-review.googlesource.com/56201
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-05-23 13:11:56 +00:00
Martin Kustermann 3582e30d8e [VM] Remove unused _Random._A field in Dart sources and make constant in C++ code instead
Issue https://github.com/dart-lang/sdk/issues/33185

Change-Id: I256a66ebf81d4433bded15f19b4147327df9b588
Reviewed-on: https://dart-review.googlesource.com/56329
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-05-23 13:06:25 +00:00
Peter von der Ahé 39bccc125d Split NullAwarePropertyAccessGenerator
This prepares the generator to be implemented by the analyzer.

Change-Id: I6468e0eb24a812e6de498b358d33d668683da3ed
Reviewed-on: https://dart-review.googlesource.com/56321
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2018-05-23 11:07:07 +00:00
Peter von der Ahé 29253c57ed Add colons
Change-Id: Idb51f8d5d3fa65f92ce0d64bbe79d63a9337cf1c
Reviewed-on: https://dart-review.googlesource.com/56320
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-05-23 11:07:07 +00:00
Peter von der Ahé fc95fd920b Move generators out of body_builder
Change-Id: Ifc1edcc04659931fc8e1cfc76922921ad1665328
Reviewed-on: https://dart-review.googlesource.com/56119
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-05-23 11:07:07 +00:00
Peter von der Ahé 39516de753 Split ThisPropertyAccessGenerator
This prepares the generator to be implemented by the analyzer.

Change-Id: I429f41beec55057b427ef686d99c7ff26c1e6b25
Reviewed-on: https://dart-review.googlesource.com/56118
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2018-05-23 09:26:35 +00:00
Peter von der Ahé 2d79c356e0 Start creating common superclass for generators
Change-Id: I9d8c95665eed15be45c2a5b734e541af73a7db91
Reviewed-on: https://dart-review.googlesource.com/56117
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2018-05-23 09:24:46 +00:00
Ben Konyi 6d8f473d4f [ VM / Hot Reload ] Updated kernel_service and hot reload behavior to run as long as the compiler returns valid kernel.
Change-Id: Id2b20d95488ccd374f4ca337355dde9f5057292a
Reviewed-on: https://dart-review.googlesource.com/46820
Reviewed-by: Siva Annamalai <asiva@google.com>
2018-05-22 23:50:28 +00:00
Dan Rubel f4f79acb61 Improve annotation identifier recovery
Change-Id: Iaac50ebf39f6f76939f738f97929c8212fa2c098
Reviewed-on: https://dart-review.googlesource.com/56240
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-05-22 22:24:04 +00:00
Dan Rubel 3bdd173175 Call computeType rather than parseType
Change-Id: I4d67e8742997181775320b596443ea9dd78be60d
Reviewed-on: https://dart-review.googlesource.com/56241
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-05-22 21:47:14 +00:00
Stephen Adams 2c8c05f877 [dart2js] merge generator body into empty entry function
Change-Id: I99a5f16f9a22d3c3cbb4989151a8d3c7bfda16ef
Reviewed-on: https://dart-review.googlesource.com/56037
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-05-22 21:17:44 +00:00
Brian Wilkerson 3ac2a3fe19 Address comment from 55981
Change-Id: I8e0e95239f613d15d130c465a0d39dd04a044194
Reviewed-on: https://dart-review.googlesource.com/56200
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-05-22 20:53:16 +00:00
Sigmund Cherem 8c0f5747a0 Add build_integration package and move multi_root_file_system there.
This is following the design discussion we had a few months ago.

Change-Id: I48b2e82af33d10b9cd1e599e1b3a4e8e419417c8
Reviewed-on: https://dart-review.googlesource.com/56035
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-05-22 20:09:24 +00:00
Brian Wilkerson a756248065 Add Forest support for assert statements and initializers
Change-Id: I7a1f51144e69890d9858e60948cf59800ed81e53
Reviewed-on: https://dart-review.googlesource.com/56005
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2018-05-22 17:59:24 +00:00
Dan Rubel 298129c3a4 Improve part of identifier recovery
Change-Id: I16b5799e883ed0a04445809e329d9e7fba5afff4
Reviewed-on: https://dart-review.googlesource.com/56041
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-05-22 17:07:46 +00:00
Konstantin Shcheglov 371c8e4b87 Append version and CRC32 to data in FileByteStore.
We need this to prevent reading accidentally damaged data.

R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: I1c3b2c61f3cdb087c8f7effafba7fa13deef87ce
Reviewed-on: https://dart-review.googlesource.com/3700
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-05-22 17:06:32 +00:00
Aske Simon Christensen 6cc0d9770f Skip expressions by parsing them with a no-op listener.
This change slows down Fasta by around 0.5%, as it now does a full
parse of expressions outside bodies in the outline and diet parsing
phases, but it is, for now, a more robust solution than the heuristic
skipExpression, fixing several crashes.

Fixes https://github.com/dart-lang/sdk/issues/31155
Fixes https://github.com/dart-lang/sdk/issues/31171
Fixes https://github.com/dart-lang/sdk/issues/31188

Change-Id: Id5639dbd8b4c3f1f7e42eed66e3bee60f37bc3dc
Reviewed-on: https://dart-review.googlesource.com/55660
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2018-05-22 16:51:29 +00:00
Mike Fairhurst d34fe65afa Revert "New package:build workspace before we support it at the language level."
This reverts commit ac8971a98a.

Reason for revert: Tests fail on windows

Original change's description:
> New package:build workspace before we support it at the language level.
> 
> Does not work with dartanalyzer, only dart analysis server.
> 
> Change-Id: I1d7c3fbbbda512d799ac44a6fa5a188d1a3bb8c3
> Reviewed-on: https://dart-review.googlesource.com/55586
> Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
> Reviewed-by: Mike Fairhurst <mfairhurst@google.com>

TBR=brianwilkerson@google.com,mfairhurst@google.com

Change-Id: Ie3a0f7549cdbd65c9a3f7100f303105b121830a6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/56162
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2018-05-22 16:43:25 +00:00