Commit Graph

2540 Commits

Author SHA1 Message Date
Leaf Petersen ebc30fd0da Move void to top of type hierarchy
Fixes #33341

Change-Id: Ib2b7b5542b702a04b38dee5261fc80664a7fcc18
Reviewed-on: https://dart-review.googlesource.com/59822
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
2018-06-11 22:40:44 +00:00
Konstantin Shcheglov bdbf872079 Issue 33373. Support for annotations for enum constants.
R=brianwilkerson@google.com

Fixes https://github.com/dart-lang/sdk/issues/33373
Fixes https://github.com/dart-lang/sdk/issues/33375

Change-Id: I917458b38ed7d6c83351f87387d6854e5311ddf2
Reviewed-on: https://dart-review.googlesource.com/59440
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-06-08 18:15:00 +00:00
Brian Wilkerson f368037126 Remove uses of mockito because they are causing problems in dart2
Change-Id: Ife57033ede3abdd1e609e1361fb688d96de4dcbf
Reviewed-on: https://dart-review.googlesource.com/59141
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-06-07 18:59:19 +00:00
Kevin Millikin 292b9037e1 Update a pair of analyzer tests
The static type of invocations of methods from class Object on
receivers with static type dynamic has changed.  Clean up a pair of
analyzer tests that expected the previous behavior and were expected
to fail because the analyzer already implemented the intended
behavior.

Change-Id: I7a65fa4e46a0da51bcf1c183a7c30f0976baaef5
Reviewed-on: https://dart-review.googlesource.com/58205
Reviewed-by: Aske Simon Christensen <askesc@google.com>
Commit-Queue: Kevin Millikin <kmillikin@google.com>
2018-06-07 13:24:41 +00:00
Brian Wilkerson 9c5d54cc7e Fix the generation of labels
Change-Id: I486e5a23d31bc85ad534b072867db883f5d60c33
Reviewed-on: https://dart-review.googlesource.com/58981
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-06-07 13:22:55 +00:00
Peter von der Ahé 656ed8491e Follow up to previous CL
This addresses comments from
https://dart-review.googlesource.com/c/sdk/+/58201.

Change-Id: I59fd5ea06fbd644a7ba5e6be842ce20cfaee7536
Reviewed-on: https://dart-review.googlesource.com/59060
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2018-06-07 09:33:52 +00:00
Brian Wilkerson 87c62539a8 Fix issues in the test framework that were causing some tests to fail
Change-Id: I6dd8ef3f044fa6f968fe5f4449421ce15225b50f
Reviewed-on: https://dart-review.googlesource.com/58802
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-06-06 20:08:34 +00:00
Dan Rubel 3ece660fea Update AstBuilder to handle implicit creation expression
Change-Id: I772cbef5ad7e87ecedf0b05551e04ec938cd0096
Reviewed-on: https://dart-review.googlesource.com/58583
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-06-06 20:00:56 +00:00
Mike Fairhurst 4d23db795c Fix a bug in optional const: missing instantiation to bounds on ctors
Part of #30384. This was usually not a problem as most cases involve
additional visitors which rewrite this (for instance, inference).

However, in some cases (appears to be summaries only), that extra
resolution is not needed/skipped, so the non-instantiated constructors
remain.

That makes the constantValue of annotations vulnerable to this, and the
resulting DartObject types will have 'TypeParameterType's for there
typeArguments.

Instantiate the types to bounds, and get the ctor from the type rather
than the element, inside of AstRewriter in order to ensure these
constructors are instantiated.

Change-Id: I65f55feb751e139e68c774786bfbc53788d32995
Reviewed-on: https://dart-review.googlesource.com/58800
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2018-06-06 17:38:24 +00:00
Peter von der Ahé 6054cb3e1f CompilerContext always expects a Future now
This change is made because we were incorrectly calling
CompilerContext.clear *before* running the main compilation
task which is async.

