Commit Graph

3345 Commits

Author SHA1 Message Date
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é 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
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é 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
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
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
Peter von der Ahé 330dcb19da Rename remaining generators
Change-Id: I8baf2347aaab8a32eb41518ea8079dc491753af5
Reviewed-on: https://dart-review.googlesource.com/56106
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-05-22 13:10:42 +00:00
Dmitry Stefantsov 2c9d8924e3 [fasta] Make explicit Object in bound a constraint during type inference
Change-Id: I1da9c822e83663dd285880a074e5a36ff295003c
Reviewed-on: https://dart-review.googlesource.com/55897
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2018-05-22 13:06:11 +00:00
Peter von der Ahé 5924c35640 Prepare to remove expression_generator_impl.dart
Change-Id: I459ee57e95b47bf59935df32902ce19051c3e7ab
Reviewed-on: https://dart-review.googlesource.com/56105
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-05-22 12:23:21 +00:00
Aske Simon Christensen e191d4feb5 Simplify errors on invalid arguments
Change-Id: I1bd94725b4e4e44e706c6d22543bbea22649ec69
Reviewed-on: https://dart-review.googlesource.com/55680
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-05-22 11:14:22 +00:00
Peter von der Ahé 7ab9ea0e4e Change return type of Fangorn.parenthesizedCondition
Change-Id: Ie023607a0a85adcb710ec91174188a2013146254
Reviewed-on: https://dart-review.googlesource.com/56100
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2018-05-22 09:40:21 +00:00
Peter von der Ahé 09582b46ea Remove FastaAccessor and Accessor
Change-Id: I439670b0fafa09536901647572615afa4e82977a
Reviewed-on: https://dart-review.googlesource.com/55965
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-05-22 09:32:41 +00:00
Peter von der Ahé a738567968 Convert ContextAccessor to ContextAwareGenerator
Change-Id: Id9afaa968616d48c0dbe088d19a7dcb0f94ef369
Reviewed-on: https://dart-review.googlesource.com/55964
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-05-22 09:23:21 +00:00
Peter von der Ahé bbdf560ee7 Convert UnresolvedAccessor to UnresolvedNameGenerator
Change-Id: Ie28b5d963ab575383b36551657c0f0109b5de53d
Reviewed-on: https://dart-review.googlesource.com/55963
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-05-22 09:23:21 +00:00
Peter von der Ahé b5c6143d74 Convert IncompleteSend to IncompleteSendGenerator
Change-Id: Ief33fe9277ec9a297f0dc9274820e1f1ab13ca75
Reviewed-on: https://dart-review.googlesource.com/55962
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-05-22 09:23:21 +00:00
danrubel 1cf871a4d2 Improve import/export combinator identifier recovery
Change-Id: I9f0a418d3b1fae001199c27850b1a85daf2d07a6
Reviewed-on: https://dart-review.googlesource.com/56040
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-05-21 21:12:19 +00:00
Brian Wilkerson 99eb2195c8 Add Forest support for break and continue statements
Change-Id: Id7b109ca9acaa6d68cdc0682109bb65bd7cda62f
Reviewed-on: https://dart-review.googlesource.com/55991
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2018-05-21 16:45:40 +00:00
Brian Wilkerson 0ff6c20c66 Add Forest support for return statements
Change-Id: I84df2c0e392de16130e6933544a7aa41bb7d9a7f
Reviewed-on: https://dart-review.googlesource.com/55993
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-05-21 13:08:28 +00:00
Dan Rubel 78cc8a13a2 Improve type parameter recovery
This CL replaces several calls to parseTypeVariablesOpt with calls
to computeTypeParam with improved recovery for missing '>'.

In addition, this CL
* moves isOneOfOrEof to util.dart
* moves insertSyntheticIdentifierAfter into TokenStreamRewriter

