Commit Graph

1535 Commits

Author SHA1 Message Date
Brian Wilkerson 723f8bca05 Convert parseMetadataStar and partially convert parseMetadata
Change-Id: I546206f1b7de042827a519f4ac9c721b98a3038e
Reviewed-on: https://dart-review.googlesource.com/19020
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-11-07 16:14:50 +00:00
Dan Rubel c18275f6c2 Fix type argument comment parsing
Change-Id: Ia8ca73131471af1c36f13d50a6b30fe63e607bb2
Reviewed-on: https://dart-review.googlesource.com/18980
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2017-11-07 14:32:29 +00:00
Brian Wilkerson e4e82643b9 Add highlight ranges to a few more tests
Change-Id: I00ad76d7c16eb34d2ba9c4778478ca5faa8b9036
Reviewed-on: https://dart-review.googlesource.com/18860
Reviewed-by: Dan Rubel <danrubel@google.com>
2017-11-06 17:40:25 +00:00
Brian Wilkerson 167b529da7 Convert most of the statement parsing methods
Change-Id: I1c7fa1abda6cd3d45ec83d32c864b4e23700b837
Reviewed-on: https://dart-review.googlesource.com/18861
Reviewed-by: Dan Rubel <danrubel@google.com>
2017-11-06 17:33:35 +00:00
Konstantin Shcheglov cfe6812abd Native classes are fixed, update the tests.
R=brianwilkerson@google.com, danrubel@google.com

Bug:
Change-Id: I2423c938adb4d5e39e3fd3613a73108b91018e77
Reviewed-on: https://dart-review.googlesource.com/18513
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-11-03 20:28:40 +00:00
Konstantin Shcheglov 5ea30b4e3d Rename performace_logger.dart to performance_logger.dart
R=paulberry@google.com, sigmund@google.com

Bug:
Change-Id: Ib7b6d122dff3ddabde3db2270daa777a269e04ed
Reviewed-on: https://dart-review.googlesource.com/18512
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-11-03 20:24:00 +00:00
Sigmund Cherem 24e4d3bb39 Define a location of the synthetic __loadLibrary_foo method
Change-Id: I8fd950cf7a6e6aed79240daed085f2a02e16666e
Reviewed-on: https://dart-review.googlesource.com/18430
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2017-11-03 18:59:40 +00:00
Dan Rubel 15a0abf956 Fix OutlineBuilder native class and AnalyzerDietListener tests
Update the OutlineBuilder and AstBuilder to fix native handling,
and in the process, fix several AnalyzerDietListener tests.

Fix https://github.com/dart-lang/sdk/issues/30836

Change-Id: I7e3b6c4c7d241f1325a5fce1e117e277c6166e49
Reviewed-on: https://dart-review.googlesource.com/18500
Reviewed-by: Paul Berry <paulberry@google.com>
2017-11-03 17:16:51 +00:00
Aske Simon Christensen e3c11c2703 Retain erroneous import, export and part (of) directives
If the URI of a directive is invalid, use a special URI with a
scheme marking it as malformed. In the loader, treat a file with
an invalid URI as empty.

Order all dependencies (imports and exports) by source position to
allow the DietListener to match them up properly with metadata.

For the same reason, add imports and exports within parts to
dependencies even though they are not permitted here.

Closes https://github.com/dart-lang/sdk/issues/30997
Closes https://github.com/dart-lang/sdk/issues/31004

Change-Id: Ic7efd0da058c246531c165508b7474475b4bdad2
Reviewed-on: https://dart-review.googlesource.com/17901
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2017-11-03 12:55:19 +00:00
Brian Wilkerson 38a170cca9 Make parseTypeVariable accept the last committed
Change-Id: I64e29df367fca45709beb450b5aff1f9073f0b78
Reviewed-on: https://dart-review.googlesource.com/18080
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-11-02 13:19:20 +00:00
Paul Berry 174c132931 Change CheckedModeCompileTimeErrorCodeTest to run in strong mode.
Change-Id: Id5d11429bb9ab8b0507b7a2047ba2f82f9b420fa
Reviewed-on: https://dart-review.googlesource.com/18141
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2017-11-01 22:40:27 +00:00
Konstantin Shcheglov 9d0d1fb6d2 Replace #30035 with #28434 in status files.
Kernel now supports these annotations, we need to start producing them.

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

