Konstantin Shcheglov
40b9404d8e
Issue 52004. Check RecordType(s) in UnknownInferredType.isUnknown
...
Bug: https://github.com/dart-lang/sdk/issues/52004
Change-Id: Ib7d736f44c683b309ae3d55b2b848577c56c8a79
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/295102
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2023-04-13 22:14:51 +00:00
Sam Rawlins
2f30f88916
Mark deprecated Hints with Warning aliases as deprecated
...
This will help with any references to deprecated Hints in other
codebases, like nnbd_migraion or linter...
Change-Id: Iccd43d8e3113e6e3e0e458bf959c7f4d48185f35
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/294182
Reviewed-by: Nate Bosch <nbosch@google.com >
Commit-Queue: Samuel Rawlins <srawlins@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2023-04-13 20:07:36 +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
Konstantin Shcheglov
c46833d148
Move tests from AnalysisDriverResolutionTest and remove it.
...
Change-Id: I8945ca2e7356709893645ee78a06b94130192e65
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/294661
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-04-12 04:33:18 +00:00
Konstantin Shcheglov
dfea94f5de
Move and rewrite PrefixedNamespaceTest.
...
Change-Id: I7bb1285dd8ef91cb1cac05d9d55155e36ca9b028
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/294368
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2023-04-10 18:34:13 +00:00
Konstantin Shcheglov
255f887df8
Remove ErrorResolverTest.
...
Also I noticed that:
1. I forgot to add FunctionDeclarationStatementResolutionTest.
2. During rebase I forgot to actually remove assertImportPrefix().
Change-Id: Ief08be69c609396c1ab9a4c933fd4017fec70af9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/294366
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2023-04-10 17:42:24 +00:00
Konstantin Shcheglov
8678473b79
Replace assertPropertyAccess() and friends with textual expectations.
...
Change-Id: I273ec0a55fe9b98c89e10eff473d972697401550
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/294282
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Samuel Rawlins <srawlins@google.com >
2023-04-10 03:50:29 +00:00
Konstantin Shcheglov
eadf84b1b8
Replace assertInvokeType() with textual expectations.
...
Change-Id: If39d40071647c76453a4b491c5165044339ecb19
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/294167
Reviewed-by: Samuel Rawlins <srawlins@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-04-07 23:29:05 +00:00
Paul Berry
e3a18967cc
Patterns parsing: test variable patterns with record types.
...
This already works, but there were no parser tests of it.
Bug: https://github.com/dart-lang/sdk/issues/50912
Change-Id: I2e64b9b4750cf7476df59afd2f9ebc9d66299e40
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/293580
Commit-Queue: Paul Berry <paulberry@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2023-04-05 13:17:47 +00:00
Paul Berry
a3f5cfdc7f
Patterns parsing: recover when switch statement syntax used for switch expressions.
...
This change ensure that if the user makes an erroneous switch
expression by imitating the syntax of case statements (i.e. using
`case`, `default`, `:` instead of `=>`, or `;` instead of `,`), error
recovery will understand the user's intent, avoiding follow-on errors.
Fixes #51886 .
Bug: https://github.com/dart-lang/sdk/issues/51886 , https://github.com/dart-lang/sdk/issues/51943
Change-Id: Icd405d4fd4ddfb1aadcf0867e5a51ba898d4cdbc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/293200
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2023-04-04 18:52:59 +00:00
Paul Berry
8aa48712be
Patterns parsing: recover from patternVariableDeclaration non-statement.
...
Previously, if a pattern variable declaration appeared outside of a
function or method, the parser would get very confused. Now it
recognizes the situation, issues a comprehensible error message, and
replaces the pattern with a synthetic identifier token so that the
analyzer AST is somewhat sensible.
Fixes #51322 .
Bug: https://github.com/dart-lang/sdk/issues/51322
Change-Id: Ica5f060cb483a39c4e50942d639939b1fab40bea
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/293087
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2023-04-04 14:55:00 +00:00
Paul Berry
c2713ca752
Patterns parsing: improve error recovery for switch expressions.
...
If the parser gets lost during a switch expression, it now attempts to
pick back up at the next `,` in between the curly braces (ignoring
more deeply nested commas). This allows much better error recovery in
the case where an illegal function expression appears in a guard.
Fixes #51906 .
Bug: https://github.com/dart-lang/sdk/issues/51906
Change-Id: I1cb43857ccc04f0e4146c23c9e07acb02a80d405
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/293083
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2023-04-04 03:29:39 +00:00
Paul Berry
d78fe25542
Patterns parsing: fix error recovery for switch expression using :
...
If a user attempts to use `:` instead of `=>` in a switch expression,
we now generate an error at the location of each `:` token (and
otherwise interpret the switch expression in the way the user
intended).
Fixes #50930 .
Bug: https://github.com/dart-lang/sdk/issues/50930
Change-Id: I3687fb464b6875424745e664b0d28346b3cd6375
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/292982
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2023-04-03 21:28:41 +00:00
Paul Berry
8d16c1dc87
Patterns parsing: improve error recovery for late in patternVariableDeclaration.
...
Bug: https://github.com/dart-lang/sdk/issues/50035
Change-Id: Id706ff0afab3f14d817fbf99112f772d1f1f7817
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/292800
Commit-Queue: Paul Berry <paulberry@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2023-04-03 15:04:07 +00:00
Paul Berry
489aefbe80
Patterns parsing: add error recovery tests.
...
Bug: https://github.com/dart-lang/sdk/issues/50035
Change-Id: If63ee17234f0b63ebbdfda8a046350def8851472
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/292662
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2023-04-02 23:32:17 +00:00
Paul Berry
22a8877452
Patterns parser: test that dynamic can be used in an object pattern.
...
This resolves a TODO in the patterns parser implementation.
(Note: the TODO says to file an issue, but there is no need; the spec
clearly states that `dynamic` is allowed).
Change-Id: I2ebbf5401052ce5b96679ac3cf8a1aba3cd384d4
Bug: https://github.com/dart-lang/sdk/issues/50035
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/292541
Commit-Queue: Paul Berry <paulberry@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2023-04-02 12:28:58 +00:00
Paul Berry
7a5136032f
Parser: test that objectPattern accepts OTHER_IDENTIFIER.
...
The type name in an object pattern is a `typeIdentifier`; in the spec
grammar, `typeIdentifier` includes `OTHER_IDENTIFIER`, which is defined as:
OTHER_IDENTIFIER ::=
`async` | `hide` | `of` | `on` | `show` | `sync` | `await` | `yield`
This adds tests to verify that all these identifiers are accepted as
type names in an object pattern.
Bug: https://github.com/dart-lang/sdk/issues/50035
Change-Id: I6b9d752e1b34f7bc93dedc4304f695e7cb42df48
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/292542
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2023-04-01 16:39:34 +00:00
Paul Berry
406bdf33e8
Fix precedence of expression inside relational patterns.
...
According to the spec, the expression inside a relational pattern is
`bitwiseOrExpression`. We were only allowing `shiftExpression`.
Bug: https://github.com/dart-lang/sdk/issues/50035
Change-Id: Ie1a5746f1060b84e6e1b856a622e89db698b4684
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/292285
Commit-Queue: Paul Berry <paulberry@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2023-04-01 16:30:49 +00:00
Paul Berry
d2184a9d03
Patterns parsing: disallow unaryPattern or relationalPattern in unaryPattern.
...
The precedence-based pattern parser can understand a unary pattern
inside another unary pattern (e.g. `_ as int as num`) or a relational
pattern inside a unary pattern (e.g. `> 1?`), but the specification
prohibits these constructions because they're difficult to read and
not very useful.
This change updates the implementation to match the spec, by producing
the appropriate error. The offset and length of the error cover the
inner pattern, so it should be easy to construct an analysis server
quick fix that inserts the necessary parentheses.
Bug: https://github.com/dart-lang/sdk/issues/50035
Change-Id: I33e74d6d1f863e7162851d26fefbacd4fd17277c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/292120
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2023-03-31 16:43:01 +00:00
Paul Berry
452dcdf517
Fix parsing of PATTERN as T? when
...
The logic for parsing types has special disambiguation rules for
deciding whether a trailing `?` should be included in the type, based
on what token(s) follow the `?`. In the case where the token that
follows the `?` is `when`, we need to look further ahead to
disambiguate, to distinguish `PATTERN as T? when guard` from something
like `EXPRESSION is T ? when : otherwise`.
(Note: an alternative implementation would be to disambiguate based on
whether we're parsing a pattern or an expression. But in the future I
want to move toward an architecture where expression parsing and
pattern parsing are combined, so that if the parser makes the wrong
decision about whether it's looking at a pattern or an expression,
error recovery will do a better job. So I'm disambiguating based
solely on what follows the `?`.)
Bug: https://github.com/dart-lang/sdk/issues/50035
Change-Id: Idbc780b7b54fecc7fd01cae868c34771564dd804
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/292282
Commit-Queue: Paul Berry <paulberry@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2023-03-31 13:12:48 +00:00
Paul Berry
134007af32
Patterns parsing: make it an error to use var before a type in a variable pattern.
...
Bug: https://github.com/dart-lang/sdk/issues/50035
Change-Id: I46b23ef0d1856401eac4b0a05c6bc6008711d35a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/291780
Commit-Queue: Paul Berry <paulberry@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2023-03-30 18:25:03 +00:00
Paul Berry
104ac30cf4
Parser: clean up handling of variable patterns.
...
The listener API for variable patterns is split into three separate
functions, to handle the three separate behaviors:
- `handleAssignedVariablePattern` for variable names appearing in an
assignment context (these assign to an existing variable upon a
successful match).
- `handleDeclaredVariablePattern` for variable declarations appearing
in a declaration or matching context (these cause a new variable
name to come into scope).
- `handleWildcardPattern` for wildcards in any context (these don't
capture the matched value).
Also, responsibility is shifted to the parser for reporting the
following error conditions:
- VariablePatternKeywordInDeclarationContext (e.g.
`var (var x) = ...;`)
- PatternAssignmentDeclaresVariable (e.g. `[x, var y] = ...;`)
Previously these errors were detected by the implementations, and
weren't fully covering all possible error scenarios.
In the case of VariablePatternKeywordInDeclarationContext, the
listener method `handleDeclaredVariablePattern` is called instead of
`handleAssignedVariablePattern`. This ensures that no tokens are
dropped from the analyzer AST. The CFE uses the `inAssignmentPattern`
argument of `handleDeclaredVariablePattern` to distinguish this error
recovery case from a legitimate declared variable pattern.
Fixes #51868 .
Bug: https://github.com/dart-lang/sdk/issues/51868
Change-Id: I28ec679b73d64033166721c6460be35f15e23171
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/291583
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2023-03-30 14:12:03 +00:00
Kallen Tu
f7bc72fce6
[analyzer/cfe] Remove interface mixin, final mixin and sealed mixin.
...
Added error messages for when users try to use invalid mixins + a language test that tests that (and tests in each of the front ends).
Removed the tokens from the parser listeners.
Removed all behaviours and error reporting related to these invalid mixins.
Change-Id: I558595826dae7e2c176bd1929e97caa2335c167c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/290614
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Kallen Tu <kallentu@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2023-03-30 11:56:08 +00:00
Samuel Rawlins
77446204da
Reland "[analyzer] Move 4 more HintCodes to be WarningCodes, UNUSED_*"
...
This reverts commit e48f35b43d .
Reason for revert: linter is fixed.
Original change's description:
> Revert "[analyzer] Move 4 more HintCodes to be WarningCodes, UNUSED_*"
>
> This reverts commit 0ef7ed2ebd .
>
> Reason for revert: Tests are failing in google3 - linter needs to be bumped
>
> Original change's description:
> > [analyzer] Move 4 more HintCodes to be WarningCodes, UNUSED_*
> >
> > Bug: https://github.com/dart-lang/sdk/issues/50796
> > Change-Id: Ib5b153bc6e64bc433df1f05c53d82f71b470bbec
> > TEST=presubmit bots
> > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/290703
> > Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
> > Reviewed-by: Alexander Aprelev <aam@google.com >
> > Commit-Queue: Samuel Rawlins <srawlins@google.com >
> > Reviewed-by: Nate Bosch <nbosch@google.com >
>
> Bug: https://github.com/dart-lang/sdk/issues/50796
> Change-Id: If1c460bdcf422033648417da5ba2f5fbc1b459c2
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/291460
> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com >
> Auto-Submit: Oleh Prypin <oprypin@google.com >
> Reviewed-by: Alexander Thomas <athom@google.com >
> Commit-Queue: Alexander Thomas <athom@google.com >
> Commit-Queue: Oleh Prypin <oprypin@google.com >
Bug: https://github.com/dart-lang/sdk/issues/50796
Change-Id: Ie503b57a19df1a50cb3dfe50c840d20779310e87
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/291560
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Oleh Prypin <oprypin@google.com >
Reviewed-by: Nate Bosch <nbosch@google.com >
Commit-Queue: Samuel Rawlins <srawlins@google.com >
Reviewed-by: Alexander Aprelev <aam@google.com >
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com >
2023-03-28 21:26:58 +00:00
Oleh Prypin
e48f35b43d
Revert "[analyzer] Move 4 more HintCodes to be WarningCodes, UNUSED_*"
...
This reverts commit 0ef7ed2ebd .
Reason for revert: Tests are failing in google3 - linter needs to be bumped
Original change's description:
> [analyzer] Move 4 more HintCodes to be WarningCodes, UNUSED_*
>
> Bug: https://github.com/dart-lang/sdk/issues/50796
> Change-Id: Ib5b153bc6e64bc433df1f05c53d82f71b470bbec
> TEST=presubmit bots
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/290703
> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
> Reviewed-by: Alexander Aprelev <aam@google.com >
> Commit-Queue: Samuel Rawlins <srawlins@google.com >
> Reviewed-by: Nate Bosch <nbosch@google.com >
Bug: https://github.com/dart-lang/sdk/issues/50796
Change-Id: If1c460bdcf422033648417da5ba2f5fbc1b459c2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/291460
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com >
Auto-Submit: Oleh Prypin <oprypin@google.com >
Reviewed-by: Alexander Thomas <athom@google.com >
Commit-Queue: Alexander Thomas <athom@google.com >
Commit-Queue: Oleh Prypin <oprypin@google.com >
2023-03-28 07:16:42 +00:00
Sam Rawlins
0ef7ed2ebd
[analyzer] Move 4 more HintCodes to be WarningCodes, UNUSED_*
...
Bug: https://github.com/dart-lang/sdk/issues/50796
Change-Id: Ib5b153bc6e64bc433df1f05c53d82f71b470bbec
TEST=presubmit bots
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/290703
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Alexander Aprelev <aam@google.com >
Commit-Queue: Samuel Rawlins <srawlins@google.com >
Reviewed-by: Nate Bosch <nbosch@google.com >
2023-03-27 21:41:12 +00:00
Paul Berry
2c16ff8827
Fix error reporting and recovery for declared variable in pattern assignment.
...
If a declared variable occurs inside a pattern assignment (e.g. `[a,
var b] = c`), we now recover using the `DeclaredVariablePattern` AST
node. Normally, a `DeclaredVariablePattern` wouldn't appear inside a
pattern assignment, but it's better to recover in this way because it
avoids dropping the keyword token (`var` or `final`) or type.
Fixes #50927 .
Fixes #51529 .
Bug: https://github.com/dart-lang/sdk/issues/50927 , https://github.com/dart-lang/sdk/issues/51529
Change-Id: Ia65853baeae0e8eb999b7bd82fb2455e10b2b996
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/291044
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2023-03-24 20:14:49 +00:00
Paul Berry
8f6325d650
Patterns parsing: handle incomplete identifier . in a pattern.
...
Bug: https://github.com/Dart-Code/Dart-Code/issues/4407
Change-Id: Ibac9822fa6cf2f15aa67b68a28f399cf4373e782
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/291043
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2023-03-24 16:10:09 +00:00
Sam Rawlins
6333e318cd
[analyzer] Move 2 more Hints to be Warnings, DEAD_CODE*
...
Bug: https://github.com/dart-lang/sdk/issues/50796
Change-Id: Ie7a6cb94cefaf4f551ed766e637bac3606c0f5ed
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/279463
Commit-Queue: Samuel Rawlins <srawlins@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2023-03-21 21:55:08 +00:00
Sam Rawlins
c761de6e3e
[analyzer] Move 3 more HintCodes to be WarningCodes, UNNECESSARY_N*
...
Bug: https://github.com/dart-lang/sdk/issues/50796
Change-Id: I04e8428a45428c02a05e8370a6cb1e9c4cf8030c
TEST=trybots
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/289029
Reviewed-by: Alexander Aprelev <aam@google.com >
Commit-Queue: Samuel Rawlins <srawlins@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2023-03-16 18:52:18 +00:00
Konstantin Shcheglov
83b7f7c2ac
Use writeDeclaredElement() for more nodes.
...
Change-Id: I904ca1c34189234614b390675aa67cb6af8bc286
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/288321
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-03-14 19:31:19 +00:00
Konstantin Shcheglov
8cfd5b6d33
Replace 'dynamicNone' to 'dynamicType' in tests.
...
Change-Id: I9e6db96e65d498eac568d9b6759d05af0bdac274
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/288324
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-03-14 17:55:37 +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
Konstantin Shcheglov
af52197dd6
Replace declaredElementType with nested 'type' in expectations.
...
Change-Id: I4cd95528e24b0278f74e270e5685ef2d89d5e505
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/288263
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2023-03-10 19:35:24 +00:00
Konstantin Shcheglov
04f7a2a910
Simplify implementation of FindNode.singleX getters.
...
Change-Id: I434cf2371dee4269747b21413d6d15cbd4fa4e3c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/287672
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2023-03-09 17:00:48 +00:00
Konstantin Shcheglov
18d414d24d
Add 'get sinceSdkVersion' to Element.
...
Bug: https://github.com/dart-lang/sdk/issues/34978
Change-Id: Ibabcbb9f4dcd5ecb0300af05a494dc2e5af14fb2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/287241
Reviewed-by: Samuel Rawlins <srawlins@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-03-08 20:29:57 +00:00
Sam Rawlins
2c31548893
analyzer: Remove references to unimplemented FILE_IMPORT_*_LIB_REFERENCES_FILE_* rules
...
Lint replacement suggested at
https://github.com/dart-lang/linter/issues/4103
Bug: https://github.com/dart-lang/sdk/issues/50796
Change-Id: I2578c91af3f66a816d67bb0e9ecfa22802febf94
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/286345
Commit-Queue: Samuel Rawlins <srawlins@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2023-03-02 18:57:08 +00:00
pq
b05cc9442a
new test for failing super param comment resolution
...
See: https://github.com/dart-lang/sdk/issues/51578
Change-Id: Icf000e008f5e04f6ab948b2d226877efa19bfd1a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/286080
Commit-Queue: Phil Quitslund <pquitslund@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2023-02-28 21:24:35 +00:00
Kallen Tu
16b1c12619
[analyzer] Disallow classes to be used as mixins even inside the library.
...
Change-Id: I62aaf972a16cdd678f5711a41dc1652b89d0be37
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/283131
Commit-Queue: Kallen Tu <kallentu@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2023-02-21 19:32:44 +00:00
Sam Rawlins
bf6576470d
[analyzer] Remove HintCode.PACKAGE_IMPORT_CONTAINS_DOT_DOT
...
We may move this to be a Lint (https://github.com/dart-lang/linter/issues/3939 )
but for now there is no loss, as we never generate this diagnostic.
Bug: https://github.com/dart-lang/sdk/issues/50796 and
Change-Id: I4877884288a64722da4b5147f51cc3ecf934a76b
https://github.com/dart-lang/sdk/issues/48042
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/282801
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Samuel Rawlins <srawlins@google.com >
2023-02-13 22:42:27 +00:00
Sam Rawlins
42402bf433
[analyzer] Move 6 more Hints to be Warnings, MISSING_*
...
Bug: https://github.com/dart-lang/sdk/issues/50796
Change-Id: Ie021ab23c4954c99ccb3f697302cada07b11cbf0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/282164
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Samuel Rawlins <srawlins@google.com >
2023-02-13 16:32:26 +00:00
Konstantin Shcheglov
2b5549aed4
Move isAlwaysExhaustive() to TypeSystemImpl and finish implementation.
...
Add unit tests.
Change-Id: Iaa201b3083460133b0a24778e044122e8df3c13a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/281867
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-02-09 17:10:17 +00:00
Brian Wilkerson
20fb4593e3
Fix a bug in the parsing of incomplete map pattern entries
...
Change-Id: I7e07bd6c9fd627d222feff3936f6ea07d692a09e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/281860
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2023-02-09 05:31:57 +00:00
Konstantin Shcheglov
ebdb53fe85
Rename to PatternField and PatternFieldName.
...
Change-Id: I534e13fb8843e0b4a961cdf981016f7504858ba6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/281782
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-02-08 23:44:54 +00:00
Konstantin Shcheglov
e86fe85aa4
Suppport ForEachPartsWithPattern in NodeReplacer.
...
Change-Id: I152f3c7b0500db9ad4ca633dd0f4491cea460f53
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/281465
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-02-07 22:58:47 +00:00
Ahmed Ashour
e54d712b1b
[analyzer] Add null safety test expectations
...
to `InferredTypeTest`
Bug #51144
Change-Id: I2f7abc9f0a077250e7c21fdbb171ecefd60d72ac
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/280080
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-01-31 03:29:05 +00:00
Josh Soref
77978889eb
Spelling
...
Closes https://github.com/dart-lang/sdk/pull/51143
GitOrigin-RevId: 9e21c99a222d588e4fc95980725a2f8c9784965c
Change-Id: If0870e8936c7649935dce7e23cd783d62aa5610c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/279916
Reviewed-by: Alexander Thomas <athom@google.com >
Commit-Queue: Alexander Thomas <athom@google.com >
2023-01-30 18:29:59 +00:00
Lasse R.H. Nielsen
bee7ab2b32
Make record positional field getters start at $1.
...
An update for co19 is available at https://github.com/dart-lang/co19/pull/1759
TEST=Existing tests run after change, two new tests for edge cases.
Change-Id: I408e398d532ba2c2e8e60777bb4f7bd0057e27fe
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/278912
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Nicholas Shahan <nshahan@google.com >
Reviewed-by: Stephen Adams <sra@google.com >
Reviewed-by: Aske Simon Christensen <askesc@google.com >
2023-01-30 08:14:28 +00:00
Ahmed Ashour
16453a9f74
[analyzer] Add AnalysisOptionsWarningCode.RECURSIVE_INCLUDE_FILE
...
Fixes #50979
Change-Id: I872f0629253d0fabb993c108c11e7d2af04cb4cd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/278908
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Samuel Rawlins <srawlins@google.com >
Reviewed-by: Samuel Rawlins <srawlins@google.com >
2023-01-23 18:34:39 +00:00
Josh Soref
ba15a61271
Spelling build
...
Closes https://github.com/dart-lang/sdk/pull/50859
GitOrigin-RevId: 7b056018c2925745701bdecdd7da325d9458204d
Change-Id: Iff037d773713bf73efde6951599becfd7297b921
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/277740
Reviewed-by: Alexander Thomas <athom@google.com >
2023-01-23 08:56:14 +00:00