Konstantin Shcheglov
4df3626d19
Remove support for (non)nullable types from Analyzer.
...
R=brianwilkerson@google.com
Change-Id: Ia26c203ed4fa238d1a546fe67e009fa542ed8f82
Reviewed-on: https://dart-review.googlesource.com/77666
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-10-02 20:05:15 +00:00
danrubel
7cd25705ab
Fix parsing label between 2 switch cases
...
Fix https://github.com/dart-lang/sdk/issues/34453
Change-Id: Ib2280c4482b6530dab3947a0dfd87490bd379034
Reviewed-on: https://dart-review.googlesource.com/75960
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-09-21 19:36:40 +00:00
Dan Rubel
49da026e3e
Report error for extends void type parameters
...
Change-Id: I634b836ea40199a1e7962b7d07ca9f5d1ef3f16a
Reviewed-on: https://dart-review.googlesource.com/74680
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-09-13 20:27:56 +00:00
danrubel
4fe0088962
Report error if super on RHS of binary expression
...
Change-Id: I6251d56f4df5ebb603b653a100fed2c643870c96
Reviewed-on: https://dart-review.googlesource.com/74601
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-09-12 18:10:26 +00:00
danrubel
d97a189ec8
Update AstBuilder to check if conditional expression contains assignable expressions
...
... and update a couple old analyzer tests
Change-Id: Id4f74857bc9e43cb31da38182788d2c5fe12e375
Reviewed-on: https://dart-review.googlesource.com/74523
Reviewed-by: Peter von der Ahé <ahe@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-09-12 11:10:56 +00:00
Kevin Millikin
2b296a0671
Enable mixin declaration syntax in Fasta
...
This enables mixin declarations for the Dart VM by parsing them into
class declarations.
Change-Id: Ic792009bc450d7c887f2e9962040ffad807881eb
Reviewed-on: https://dart-review.googlesource.com/74480
Commit-Queue: Kevin Millikin <kmillikin@google.com >
Reviewed-by: Dan Rubel <danrubel@google.com >
2018-09-11 18:05:52 +00:00
Konstantin Shcheglov
63fbfcc69a
Translate InvalidInlineFunctionType to ParserErrorCode.INVALID_INLINE_FUNCTION_TYPE.
...
R=brianwilkerson@google.com , danrubel@google.com
Change-Id: I2b1c7938c081b771e554149846c8157f8332e061
Bug: https://github.com/dart-lang/sdk/issues/33398
Reviewed-on: https://dart-review.googlesource.com/74043
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Dan Rubel <danrubel@google.com >
2018-09-10 16:08:41 +00:00
Dan Rubel
7905136e64
Allow with clause without extends clause
...
This removes the code the generates an error when a `with` clause
is used without an `extends` clause as in
```
class C with M { }
```
This is the first of several CLs to update the parser
as this CL only prevents the error from being generated.
Change-Id: I1d5c8577902e253a4c83cda2f6a1d4ab98319903
Reviewed-on: https://dart-review.googlesource.com/73687
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-09-07 00:25:58 +00:00
Konstantin Shcheglov
b443c9f72f
Parse static get/set with name of the enclosing class as getters/setters.
...
R=brianwilkerson@google.com , danrubel@google.com
Change-Id: I97015fbc3bc49c70a022a2edabf4fcdcc34405ad
Reviewed-on: https://dart-review.googlesource.com/73020
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2018-09-05 15:43:48 +00:00
Konstantin Shcheglov
d65a0ee361
Report more errors for mixin declarations.
...
I added a fix for parsing static methods in mixins.
R=brianwilkerson@google.com , danrubel@google.com
Change-Id: Ib3c91f6cd5a2eb333f88102609f709fcac1ab9e7
Reviewed-on: https://dart-review.googlesource.com/72901
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2018-09-04 19:41:25 +00:00
danrubel
4cd69887e3
Fix parsing postfix expressions with type parameters
...
Fix https://github.com/dart-lang/sdk/issues/34315
Change-Id: Id6b1749070473ed5a04a3f024276f9985f82da6e
Reviewed-on: https://dart-review.googlesource.com/72560
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-09-02 18:51:31 +00:00
Dan Rubel
8c7e83aed2
Remove generic method comment support
...
Change-Id: I1149ff9c61748fe8d3a51c95e40c02ec5115b0e7
Reviewed-on: https://dart-review.googlesource.com/72122
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-08-30 17:52:40 +00:00
Dan Rubel
ba0d814336
Remove obsolete parser tests
...
Change-Id: I74f0f65e0888a185644f9908e5a25e0c550113ec
Reviewed-on: https://dart-review.googlesource.com/72120
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-08-30 15:37:44 +00:00
Konstantin Shcheglov
d659022f08
Build elements for MixinDeclaration(s).
...
R=brianwilkerson@google.com , paulberry@google.com
Change-Id: Ica9912b795bbdfeea2dd46130e30bde3bdc4cef3
Reviewed-on: https://dart-review.googlesource.com/72067
Reviewed-by: Paul Berry <paulberry@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2018-08-29 21:05:35 +00:00
Brian Wilkerson
4212a46dab
Add failing tests for handling of comment refs by fasta parser
...
Change-Id: I02bfbf2354ccf49bf6c3ea4968bb916f06b34c07
Reviewed-on: https://dart-review.googlesource.com/71320
Reviewed-by: Dan Rubel <danrubel@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2018-08-23 17:11:47 +00:00
danrubel
3987cd4616
Update parser tests to use new scanner
...
Change-Id: Ia46e2d85acfcd21d88ee97ede2d9ed66620ec618
Reviewed-on: https://dart-review.googlesource.com/70520
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-08-17 16:45:02 +00:00
Brian Wilkerson
d772f40084
Add dummy test to prevent test failure from running no tests
...
Change-Id: I9379795edc2b84071a26447d4f5db1908527f17e
Reviewed-on: https://dart-review.googlesource.com/70420
Reviewed-by: Devon Carew <devoncarew@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2018-08-16 23:41:11 +00:00
Dan Rubel
ad6029c608
Update fasta parser to split ">>=" when parsing type var
...
Change-Id: Id60da00165ef1c7d9128985ccadef06f62637a24
Reviewed-on: https://dart-review.googlesource.com/70181
Commit-Queue: Dan Rubel <danrubel@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-08-16 01:04:46 +00:00
Dan Rubel
825df975a0
Revise fasta type arg/param parsing to ignore "<".endGroup
...
The scanner associates '<' with '>' and '>>',
but the parser cannot use '<'.endToken/endGroup reliably
and wastes time updating that token's endToken/endGroup field.
This CL updates type info parsing to ignore '<'.endGroup
and step through the token stream (which it has to do anyway),
for improved parsing.
This CL causes a handful of existing tests to fail (marked as @failingTest)
and test failures will be addressed in a subsequent CL.
Change-Id: I788e9a74cd2891f98f44bba15d5669febfec6c64
Reviewed-on: https://dart-review.googlesource.com/70001
Commit-Queue: Dan Rubel <danrubel@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-08-15 22:16:40 +00:00
danrubel
8e2141f1cf
Fix parsing typedefs with <T>=
...
This is the first CL of several needed to fix typedef parsing
when there is no space between the type parameters and the `=`.
typedef F<T>= T Function(T);
* Fix some typedef parsing failures
* Add new consts for simple type var ending with ">>" and ">="
* Update computeType and computeTypeParamOrArg to return new consts
* Extract splitGtEq/GtGt/GtGtEq from splitEndGroup
* Hide internal TypeInfo and TypeParamOrArgInfo consts
Change-Id: Ice550f5b15df1f3cad616a2a342644974f14d8ee
Reviewed-on: https://dart-review.googlesource.com/69261
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-08-10 15:09:21 +00:00
Dan Rubel
1cd9175e3e
Fix mixed dartdoc processing
...
This change should fix the failing ResynthesizeAstStrongTest.test_class_documented_mix test.
Change-Id: I0b89fa5ddbb4725ec0115836e8b5e801d18678c5
Reviewed-on: https://dart-review.googlesource.com/68900
Commit-Queue: Dan Rubel <danrubel@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-08-08 14:59:13 +00:00
danrubel
89fd468b89
remove unused DocumentationCommentToken.references field
...
Change-Id: Ia35dfe2c69d4f35d3a54dd0fcb026de23d888d1c
Reviewed-on: https://dart-review.googlesource.com/68520
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-08-07 16:07:09 +00:00
danrubel
49b18446c2
Refactor dartdoc parsing
...
This extracts and refactors a sizable chunk of dartdoc parsing out of AstBuilder
and into the fasta parser. Parsing dartdoc does not happen unless the listener
calls the new fasta parser parseCommentReferences method.
The new parseCommentReferences method generates a handleCommentReferenceText
event for each comment reference encountered. The listener calls the scanner
to tokenize the comment reference and forwards the result to a new
fasta parser parseOneCommentReference method. This method generates either
a handleCommentReference or a handleNoCommentReference depending upon
whether or not a reference is parsed.
parser.parseCommentReferences
* generates handleCommentReferenceText events
* returns # of events generated
listener.handleCommentReferenceText
* calls parser.parseOneCommentReference
parser.parseOneCommentReference
* generates either handleCommentReference or handleNoCommentReference
There are further improvements to be made, but I believe this chunk
will allow progress to be made on the kernel side.
Change-Id: I393dc4d1d4791b3d7a529f6cb3c16db3a5befddf
Reviewed-on: https://dart-review.googlesource.com/68461
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-08-07 16:07:09 +00:00
danrubel
368bcc47df
Add parse dartdoc tests for fasta parser
...
Change-Id: Ieb8ed7d09abdae097f991aae566cd6256b18ef24
Reviewed-on: https://dart-review.googlesource.com/68202
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-08-03 14:55:56 +00:00
danrubel
4b2ee8e9a5
Improve catch clause recovery
...
Fix https://github.com/dart-lang/sdk/issues/33982
Change-Id: I98387ffabef87dd0296f18e080a1c4b8a7e97c2b
Reviewed-on: https://dart-review.googlesource.com/67641
Commit-Queue: Dan Rubel <danrubel@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-07-31 20:30:03 +00:00
danrubel
4734c55882
Report error on unsupported operators
...
Change-Id: Iea1469e1252c89c630e8bf646caf37051d78c84c
Reviewed-on: https://dart-review.googlesource.com/67401
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-07-31 18:23:10 +00:00
danrubel
ff9167ff7b
Fix parseDirectives to recognize metadata
...
Change-Id: I36be5c3ffef93c0bb6ae58b8c482df4208a37e63
Reviewed-on: https://dart-review.googlesource.com/67440
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-07-31 16:46:38 +00:00
danrubel
a74d6eac69
Report error on constructor with type parameters
...
Change-Id: I29a6e88f9d820834b13b0fa1c42a11d25d2e49f0
Reviewed-on: https://dart-review.googlesource.com/66602
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-07-25 18:54:07 +00:00
danrubel
751e19c6d7
Report error if expression is not assignable
...
Change-Id: Iabc26a4587b7905337f3bbe4826a2ed650d2f56c
Reviewed-on: https://dart-review.googlesource.com/66480
Commit-Queue: Dan Rubel <danrubel@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-07-25 16:06:29 +00:00
danrubel
ca1cb5e817
Allow type before "this." in constructor
...
Fix https://github.com/dart-lang/sdk/issues/33945
Change-Id: Iaa080ff311a6ba306c42e2667a7897fdb87b406a
Reviewed-on: https://dart-review.googlesource.com/66201
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-07-23 18:34:39 +00:00
Dan Rubel
25d5d15935
Fix parse invalid property access
...
Fix https://github.com/dart-lang/sdk/issues/33914
and update recovery tests
Change-Id: I5c0d00ffcd4d8de71b60dfc08f1109b50f3bc1e3
Reviewed-on: https://dart-review.googlesource.com/65800
Commit-Queue: Dan Rubel <danrubel@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-07-19 20:55:17 +00:00
Dan Rubel
75e1ebd55c
Improve "else" statement recovery
...
Change-Id: I122e84f80b13cf6d72080af17b3a0f4a27a14b53
Reviewed-on: https://dart-review.googlesource.com/65180
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-07-17 17:17:21 +00:00
Brian Wilkerson
0a2eb8524f
Map UnmatchedToken to an analyzer code
...
Change-Id: Idb7130dee9692086e4ed844daa48787f9085b94b
Reviewed-on: https://dart-review.googlesource.com/65341
Reviewed-by: Dan Rubel <danrubel@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2018-07-17 16:29:19 +00:00
Dan Rubel
b571e9391c
Report missing semicolon on last consumed token
...
This moves the location on which a missing semicolon error is reported,
making it easier for a user to understand and fix,
and fixing some of the statement completion tests.
Change-Id: I11b9de57e2b3104238e1edb801ad1cd02e9a63a2
Reviewed-on: https://dart-review.googlesource.com/64900
Commit-Queue: Dan Rubel <danrubel@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-07-17 12:30:37 +00:00
danrubel
166e3e12b3
Remove Scanner.useFasta
...
This removes some of the code that tests the unused pre-fasta Scanner code.
Change-Id: I2d20d286e71516d6c2430a8b8e06158b53ea1a89
Reviewed-on: https://dart-review.googlesource.com/64420
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-07-11 14:25:44 +00:00
Brian Wilkerson
cf30a28ca1
Map UnexpectedDollarInString to an analyzer error code
...
Change-Id: Iee398e4a9490be83e352c6610bfadc90ae03936e
Reviewed-on: https://dart-review.googlesource.com/64242
Reviewed-by: Dan Rubel <danrubel@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Paul Berry <paulberry@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2018-07-09 22:55:57 +00:00
danrubel
0b4d8b45bb
fasta parser tests for 33647
...
The fasta parser correctly handles the code specified in
https://github.com/dart-lang/sdk/issues/33647
Change-Id: I690311ce031e458dc9c5ea978c954ba7a4b60262
Reviewed-on: https://dart-review.googlesource.com/64200
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-07-09 22:10:25 +00:00
danrubel
6d328b7fc5
Correctly parse dartdoc before abstract class
...
This fixes https://github.com/dart-lang/sdk/issues/33738
Change-Id: I1cc3c8202a20cfe273a4dd9f97e136cf142396d3
Reviewed-on: https://dart-review.googlesource.com/64140
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-07-09 19:51:39 +00:00
danrubel
10a6a94705
Improve chained as/is expression recovery
...
... and remove unused token from handleIsOperator and handleAsOperator events
Change-Id: Ie328dafd58b998b8c3d08bf3288c014c87c04a5e
Reviewed-on: https://dart-review.googlesource.com/62740
Commit-Queue: Dan Rubel <danrubel@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-06-28 21:02:58 +00:00
Kevin Moore
cb4a19b5fc
misc(pkg/analyzer): update to latest pkg:matcher API
...
Change-Id: I42a5c41394226f6ddc9c0608c6d688ae683ffdea
Reviewed-on: https://dart-review.googlesource.com/62680
Commit-Queue: Kevin Moore <kevmoo@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2018-06-27 19:29:20 +00:00
Dan Rubel
966541bec9
Improve literal function recovery
...
This fixes a crash when parsing literal functions
and improves recovery.
Change-Id: I22e7793d08e772bd186e1fb8fd01e09fa72ea13e
Reviewed-on: https://dart-review.googlesource.com/62380
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-06-26 19:25:42 +00:00
Dan Rubel
386efb1e6a
Improve type parameter recovery
...
This fixes another crash in the fasta parser
and improves the way it recovers when parsing type parameters
before a map or list literal.
Change-Id: Ic02513b98a31e9ed3f59c8391c260a2a214983ae
Reviewed-on: https://dart-review.googlesource.com/62340
Commit-Queue: Dan Rubel <danrubel@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-06-26 19:24:28 +00:00
danrubel
ddde9820a9
Improve fasta parser parameter list recovery
...
... and update more Analyzer fasta tests.
Change-Id: Ia6e9e08cca1a1c81528767e5c0b2f18435cd8ea9
Reviewed-on: https://dart-review.googlesource.com/61000
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-06-19 17:55:46 +00:00
Dan Rubel
8f0106e490
Update more Analyzer fasta tests
...
Change-Id: I1b39eebaf11882bd1524335a7dcbba86f2d26cfb
Reviewed-on: https://dart-review.googlesource.com/60362
Commit-Queue: Dan Rubel <danrubel@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-06-15 00:38:53 +00:00
Dan Rubel
c015e8d303
Improve invalid string literal error recovery
...
Change-Id: Ic7d5d3f19e97a0004254377170bcc91efc7bfb08
Reviewed-on: https://dart-review.googlesource.com/60360
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-06-14 22:53:34 +00:00
danrubel
ec58802ea4
Update Analyzer/fasta async* and sync* error message tests
...
Change-Id: I5aea43305a65797d279ca132764c34b33f19ca41
Reviewed-on: https://dart-review.googlesource.com/59980
Commit-Queue: Dan Rubel <danrubel@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-06-13 13:02:50 +00:00
danrubel
5df04a89b7
Update more Analyzer tests
...
Change-Id: I23ca56867eb33c9d8983648be9305b82e6441934
Reviewed-on: https://dart-review.googlesource.com/59920
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-06-13 12:34:20 +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
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
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