Bug:
Change-Id: I1b2732ddad2674688d562f3be3ca29140a5e9381
Reviewed-on: https://dart-review.googlesource.com/17863
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-11-01 20:30:04 +00:00
Konstantin Shcheglov a3ea40eb3b Fix for covariant function typed parameters with void return type.
R=brianwilkerson@google.com

Bug:
Change-Id: I8e46ebd0afb7d9812016bae584a2f53066e15019
Reviewed-on: https://dart-review.googlesource.com/17982
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-11-01 18:58:35 +00:00
Brian Wilkerson f95e1475fc Remove the unused Listener.beginDottedName
Change-Id: I1c5752a9610f21dad62db6655972b4006ce632e9
Reviewed-on: https://dart-review.googlesource.com/17862
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2017-11-01 18:35:45 +00:00
Konstantin Shcheglov 9350925efe Add InvalidCodeTest with end-to-end cases of problematic invalid code.
R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: I39d26ea0b333ddfa69f281eeba78b04212e95a96
Reviewed-on: https://dart-review.googlesource.com/17960
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2017-11-01 18:16:25 +00:00
Brian Wilkerson 87a096e992 Remove the unused Listener.beginIdentifierList
Change-Id: I3644aaff3fa7a8a97b9e9bcc83f549f628a1fb71
Reviewed-on: https://dart-review.googlesource.com/17861
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-11-01 17:21:05 +00:00
Brian Wilkerson dd18ef841b Parser conversion, part 3
Change-Id: Ibe48da9bfa89887fb04a4b958b913fe7c0087cf1
Reviewed-on: https://dart-review.googlesource.com/17600
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2017-11-01 16:32:45 +00:00
danrubel 9319716c4f Ensure progress in parseUnit
This adds a check in the top level parseUnit loop to ensure
that parsing has not stalled causing an infinite loop.

Fix https://github.com/dart-lang/sdk/issues/31151

Change-Id: Ief7c12d60bd7e09111f9b1bbefa4a29b9fcf9175
Reviewed-on: https://dart-review.googlesource.com/17460
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-11-01 14:22:40 +00:00
Brian Wilkerson c223a6d9d6 Add highlight region information to more tests
Change-Id: I5f2ffe440f9358b551e73eef205c465bfea7bdac
Reviewed-on: https://dart-review.googlesource.com/17580
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-10-31 19:34:25 +00:00
P.Y. Laligand a28d599ab6 [gn] The Fuchsia build dir path may be relative.
Change-Id: I21f29233406ce6bb12c9fb2a95d5d988e85b5bf2
Bug:
Reviewed-on: https://dart-review.googlesource.com/17641
Reviewed-by: Zach Anderson <zra@google.com>
2017-10-31 19:23:17 +00:00
Dan Rubel 2b681b2149 Disable scanning of &&= and ||= assignment operators
Fix https://github.com/dart-lang/sdk/issues/30340

Change-Id: Id27f37af9805ca09deaa3c6252817e3d9a926216
Reviewed-on: https://dart-review.googlesource.com/17361
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-10-31 18:51:24 +00:00
Paul Berry c084df4747 Remove deprecated DirectoryBasedDartSdk.
This class has been deprecated for over a year, and I believe all uses
of it have been removed.

Change-Id: I42c39339b08bb98271000c2a459d3045388ec9ce
Reviewed-on: https://dart-review.googlesource.com/17520
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2017-10-31 17:13:40 +00:00
Brian Wilkerson b6ef64ffbd Parser conversion, part 2
Change-Id: I7fb782d5f9ac9a3ac024da953f1e72faa6e557b3
Reviewed-on: https://dart-review.googlesource.com/17280
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-10-31 17:05:35 +00:00
P.Y. Laligand abe4ef0cb2 [gn] Use a config file to locate the Fuchsia build directory.
Change-Id: Ia849f95455cff096c64f4b023990285c47900222
Bug:
Reviewed-on: https://dart-review.googlesource.com/17341
Reviewed-by: Zach Anderson <zra@google.com>
2017-10-31 16:57:24 +00:00
P.Y. Laligand 9283ed238c [gn] Look for packages in the Dart "toolchain".
Change-Id: I8f4164c5f767bbb45c8e2297c0e97a34651004b3
Bug:
Reviewed-on: https://dart-review.googlesource.com/16336
Reviewed-by: Zach Anderson <zra@google.com>
2017-10-30 19:20:53 +00:00
Brian Wilkerson 7bc53cd573 Test error highlight region in more cases
Change-Id: I904ba3785467f87c8f22d578e7c02bc96d6f1d12
Reviewed-on: https://dart-review.googlesource.com/17281
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-10-30 18:32:46 +00:00
Brian Wilkerson 61faf35b32 First set of Parser method conversions
Change-Id: If911c37f2324e45e5118de22e5fd636638a27d6a
Reviewed-on: https://dart-review.googlesource.com/17063
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-10-30 16:05:15 +00:00
Dan Rubel a2c5217e8d Update several fasta/analyzer covariant and type errors
* report "missing const, final, var, or type" error in several situations
* fix several top level covariant errors
* report final and covariant error