Change-Id: I48080809d156dd98ccfed7aa2f67be254f4da201
Reviewed-on: https://dart-review.googlesource.com/55940
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-05-20 12:02:56 +00:00
Brian Wilkerson 720b6c963c Improve some tests and fix a Dart 2 error
Change-Id: Ia9581c5b27e7fc0540054b7acde9dd1a96dfe927
Reviewed-on: https://dart-review.googlesource.com/55981
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-05-19 15:06:51 +00:00
Peter von der Ahé 4610daa1c1 Convert ThisAccessor to ThisAccessGenerator
Change-Id: I097c330712c789a65a1ce9c6a57ef0c81a3a32ed
Reviewed-on: https://dart-review.googlesource.com/55893
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-05-19 06:29:19 +00:00
Peter von der Ahé eec11ebe4a Convert ErrorAccessor to ErroneousExpressionGenerator
Change-Id: Ie62314781b264a56a77e466f334f6c9d8cec2cba
Reviewed-on: https://dart-review.googlesource.com/55887
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-05-19 06:09:49 +00:00
Brian Wilkerson 7ac05a120a Add Forest support for do statements
Change-Id: Iefa5f5bda3f7b47cc230f4ae8da93fbe3897961f
Reviewed-on: https://dart-review.googlesource.com/55912
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-05-18 18:49:58 +00:00
Brian Wilkerson 029e1394f7 Make type promotion conditional depending on which builder is being used
Change-Id: I5a689de071ae9d34816d354ffc10e95e719cae4a
Reviewed-on: https://dart-review.googlesource.com/55910
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-05-18 18:21:27 +00:00
Brian Wilkerson 04816270fa Add Forest support for creating parenthesized conditions
Change-Id: I69aa15244dff20d18d7a34c6b052bd9eeed388ed
Reviewed-on: https://dart-review.googlesource.com/55761
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-05-18 17:51:08 +00:00
Brian Wilkerson 353ddbaea1 Add Forest support for while statements
Change-Id: Iffec7799642a44fc6ab2b5f8b7493135d2d05ac5
Reviewed-on: https://dart-review.googlesource.com/55906
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-05-18 17:34:28 +00:00
Peter von der Ahé 0c2b349827 Blocks and variable declarations in Forest
This is a starting point for supporting blocks and variable
declarations in the forest API. I'm not sure exactly how the
analyzer handles variable declarations, so we'll probably have
to iterate on that part.

Change-Id: I93aec818baec24f8b038f02c66699117070d6b0c
Reviewed-on: https://dart-review.googlesource.com/55683
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2018-05-18 13:55:47 +00:00
Dmitry Stefantsov 5ecf69d90a [fasta] Use Object as defaultType if Object is the explicit bound
Change-Id: I0b3dacbbe5bc45b9e0142e7bb3f6793c83ac4cd2
Reviewed-on: https://dart-review.googlesource.com/55885
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-05-18 11:08:57 +00:00
Lasse R.H. Nielsen a4494a7fb2 Make mixin and interface built-in identifiers.
Fixes #33113

Bug: http://dartbug.com/33113
Change-Id: I4b0b7c9d82ae9df6a7e9f71168ca981c62c7a2f1
Reviewed-on: https://dart-review.googlesource.com/55222
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-05-18 09:57:17 +00:00
Dan Rubel 6fee620564 Convert more IdentiferContext consts
* Update local function identifier context
* Update IdentifierContext.operatorName
* Simplify top level declaration identifier context

Change-Id: Ie977769dde3374f109283b9af49be18dd71144bf
Reviewed-on: https://dart-review.googlesource.com/55803
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-05-17 21:42:17 +00:00
Dan Rubel 3e8ca8e0a6 Improve class declaration header recovery
This improves recovery when parsing type names in a class declaration header
by replacing calls to parseType with calls to computeType.

Change-Id: Icbb86fd977d4d92b00abf2282baea34a1ff21e1d
Reviewed-on: https://dart-review.googlesource.com/55802
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-05-17 20:57:11 +00:00
Dan Rubel ffd5a1914d Update top level function name identifier context
Change-Id: I25e20aad434b670752a2cac2d572812a0f88228a
Reviewed-on: https://dart-review.googlesource.com/55801
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-05-17 20:57:11 +00:00
Dan Rubel 1a2f317735 Update parse mixin to use computeType and add recovery tests
... and address comments in
https://dart-review.googlesource.com/c/sdk/+/55560

Change-Id: Ifc97b0b43d91e6c04a344a862d2de0e11ae001cf
Reviewed-on: https://dart-review.googlesource.com/55800
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-05-17 20:49:06 +00:00