Jens Johansen
c60398400e
[parser] Recover better from 'required' parameter declaration in non-nnbd
...
Natural follow-up to https://github.com/dart-lang/sdk/issues/44379 .
Change-Id: Idf73df0c9e8ce1f477d05aa73caf8975d2ffb9f2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175307
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-12-09 13:47:19 +00:00
Jens Johansen
a8b372057e
[parser] Recover better from 'late' field/variable declaration in non-nnbd
...
Fixes #44379
(https://github.com/dart-lang/sdk/issues/44379 )
Change-Id: If97d0d57b1fe16777f6208b49a8b472420ac526a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175306
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-12-09 13:01:39 +00:00
Lasse R.H. Nielsen
6e29700e16
Update List constructor documentation, deprecate constructor.
...
Emphasize that the operation is going away,
and mark constructor as deprecated.
TEST= Refactoring+deprecation only, covered by existing tests.
Change-Id: I82aa044cd2cf7bf347b624371399f44bda8f4a07
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/173261
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Nate Bosch <nbosch@google.com >
2020-12-07 16:20:28 +00:00
Jens Johansen
c36d4d65af
[parser] Give errors when 'external' comes in wrong order
...
Fixes https://github.com/dart-lang/sdk/issues/43851
Fixes https://github.com/dart-lang/sdk/issues/43858
Fixes https://github.com/dart-lang/sdk/issues/43859
Change-Id: I33c9cde01a0843efba3ca0d0a679f4e31b06237c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/168650
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-10-23 09:19:01 +00:00
Jens Johansen
553230ffb4
[parser] Give errors when 'abstract' comes in wrong order
...
Fixes https://github.com/dart-lang/sdk/issues/43855
Fixes https://github.com/dart-lang/sdk/issues/43856
Fixes https://github.com/dart-lang/sdk/issues/43857
Change-Id: I83ee716288741d2d84a1993e9743ad4b82af22ba
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/168646
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-10-23 08:05:31 +00:00
Jens Johansen
5a6129406f
[parser] Consistently disallow 'late' without 'var', 'final' or type
...
Fixes https://github.com/dart-lang/sdk/issues/43811
Fixes https://github.com/dart-lang/sdk/issues/43812
Fixes https://github.com/dart-lang/sdk/issues/43813
Change-Id: I39de527883d33459694ec0f91b769676eb52d54b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/168641
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-10-23 06:28:51 +00:00
Jens Johansen
e6ffc0b285
[parser] Issue different warnings for missing identifier based on whether the token is used or not.
...
E.g. "var = 42;" now has a different error message than "var default = 42;".
Fixes #22553
Change-Id: I58affe988569d8e79190b63f7267b471a1b0ebc8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/162182
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-09-14 08:55:18 +00:00
Jens Johansen
f4d3f8e0a2
[parser] Delete unused TokenStreamGhostWriter; test used UndoableTokenStreamRewriter
...
Change-Id: I7f4f053273f70d282b2ced7338715ca314055065
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/162190
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-09-11 06:46:11 +00:00
Jens Johansen
b0acaea1e5
[parser] Recover written out binary operators
...
* Add mechanisms to try out a recovery and only perform it if is
successful.
* Recover written out binary operators, e.g. "a xor b", "a or b" etc.
This fixes #26810 and is also how these operators are written in e.g.
Kotlin. This might be somewhat controversial though.
* Adds a mechanism to _replace_ a token by another token.
This might be controversial.
It is done because just inserting the operator causes the same rewrite
to be attempted on the same token stream several times (at least with
the way the token stream is parsed via the CFE) in turn causing it to
be recovered *sometimes*. This is now avoided by actually replacing
the token.
Change-Id: Icfa806045575d2aa2e5f35126708651b275bcf84
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/162003
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-09-10 06:23:33 +00:00
Jens Johansen
a06e53b557
[parser] Set forIn = true when recovering 'in' written as ':'
...
Before this change the CFE crashed with an assert error.
Change-Id: Ide486388fbba8c6cda4bb75e5339ae3c10623351
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/161949
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-09-09 06:41:14 +00:00
Jens Johansen
b4673b58b9
[parser] Better recovery of typedefs with missing 'Function' keyword
...
This CL improves recovery in situations like this:
typedef c = foo(int x);
=> recovers like typedef c = foo Function(int x);
typedef d = (int x);
=> recovers like typedef d = Function(int x);
typedef e = foo<F>(int x);
=> recovers like typedef e = foo<F> Function(int x);
typedef f = <F>(int x);
=> recovers like Function<F>(int x);
typedef g = foo<F, G, H, I, J>(int x);
=> recovers like typedef g = foo<F, G, H, I, J> Function(int x);
typedef h = <F, G, H, I, J>(int x);
=> recovers like typedef h = Function<F, G, H, I, J>(int x);
typedef i = <F, G, H, I, J>;
=> recovers like typedef i = Function<F, G, H, I, J>();
And appropriate error messages are given:
"Expected 'Function' before this." and (when inserting parenthesis)
"A typedef needs an explicit list of parameters.".
Fixes #26073 .
Change-Id: I368f36f2993033d62b36315198bc993eed74bc92
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/161485
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-09-08 11:43:14 +00:00
Jens Johansen
3a1f732c0f
[parser] Make begin/end events always come in pairs
...
This CL:
* Changes the events so beginX and endX events always comes in pairs
(though technically not right as some specific events can be beginX
endY --- but in those cases it is at least documented and used in code
that actually tests it).
-> This entails adding some events and converting something from
"beginX" to "handleX" instead.
* Adds a utility that can generate an AST of sorts directly from the
parser via a listener using the begin/end matching (and knowing of the
specific ones that doesn't match directly).
* Adds a test that checks that - at least for all tested (50,000+) files
- the AST actually generate "correctly", i.e. matches up begin/ends
and ends up with a single top entry "CompilationUnit".
* Adds a different visualization to the parser listener events by
displaying the "AST directly from the parser" in a UI that can be
navigated. The visualization may not be the best, but it's certainly
a stepping stone.
Change-Id: I9b27f7bbf3be442adc92f357c7b3c46da6f84cf7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/159664
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-09-01 09:30:43 +00:00
Jens Johansen
c679be7b8b
[parser] Remove 'suppressParseErrors' from Listener
...
It was never called anyway.
Change-Id: I86cb58d1543476f1865f23eb9a107082a2f7f677
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/159663
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-08-27 11:52:27 +00:00
Jens Johansen
85699cfa6b
[parser] Remove 'discardTypeReplacedWithCommentTypeAssign' from Listener
...
It was never called anyway.
Change-Id: I774dd6fcdaad29fe7b9ff00e70264389a7a4a31c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/159662
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-08-27 11:26:17 +00:00
Jens Johansen
8bca93872a
[parser] Better error message for annotations on type arguments
...
This CL changes the message given in the situation identified in
https://github.com/dart-lang/sdk/issues/22314
Fixes https://github.com/dart-lang/sdk/issues/22314
Change-Id: Ibd47dd419d52673ae0d9e32039e0a635c1e09543
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/158388
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-08-17 07:43:52 +00:00
Jens Johansen
7e42cbf582
[parser] Change recovery of multiple extends with comma
...
E.g. class Foo extends Bar, Baz {} would before have parsed weirdly,
but it will parse as you'd (probably) expect with an error saying
you cannot do that. For now at least both CFE and Analyzer will
pretend like you just specified the first one but I suppose Analyzer
could for instance use the extra information to propose converting
other ones to implements clauses or similar.
Fixes https://github.com/dart-lang/sdk/issues/22313
Change-Id: I180cdd8ab07143dd74fd21c9976ec2a46c428d8e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/158261
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-08-13 08:49:53 +00:00
Jens Johansen
4c0cab024e
[parser] No longer support ?.[ syntax
...
Update CFE tests (and a few analyzer tests) to match the new world
of the syntax being unsupported.
Fixes https://github.com/dart-lang/sdk/issues/42681
Change-Id: I71bc973f36dfb978ddb825edb68530d8e260a58a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/157980
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-08-11 08:09:59 +00:00
Johnni Winther
a021b99fc3
[cfe] Fix scope setup for generic function types
...
Closes #36870
Closes #41951
Closes #42364
Change-Id: Id323bfdc26c688bfeb756ef8c1e0530283b44e34
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156028
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-07-29 09:04:24 +00:00
Johnni Winther
fcd1c5b61a
[cfe] Implement remaining external/abstract field errors
...
Closes #42718
Change-Id: Ifca0b1e8c1db93cad2283bc1a5d8a0534665e932
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155122
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-07-21 11:14:52 +00:00
Johnni Winther
92f4eb58c8
[cfe] Support abstract fields
...
Only positive implementation, no error states are checked yet.
Change-Id: Iad79da1dd7e8be9229ee9d47c5301d39ebc3debc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/154003
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-07-16 10:13:23 +00:00
Paul Berry
8cb7dfa70f
Modify parser to handle abstract fields.
...
There is no functional change to the analyzer or CFE yet; we simply
report the error in the parser listeners now rather than the parser
itself. In follow up CLs when we add full support for the feature, we
will want to keep the error reporting logic, but only report the
errors in pre-NNBD code.
Change-Id: Ifd14dd97d7d1d57586a8e14a25103356d54f0ea1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/154364
Commit-Queue: Paul Berry <paulberry@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-07-15 22:48:01 +00:00
Jens Johansen
01ac35b844
[parser] Allow '..' as something following a nullable type
...
Fixes https://github.com/dart-lang/sdk/issues/42621
Change-Id: I56fd9475ffb3821592a6917949e858c6e48bdf20
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153773
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-07-09 15:03:17 +00:00
Johnni Winther
9ab7a5edef
[cfe] Use variable name in error message for missing initializer
...
Closes #42610
Change-Id: I70a5ac9302bd6545cd5e73f2dab61a29bc6a3000
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153462
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-07-08 12:45:15 +00:00
Jens Johansen
50836c171e
[parser] Fix parsing of empty index in cascade
...
Fixes #42267
Change-Id: Ia09fd9e564bc0b04cdd99d3aac5093a12ab10d96
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/150926
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-06-12 06:36:58 +00:00
Jens Johansen
020359dcc8
[parser] Remove false comment
...
Remove false comment that was left in by accident when changing
typedef recovery.
Change-Id: I1b2a24664775a0405c8bf04233c5db1e27b53c73
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/150362
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-06-09 06:28:37 +00:00
David Morgan
48d105a551
Fix unused_shown_name in parser_impl.dart.
...
Change-Id: Id512c06920ed61162ba07a6fb0b74f4794274686
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/150220
Auto-Submit: David Morgan <davidmorgan@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-06-05 09:36:54 +00:00
Jens Johansen
cbbbc09b3e
[parser] Better recovery of typedefs with bad name
...
Note that this leaves differences in errors issued between
"typedef void void();" and "typedef void = void Function();" though.
Fixes #42158
Change-Id: I0785f99234c87bdeadbb2865e089b1389851333e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149599
Reviewed-by: Paul Berry <paulberry@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-06-04 14:21:11 +00:00
Jens Johansen
5a463ef5ca
[parser] Add comments to calls in parser et al
...
Change-Id: I8c364a6fa10b6db039c3a38ac6b3832086cbf5f1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/147542
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-05-20 12:40:12 +00:00
Johnni Winther
383a8ea857
[cfe] Initial support for external fields.
...
Change-Id: Iccee87f40df395c928dc1a9dc81ddad8813a5000
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/147906
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2020-05-14 18:34:06 +00:00
Paul Berry
275b922ee8
Revert recent parser fixes
...
Commit 1f9b5c1996 causes tests to fail
in angular when rolled into internal sources; the other two commits
need to be reverted as well to avoid merge conflicts.
This reverts commit 1f9b5c1996 .
This reverts commit c40b24da48 .
This reverts commit 96df1f9e6c .
Change-Id: Ic4e55181ef60e825ce4409a9a9528ecbf19c39c4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/147822
Reviewed-by: Mike Fairhurst <mfairhurst@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2020-05-12 22:02:09 +00:00
Jens Johansen
96df1f9e6c
[parser] Add ErrorToken for ignored (unmatched) end parenthesis, brackets etc
...
Change-Id: Idb57295700988d71321743af9782134b02562311
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/146240
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-05-11 14:46:47 +00:00
Jens Johansen
64714f2596
[CFE] Include _fe_analyzer_shared in tests
...
Change-Id: I6d2ab3465a0aa2488cbe7b9a2f1909ab6c615d32
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/147082
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-05-11 13:13:21 +00:00
Jens Johansen
5b76fc2172
[parser] Better recovery of methods/fields called 'const', 'final', 'var' or 'void'
...
Change-Id: I370089a6de8c585a60785fe069de5da869ae23f6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/145820
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-05-06 11:56:24 +00:00
Jens Johansen
15acf8a51f
[parser] Replace isBuiltIn and isPseudo (and implicit isReserved) with explicit enum
...
Change-Id: I1e77e97989b931160bf98c99272e0a016920b8cf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/145801
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-05-05 11:53:54 +00:00
Jens Johansen
497bdc5226
[parser] Some recovery from using reserved words as method/field names
...
Change-Id: I9795ecc28f06d1f9410066ded73405019052947d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/145586
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-05-05 07:56:33 +00:00
Jens Johansen
b1435ec38a
[CFE] Textual outline can sort data
...
Change-Id: Iac337903aace923f2cff8797840aa5cdbfded03f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/145400
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-04-30 08:25:17 +00:00
Konstantin Shcheglov
3e26a5d0dd
Issue 40957. Report the language feature, and recommend to set SDK constraint.
...
...but don't recommend to enabled any experiment.
R=brianwilkerson@google.com , paulberry@google.com
Bug: https://github.com/dart-lang/sdk/issues/40957
Change-Id: I556ce9952b28d0b079521ac46558f8e3adf352c5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/144982
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-04-27 22:11:46 +00:00
Johnni Winther
594f77715b
[cfe] Handle potentially constant type expression in is expression
...
Closes #41385
Change-Id: Ia2fa829621931d52c5e41ac0414d12b9caa1256d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/142860
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-04-16 09:07:21 +00:00
Jens Johansen
9f06c32b45
[CFE] Fix crash when implementing or mixing in a functionType
...
Bug: 41265
Change-Id: Idf4fbc44c210008c3c94639c138adbd3afec2cef
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/143522
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-04-16 06:35:50 +00:00
Johnni Winther
fae35fca47
[cfe] Handle potentially constant type expressions in CFE
...
Closes #41305
Change-Id: Ibb839c5b6619ae2f7e90cc956c7de20d8c76ae3d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/142120
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-04-02 13:23:04 +00:00
Jens Johansen
43079207d4
[parser] Parse a!?[0]
...
Fixes #41177 .
Change-Id: I135f0b7aedbcb320ab0d1a1806b2ad3bedcda307
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141886
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-04-01 07:33:01 +00:00
Jens Johansen
4ab3bda5db
[parser] Change recovery for constructor; report errors in bad constructors
...
Change-Id: I3d656afce4a3ec14c7c099893a434abba3945ebf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140862
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-03-27 11:57:56 +00:00
Jens Johansen
13dbe2a815
[parser] Correct precedence on ?[ when it's an index bracket operator
...
Fixes #40267 .
Change-Id: I1929da0500f85f70dc241d969d05590a1e0c277e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138927
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-03-12 11:25:02 +00:00
Konstantin Shcheglov
0649115b06
Rename VoidWithTypeParameters to VoidWithTypeArguments.
...
Change-Id: I5df6a49f0b27b6edfe2ce0f677d5f898900d8384
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138341
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-03-05 17:31:34 +00:00
Jens Johansen
f828f00b59
[parser] Error recovery of type parameters on void
...
Fixes #39958 .
Change-Id: I851bef762776f4b68f0fcb645d634019b8b32e81
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137925
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-03-04 14:02:35 +00:00
Sam Rawlins
e7e45599cb
Improve error recovery of misplaced await or yield
...
Bug: #32967
Change-Id: I9f8e2ae434ea79470949e7931bcb80c542c54f33
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138042
Reviewed-by: Jens Johansen <jensj@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Samuel Rawlins <srawlins@google.com >
2020-03-03 14:58:21 +00:00
Jens Johansen
47d462e8b1
[parser] Better handling of nullable types vs conditional expressions
...
Fixes #40834
Change-Id: I2fdad5a383c1873b1dd782b70e2f1e3ab8664b40
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137960
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-03-03 09:49:57 +00:00
Sam Rawlins
e687b62ffe
Improve recovery on yield not-in generator; Improves #32967
...
Fix is inspired by very similar recover for `await` in synchronous
function, like `looksLikeAwaitExpression` and `endInvalidAwaitExpression`.
Change-Id: I50bf0c1e73c31551b94de29d78fd3d449c30fd20
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136920
Commit-Queue: Samuel Rawlins <srawlins@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2020-03-02 17:29:22 +00:00
Jens Johansen
3969356f1a
[parser] Parse bangs before type parameters correctly
...
Change-Id: Ie05e57d12cdbdeac037785ef6b94497c77d264ae
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137789
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-03-02 11:21:40 +00:00
Jens Johansen
399c68e884
[parser] Parse chained calls with type arguments correctly
...
Change-Id: Ifaecd7f74c4e2d3d332fc759f5e2ae55de47b8a0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137784
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-03-02 10:28:47 +00:00