Change-Id: Iffe313c1b3cd2413be5f7763cb726436722e6a74
Reviewed-on: https://dart-review.googlesource.com/17140
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-10-30 13:28:46 +00:00
Brian Wilkerson f36203ecb0 Add error range checks for more of the existing tests
Change-Id: Ice173c1046f334b69dab8896a8d0eb570dbedaed
Reviewed-on: https://dart-review.googlesource.com/16691
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-10-27 13:53:18 +00:00
Dan Rubel 54f22f1a03 Improve error recovery for fields.
Change-Id: I5e44cc220f67f4daa9c5339c3afea9c5f2f48bcd
Reviewed-on: https://dart-review.googlesource.com/16721
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2017-10-27 03:02:40 +00:00
Dan Rubel a02662c47e improve errors and recovery for factory methods
Change-Id: I55711bdb0f98c0747c7055bebda173702c2c138f
Reviewed-on: https://dart-review.googlesource.com/16720
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2017-10-26 21:21:00 +00:00
Brian Wilkerson b8f870c524 Add support for testing the highlight range of errors
Change-Id: I077ee8318756450271b68c70ed304807a1dfb240
Reviewed-on: https://dart-review.googlesource.com/16640
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-10-25 20:00:26 +00:00
Konstantin Shcheglov 68cdf931ae Resolved comment references to elements of GenericTypeAlias.
R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/linter/issues/779
Change-Id: I6da1d7d740db6d6a53706ba1f1f26561e836a579
Reviewed-on: https://dart-review.googlesource.com/16620
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-10-25 19:51:47 +00:00
Dan Rubel dde9eb69a9 add handleInvalidMember to improve recovery
* add handleInvalidMember event
* update NodeListener to track invalidMemberCount
* update ClassMethodModifierContext to trigger handleInvalidMember
  event, reducing number of superflous errors.

Also, address comment
https://dart-review.googlesource.com/c/sdk/+/16040/1/pkg/analyzer/lib/src/fasta/ast_builder.dart#1580
Change-Id: I4c630faeee7731e2f85bbfaf0a6790bf6f4382b3
Reviewed-on: https://dart-review.googlesource.com/16100
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2017-10-24 02:58:28 +00:00
Dan Rubel c94956d721 rework AstBuilder to cache class declaration
With this change, AstBuilder no longer relies on the memberCount
parameter in the endClassBody event, making it easier to implement
handleInvalidMember in a subsequent CL.

* Cache the class declaration being built rather than just the name

* Append members directly to classDeclaration.members rather than
  pushing them on the stack

Change-Id: I3d8cf5c48d2aba28b9b7d96140c3d04d4e0b6e98
Reviewed-on: https://dart-review.googlesource.com/16040
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2017-10-23 21:35:52 +00:00
Brian Wilkerson 9575182790 Pass the period in field formal parameters to listeners to enable recovery
Change-Id: I04975f3fb1aeb3b3b6b842e3373a792f13a91685
Reviewed-on: https://dart-review.googlesource.com/16000
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-10-23 20:57:00 +00:00
Brian Wilkerson 6d11a2e3b4 Explicitly pass the colon following the default case in a switch to allow better recovery
Change-Id: I7e39727e1dd0a005e8e6ed565ec16cc8c503d049
Reviewed-on: https://dart-review.googlesource.com/15960
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-10-23 20:55:29 +00:00
Brian Wilkerson 930d4317cd Enable the assert in AstBuilder.handleIdentifier
Change-Id: I1d33efd5d0ff2f0c0e3625de7787217de4ccba26
Reviewed-on: https://dart-review.googlesource.com/15900
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2017-10-23 18:08:18 +00:00
Leaf Petersen 59525101c2 Add failing test for #30236
Bug:
Change-Id: I547706eca40cbde5119ef8f9542b5085f772e691
Reviewed-on: https://dart-review.googlesource.com/15341
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-10-20 17:08:27 +00:00
Brian Wilkerson b7bdf60c92 Remove Parser.firstToken and cleanup TokenStreamRewriter
Change-Id: I812215872c6d06fc86336c47e17f73617ff9936c
Reviewed-on: https://dart-review.googlesource.com/15200
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2017-10-19 21:47:57 +00:00
Leaf Petersen dd17a4c7f7 Alpha-vary generic function types before performing inference.
Generic function types were not previously renamed before using them
for inference, which resulted in capture problems when doing inference
on recursive generic method invocations.

