Konstantin Shcheglov
becd91df17
Format analyzer/ with tall mode.
...
Change-Id: I410cd1cf63fbf00b868bbb3e060433cad3ac9e6c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/423520
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Paul Berry <paulberry@google.com >
2025-04-21 12:15:58 -07:00
Konstantin Shcheglov
86e5463c37
Parts. Support for parsing and (not) reporting errors.
...
Change-Id: I4f352b7cc0c782eba96cd63e5b4a605657fd5c5c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/375541
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2024-07-15 20:43:17 +00:00
Sam Rawlins
030b79dc1c
analyzer: Report bare 'super' expression as ExpressionFunctionBody
...
Fixes https://github.com/dart-lang/sdk/issues/55525
Change-Id: Id6e1321d093b4b77f0504748e931db8f460c1b45
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/369122
Auto-Submit: Samuel Rawlins <srawlins@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2024-06-03 17:24:26 +00:00
pq
643b9ae8f7
remove unused parser error codes
...
The error codes are not being generated and the mapping to `EXTRANEOUS_MODIFIER` in tests is unnecessary.
This logic is likely a hold over from when the analyzer had it’s own parser with temporary conversion logic to align it with fasta. With only one parser, these bits are stale and should be safe to remove.
Change-Id: I5b29f0081953c61771b313025595910eef055c2f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/367540
Commit-Queue: Phil Quitslund <pquitslund@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2024-05-22 15:08:18 +00:00
Konstantin Shcheglov
b65887829e
Augment. Report enums without constants after parsing.
...
Change-Id: I5af7fbc398bfa4ad2463fb9f37cef3757dd42151
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/363741
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2024-04-22 15:22:32 +00:00
Konstantin Shcheglov
0ef8f05c6c
Fix 'unnecessary_final' in analyzer/.
...
But don't enable it yet, pending https://github.com/dart-lang/linter/issues/4938
Change-Id: I42df6e5c2699b08d729518c0565165d81e07ad3d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/363160
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2024-04-16 21:46:15 +00:00
pq
fe6950eceb
enable flutter_style_todos
...
Change-Id: Ic82963b754404d54e37f5fb03819aebc3fa67954
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/336502
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Phil Quitslund <pquitslund@google.com >
2023-11-15 23:04:19 +00:00
Johnni Winther
e3621561aa
[parser] Refactor BlockKind
...
Refactors BlockKind to pass an explicit template/message instead
of injecting words directly into the message which leads to
grammatically incorrect english in the output message.
Change-Id: I3b91abf2e5a748f3dfca2cc0a6c877e77b3ad7d2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/322121
Reviewed-by: Jens Johansen <jensj@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2023-09-04 09:40:21 +00:00
Sam Rawlins
cabe213d91
Fix constructor initializer with invalid assignment expression
...
Fixes https://github.com/dart-lang/sdk/issues/52670
Change-Id: Ic28600c1b6c8cf309462ed28ed73ab0249c08844
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/317143
Commit-Queue: Samuel Rawlins <srawlins@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2023-08-02 14:43:58 +00:00
Kallen Tu
2954986a7e
[parser] Add errors for using class modifiers on enums.
...
Otherwise, in its current state, there's no clear error for any modifiers when used before an enum declaration.
This follows the same format to FINAL_MIXIN_CLASS and those groups of errors.
Bug: https://github.com/dart-lang/sdk/issues/51935
Change-Id: I8174b6894c95fef5c0f4704927b161942c19d3ff
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/294122
Reviewed-by: Paul Berry <paulberry@google.com >
Commit-Queue: Kallen Tu <kallentu@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2023-04-13 14:59:57 +00:00
Robert Nystrom
56eaffb392
[flip-patterns] Enable "records" and "patterns" experiment flags.
...
This turns on the flags for these two language features and makes
them generally accessible.
Doing so causes a number of tests to fail, but the failures are
approved and there are filed issues for them. Most of the
failures are minor or only affect code using the new language
features.
This CL:
- Enables the features in experimental_features.yaml.
- Re-generates all of the various files generated from that.
- Makes some analyzer and front end changes that this CL
inherited from Paul's original CL flipping all of the 3.0
feature flags. I don't know what these changes are about, but
I assume they are necessary.
- Pins a couple of tests to 2.19 since they deliberately test
behavior that is specific to 2.19. (For most test changes, I've
landed them separately, but there are a couple of stragglers
in this CL.)
This doesn't enable "class-modifiers" or "sealed-types" and doesn't
include the core lib changes related to those.
TEST=On bots
Change-Id: Id387753772286a958e20a3589a6e983995f2e4a6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/286344
Auto-Submit: Bob Nystrom <rnystrom@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Commit-Queue: Bob Nystrom <rnystrom@google.com >
Reviewed-by: Jake Macdonald <jakemac@google.com >
Reviewed-by: Nate Bosch <nbosch@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2023-03-10 20:02:23 +00:00
Kallen Tu
ca974e5c4f
[analyzer/cfe] Reland: Parse final class modifier.
...
Reland same files as https://dart-review.googlesource.com/c/sdk/+/278090
The only major change is parser_impl.dart parsing changes for 'final'
This change should allow 'final' for classes and mixins and maintain prior final behaviour for other constructs such as enums, typedefs, or the breaking line which was 'final library = ...;'
Change-Id: I3d84fc47479f39df6d5b0dcbe8f92d1fb78a826a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/279076
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Kallen Tu <kallentu@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2023-01-19 16:08:28 +00:00
Kallen Tu
ed1157acc4
Revert "[analyzer/cfe] Parse final class modifier."
...
This reverts commit 2f1372b460 .
Reason for revert: Breaks the build. Unsure if there are other affected failures.
Original change's description:
> [analyzer/cfe] Parse final class modifier.
>
> Change-Id: Ia554c4f8f9617cc883a472eeb819aab2fd849077
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/278090
> Reviewed-by: Johnni Winther <johnniwinther@google.com >
> Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
> Commit-Queue: Kallen Tu <kallentu@google.com >
TBR=scheglov@google.com ,johnniwinther@google.com ,kallentu@google.com ,dart-scoped@luci-project-accounts.iam.gserviceaccount.com
Change-Id: I5dd74202bd46d69b7261d6d30d8cf3b1a40dbc99
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/279040
Reviewed-by: Jake Macdonald <jakemac@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2023-01-13 21:04:01 +00:00
Kallen Tu
2f1372b460
[analyzer/cfe] Parse final class modifier.
...
Change-Id: Ia554c4f8f9617cc883a472eeb819aab2fd849077
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/278090
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Kallen Tu <kallentu@google.com >
2023-01-13 19:16:20 +00:00
Sam Rawlins
9896f1c647
Enable the unnamed-libraries experiment by default in 2.19.0
...
TEST=tests/language/library/unnamed_library_test.dart
Bug: https://github.com/dart-lang/language/issues/1073
Change-Id: I1c7fa7b4ee4450e344a7613525765e4ab590cc8c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/265381
Reviewed-by: Alexander Aprelev <aam@google.com >
Reviewed-by: Samuel Rawlins <srawlins@google.com >
Reviewed-by: Michael Thomsen <mit@google.com >
Reviewed-by: Leaf Petersen <leafp@google.com >
Commit-Queue: Samuel Rawlins <srawlins@google.com >
2022-10-25 21:10:57 +00:00
Jens Johansen
e860cf241b
[parser] Empty record
...
https://github.com/dart-lang/language/pull/2535
Change-Id: I8241119ee858ce39673472056b88c9393799e1a0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/262600
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2022-10-06 06:34:58 +00:00
Sam Rawlins
51114fca8a
Unnamed libraries
...
Fixes https://github.com/dart-lang/language/issues/1073
Spec: https://github.com/dart-lang/language/blob/master/accepted/future-releases/unnamed-libraries/feature-specification.md
This work allows library directives without a name. Every single one would look like this:
```
library;
```
:) it was a little anti-climactic implementing a non-feature like this, but there it is.
The affordance for a library directive without a name is guarded by an experiment flag, `--unnamed-libraries`.
Change-Id: I8612238359e88d6082f7e89d0d0fc624fdb45273
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/257490
Commit-Queue: Samuel Rawlins <srawlins@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Kevin Moore <kevmoo@google.com >
2022-09-23 05:37:39 +00:00
Konstantin Shcheglov
e03170035a
Deprecate 'get name2', use 'get name' instead.
...
Change-Id: Iee8ef5fb6700d96c857a22a99dc61dac3da88572
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260443
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Paul Berry <paulberry@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2022-09-22 02:22:47 +00:00
Jens Johansen
a4352d09e1
[parser] Record literals can be const and one-element only
...
This should bring parsing of record literals up-to-date with v1.6 of
https://github.com/dart-lang/language/blob/master/working/0546-patterns/records-feature-specification.md
Change-Id: If39bb1834137da55ef8bd1923106bbc614ea319b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/256461
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2022-08-30 10:54:08 +00:00
Konstantin Shcheglov
01173e2aa2
Deprecate 'name' in AST, use 'name2' token instead.
...
Change-Id: I867f009dca12208f835199297d2ea85c203c8556
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/252566
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Jake Macdonald <jakemac@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2022-08-02 16:25:34 +00:00
Jens Johansen
fd4e41a7af
[parser-ish] Better errors on invalid unicode escapes
...
https://github.com/dart-lang/sdk/issues/48542
Change-Id: Icbdcc939a93c737914091c00aaefa3c4efb2dde0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/237364
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2022-03-17 13:57:45 +00:00
Konstantin Shcheglov
fd885fd309
Prepare for enabling language features by default.
...
See https://dart-review.googlesource.com/c/sdk/+/234704
Change-Id: Ia3c72d787aa886df2566d7a852c8d04d20e95490
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/234860
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Samuel Rawlins <srawlins@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2022-03-01 23:41:28 +00:00
Jens Johansen
c2b2aa5b9a
[parser] Add beforeSynthetic to Synthetic*
...
Follow-up to https://dart-review.googlesource.com/c/sdk/+/205799
Change-Id: I620bf4548095d0597b89e4b6305c2301bcbed144
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/230242
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2022-01-28 08:54:13 +00:00
Jens Johansen
5caa4365d7
[parser] Add beforeSynthetic to SyntheticStringToken
...
E.g. if reporting a missing ";" after a SyntheticStringToken (e.g. a
inserted identifier) before this CL it would go to the next token and
say we expected the ";" after that, when really we expected it *before*
that token.
Change-Id: I2c358e017edb2f661e307eba03dddaee889086d9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/205799
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2021-08-30 11:56:30 +00:00
Jens Johansen
7bf731a547
[parser] Special-casing of '}' (like eof) wrt. looksLikeName
...
Change-Id: I55fb4c10931831630f9c1621addef7fbe9d5a9d2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/205797
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2021-08-19 06:41:58 +00:00
Konstantin Shcheglov
766113bc54
Update latestSdkLanguageVersion to 2.13
...
Bug: https://buganizer.corp.google.com/issues/195648511
Change-Id: I7f882edaec42c6224a0863be96a41e1abd5b3329
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/209580
Reviewed-by: Samuel Rawlins <srawlins@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2021-08-10 11:56:43 +00:00
Konstantin Shcheglov
4af81e2a5b
Issue 45459. Report EXPERIMENT_NOT_ENABLED instead of INVALID_GENERIC_FUNCTION_TYPE when nonfunction_type_aliases is not enabled.
...
Bug: https://github.com/dart-lang/sdk/issues/45459
Change-Id: I0773f15e4697620427f4449622a592e40b5a5de4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193100
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2021-03-25 21:43:04 +00:00
pq
706758a142
linter 1.2.1
...
Change-Id: I4d2ccc0bcc4128d60d76ea5119594d946fec35c3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192483
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Phil Quitslund <pquitslund@google.com >
2021-03-23 15:01:16 +00:00
Sam Rawlins
237c84249b
Remove unnecessary imports in analyzer
...
Change-Id: Ifb9a5c0a31cf3669febf2981b1d26b84f5b9d237
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180781
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Samuel Rawlins <srawlins@google.com >
2021-02-02 14:40:24 +00:00
Konstantin Shcheglov
9f986d2501
Migrate package:analyzer to null safety.
...
Change-Id: Iffe4370431587e46a141ddc72a86ceec29c163b2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/176486
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Samuel Rawlins <srawlins@google.com >
2021-02-01 18:56:04 +00:00
Sam Rawlins
cad324cf79
Analyzer: Extract all parser tests to individual files
...
Change-Id: Ia3f85355186e25d4cc38fcb15ed3770a1db5805c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/176360
Commit-Queue: Samuel Rawlins <srawlins@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2020-12-15 22:57:21 +00:00