Change-Id: I7181af33fe733e5bc653fa742b9e06782f4278d0
Reviewed-on: https://dart-review.googlesource.com/58201
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-06-06 09:35:31 +00:00
Dan Rubel daee781179 Revise beginTypeVariable event in event sequence
This is the first CL in a series aimed at removing the need to reparse type variables in
https://github.com/dart-lang/sdk/blob/master/pkg/front_end/lib/src/fasta/kernel/body_builder.dart#L3669
and ultimately improving recovery by removing parseType.

* Move calls to listener.beginTypeVariable after parsing metadata and identifier
* Pass variable name via beginTypeVariable rather than via handleIdentifier
* Add additional check in test for issue 31846

Change-Id: I983b9d17675fc899c83df69fa1777059903e3f52
Reviewed-on: https://dart-review.googlesource.com/58300
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-06-05 15:11:00 +00:00
Brian Wilkerson 2a545d7153 Initial implementations for some of the generator methods
Change-Id: Idb4d5c2b6c5b6d283d27823d9ec9f9fb66900a74
Reviewed-on: https://dart-review.googlesource.com/57902
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-06-01 17:34:43 +00:00
Brian Wilkerson 545ad130a2 Fix a couple of bugs in the analyzer forest implementation
Change-Id: Iff246ba92976bab87b643ee9e96efa8f1db0cccb
Reviewed-on: https://dart-review.googlesource.com/57715
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-06-01 15:11:34 +00:00
Mike Fairhurst 99dadf4d7f Remove unneeded (and incorrectly typed) mock step
Correctly typed as far as old mockito is concerned because it does not
check types. With this fixed we'll be clear to upgrade mockito inside
the SDK to the one that does.

Change-Id: If68c0bb02c8652be6b891c189fabee135423f94c
Reviewed-on: https://dart-review.googlesource.com/57712
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2018-05-31 22:38:37 +00:00
Brian Wilkerson 89c2da2846 Add generator for unlinked names
Change-Id: I5841b3ff86133eedd14d8bef26c3d1b2dd78f34d
Reviewed-on: https://dart-review.googlesource.com/57703
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2018-05-31 19:21:16 +00:00
Konstantin Shcheglov 0aad13db00 Revert 'Copy @failingTest annotations to mixin applications.'
This reverts commit 242bc3413c.

R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/33099
Change-Id: I8a1b24926072fe64e3ab73d38a1fa73695237fc4
Reviewed-on: https://dart-review.googlesource.com/57701
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-05-31 18:40:27 +00:00
Brian Wilkerson 95afe4171a Add an implementation of the UnresolvedNameGenerator for analyzer
Change-Id: I685dc6071980c2df4adb755d6e5e8daf9ecc211b
Reviewed-on: https://dart-review.googlesource.com/57420
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2018-05-31 16:24:02 +00:00
Peter von der Ahé 032925c4ff Remove obsolete features
Remove tree-shaker as we're not using it, and it creates problems
when the SDK changes.

Remove scopes from AstBuilder as we will be phasing out AstBuilder
in favor of using BodyBuilder and the Forest API.

Change-Id: I51950c5d8bfb0493587336325f9da8f5bf8ecea6
Reviewed-on: https://dart-review.googlesource.com/57261
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2018-05-31 07:24:54 +00:00
danrubel a53b585498 Fix more Analyzer tests
* Add "usingFastaParser" accessor for Analyzer engine tests
* Update Analyzer compile time error code tests
* Add additional checks for async/await/yield as identifiers
* Update built-in as type variable error message
* Check for "this." in local declaration parameters
* Remove unnecessary asserts

and address comment in https://dart-review.googlesource.com/c/sdk/+/57022

Change-Id: I54b5ac22f912289dad6360646fae7eca717bbd98
Reviewed-on: https://dart-review.googlesource.com/57220
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-05-31 00:25:03 +00:00
Sam Rawlins cc9c8f93f5 Add HintCode for duplicate shown/hidden names
Bug: https://github.com/dart-lang/sdk/issues/33182
Change-Id: Ibb82c44357bc59044340c6d8b1904c7815d19215
Reviewed-on: https://dart-review.googlesource.com/57161
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2018-05-30 17:22:40 +00:00
danrubel d116e62d76 Improve catch parameter recovery
Change-Id: Ib4479eb7682c7093e9076f12a85d5a2f911a3f1d
Reviewed-on: https://dart-review.googlesource.com/57022
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-05-30 01:31:49 +00:00
Konstantin Shcheglov 8b0c1f8044 Fix AstRewriteVisitor to set elements/types for instance creation nodes.
R=brianwilkerson@google.com