Fixes #30980

Bug:
Change-Id: I1c610606dd65d86735cb615e077d720066a85e1a
Reviewed-on: https://dart-review.googlesource.com/15040
Commit-Queue: Leaf Petersen <leafp@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Jenny Messerly <jmesserly@google.com>
2017-10-19 19:26:07 +00:00
Konstantin Shcheglov 3fedd483f3 Parse metadata for import/export directives and resynthesize in Analyzer.
R=ahe@google.com, paulberry@google.com, sigmund@google.com

Bug: https://github.com/dart-lang/sdk/issues/30284
Change-Id: I57af6f4d58b6de39f13b9656af25f0be6949cf79
Reviewed-on: https://dart-review.googlesource.com/14363
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-10-19 16:35:17 +00:00
Brian Wilkerson e8fd094b69 Recover from missing the formal parameters in a typedef
Change-Id: Ibb0e7d7c84116b2b20b56eb95000a0de37ad0bb7
Reviewed-on: https://dart-review.googlesource.com/14300
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2017-10-19 13:47:46 +00:00
Brian Wilkerson 26b04e205a Generate an error when positional arguments are found after named arguments
Change-Id: Ic3cd913889e273a4efbd5a4e263625171aeb63e4
Reviewed-on: https://dart-review.googlesource.com/14560
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2017-10-18 19:17:12 +00:00
Dan Rubel d11fb5ba20 Improve class method modifier recovery and error messages
This streamlines checks for valid methods modifiers in fasta
and improves recovery and error messages when method modifiers
are out of order or invalid.

Change-Id: I045cc4d7cc15945354abe49827a770d346d234a3
Reviewed-on: https://dart-review.googlesource.com/14360
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2017-10-18 01:30:55 +00:00
Aske Simon Christensen 8a2a9e4622 Reland "Error on setter having not exactly one parameter"
Rewrite setter with invalid parameters into one with one parameter
and a body throwing a compile-time error.

Some analyzer tests fail until we sort out the expected form of the
generated kernel code in situations like this. This is tracked in
https://github.com/dart-lang/sdk/issues/31096

Closes https://github.com/dart-lang/sdk/issues/31069
Original CL: https://dart-review.googlesource.com/13080

Change-Id: I432240c33d6daf0ec6bfe2b73c609ab4762cda8c
Reviewed-on: https://dart-review.googlesource.com/14381
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Aske Simon Christensen <askesc@google.com>
2017-10-17 13:16:30 +00:00
Brian Wilkerson 55a440a6ee Report finding multiple library directives
Change-Id: If0e4441ddf7fd8db1b765ba6f06f56fdf3ce3106
Reviewed-on: https://dart-review.googlesource.com/14181
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-10-16 23:18:42 +00:00
Konstantin Shcheglov 26d0486de2 Fix serializing metadata when using LimitedBinaryPrinter.
TBR

This also fixes a race condition on Windows, where we sometimes
consume not serialized/deserialized Kernel.

R=ahe@google.com, kmillikin@google.com, paulberry@google.com, sigmund@google.com

Bug:
Change-Id: Ie40534d2562e75c05618e9ccb4fb86fc499184ff
Reviewed-on: https://dart-review.googlesource.com/14260
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2017-10-16 21:57:39 +00:00
Brian Wilkerson 8b98b32e7d Remove some obsolete tests
Change-Id: Id19fe66df1580c9d0082a0428ef1d116b8a1f570
Reviewed-on: https://dart-review.googlesource.com/14180
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-10-16 21:14:37 +00:00
Brian Wilkerson 26b3ae56df Fix another mis-associated error code
Change-Id: I466e0f276abde105be975d7d5851d1c3b56f4d56
Reviewed-on: https://dart-review.googlesource.com/14140
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-10-16 20:59:10 +00:00