Bug: https://github.com/flutter/flutter/issues/17429
Change-Id: I818fabb2faf1b0ffb68957a9713a22e53db25709
Reviewed-on: https://dart-review.googlesource.com/57000
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-05-29 18:08:07 +00:00
danrubel 96dd9d49db Update Analyzer tests to pass NonExistingSource rather than null
Change-Id: I770d50a31230e7e3fdabecf4cbffc6fee76e1fb5
Reviewed-on: https://dart-review.googlesource.com/57020
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-05-29 17:12:26 +00:00
Dan Rubel b7336ab443 Improve field type argument recovery
This CL improves recovery when parsing field type arguments
and adds more tests for parsing type parameters and type arguments.

Change-Id: Ib6ee4081f898d0421d90a66de84d686206a06a8f
Reviewed-on: https://dart-review.googlesource.com/56682
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-05-29 16:30:46 +00:00
danrubel b4699ae795 Improve type parameter and type argument recovery
This improves recovery when parsing type arguments in
* top level fields and functions
* class members

and when parsing type parameters in
* top level functions
* class declaration
* class methods

Change-Id: I7dbb520d6bb39c0d13b27698658dafe580f2b16c
Reviewed-on: https://dart-review.googlesource.com/56681
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-05-26 02:25:53 +00:00
Dan Rubel d3da30c152 Report errors on non-synthetic tokens
This updates fasta parser error reporting to find a non-synthetic token
on which to report an error. In addition, this addresses a comment in
https://dart-review.googlesource.com/c/sdk/+/56041

Change-Id: Id3415529a7b8635273221c7c2f3d36e1695a9ece
Reviewed-on: https://dart-review.googlesource.com/56540
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-05-24 15:54:32 +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
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
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 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
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
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
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
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
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
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
Mike Fairhurst ac8971a98a 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>
2018-05-21 17:45:28 +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
Brian Wilkerson 85fbc71f22 More test framework cleanup
Change-Id: I9090c4f07154fb86621e8870158876053bad5336
Reviewed-on: https://dart-review.googlesource.com/55992
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-05-21 02:44:28 +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
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
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
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
Dan Rubel 7d5ebb937b A few more Analyzer/CFE type argument tests
Change-Id: I32e3dd65f470893f1ff244412eae7fccc0a6c150
Reviewed-on: https://dart-review.googlesource.com/55740
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-05-17 17:17:16 +00:00
Dan Rubel b7659e6d03 Improve typedef declaration recovery
This CL improves typedef recovery and removes another call to parseType.

Change-Id: I55aca86fe08bb06b040f5ec3c54266fcf795dbb3
Reviewed-on: https://dart-review.googlesource.com/55540
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-05-17 13:39:36 +00:00
Brian Wilkerson 874f7f6c5c Add Forest support for creating if statements
Change-Id: Ia7f1f672adee0e8da2e5c1c54f9690e7f2597263
Reviewed-on: https://dart-review.googlesource.com/55273
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-05-15 22:31:42 +00:00
Brian Wilkerson 55eba71759 Add Forest method to support the rethrow statement
Change-Id: Iffba18a8c81462373122c9204d758008448fbfed
Reviewed-on: https://dart-review.googlesource.com/55021
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-15 13:40:32 +00:00
Brian Wilkerson cbb2403f5d More improvements to the test framework
Change-Id: I57827bd7f6a0b7873bba87e99b7043efb96ddd0c
Reviewed-on: https://dart-review.googlesource.com/54982
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-05-14 21:47:47 +00:00
Brian Wilkerson d30a05711f Fix the parsing of literal symbols
Change-Id: I237871ee1c44d2819afbbee583ddd7e14b1ef043
Reviewed-on: https://dart-review.googlesource.com/54801
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2018-05-14 18:23:27 +00:00