Commit Graph

1191 Commits

Author SHA1 Message Date
Konstantin Shcheglov ef20543995 Prepare to publish analyzer 10.0.0, _fe_analyzer_shared 93.0.0, analysis_server_plugin 0.3.5, analyzer_plugin 0.14.0, analyzer_testing 0.1.8
Change-Id: I22aaf17a81027ac44d5f23b114ece789d66eed93
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/471120
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2026-01-07 11:25:23 -08:00
FMorschel ac0be94edd [analyzer] Adds lineNumberDifference and onSameLine methods to LineInfo
Bug: https://github.com/dart-lang/sdk/issues/61186
Change-Id: Ib0584203b000103f8137901c258a86ec571ff74c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/471061
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
Auto-Submit: Felipe Morschel <git@fmorschel.dev>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
2026-01-07 10:15:29 -08:00
FMorschel 20d8f8f166 [analyzer_plugin] Fixes writing recursive type parameter
Fixes: https://github.com/dart-lang/sdk/issues/62272
Change-Id: I2370adbf51b709e8860fcc12b6678cde504f1329
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/469201
Auto-Submit: Felipe Morschel <git@fmorschel.dev>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2026-01-02 11:26:48 -08:00
Fedor Shcheglov bf5cfaedd9 Renamed variables, formal parameters, and declared identifiers that were incorrectly named elements, when they had a fragment type.
Change-Id: Id201a1f319ee2ae1e328c1d551a98df97bdc2b5a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/469640
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
2025-12-29 18:04:29 -08:00
Paul Berry 5d199d6afe [messages] Move SourceRange class to _fe_analyzer_shared.
This will allow `SourceRange` to be referred to by classes in
`pkg/_fe_analyzer_shared` such as `LocatableDiagnostic` and
`SyntacticEntity`.

Change-Id: I6a6a69641f9daa351fbea3a0cc61f760f7a966d3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/467683
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2025-12-11 14:51:41 -08:00
FMorschel 2cbcc7f37c [DAS] Fixes Create (extension) method for unresolved closure return type
Fixes: https://github.com/dart-lang/sdk/issues/61898
Change-Id: I0b1e7ad208a54a04f0ff4147f27403845f9a379d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/459521
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Auto-Submit: Felipe Morschel <git@fmorschel.dev>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2025-12-10 10:40:00 -08:00
Paul Berry 5adc86d0ce [messages] Use lower case diagnostic names in analyzer_plugin.
Changes the logic in `pkg/analyzer_plugin` to use
`DiagnosticCode.lowerCaseName` instead of `DiagnosticCode.name`. This
ensures that diagnostic codes are matched in a case-insensitive
fashion.

This paves the way for deprecating (and eventually removing) the
`DiagnosticCode.name` getter.

Change-Id: I6a6a6964db7910a1226693ab60305b25aa02dce5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/466130
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2025-12-09 06:40:32 -08:00
FMorschel 9f4c7e5d8b [DAS] Fixes Create setters, getters and fields for using type parameters
Bug: https://github.com/dart-lang/sdk/issues/61186
Change-Id: Ib70937ce8232ec087cf95d12d52a1bfdf59ad3ba
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/442240
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Auto-Submit: Felipe Morschel <git@fmorschel.dev>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2025-12-05 10:32:55 -08:00
Konstantin Shcheglov a135929050 DeCo. Stop using isSynthetic in analysis_server/, analyzer_plugin/, linter/.
Change-Id: I0764ad0bde41d97a98d9eb5b088b50b4eb69155f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/465982
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2025-12-03 14:42:54 -08:00
Konstantin Shcheglov 342a0a7422 DeCo. Add PropertyAccessorElement.isOriginDeclaration, isOriginInterface, isOriginVariable. Same element text writer.
Change-Id: I4a80530e7fe8e971bb5ee3f1138d4e2756b3ff19
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/465742
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
2025-12-02 20:59:00 -08:00
Konstantin Shcheglov fb0d56b81b DeCo. Use origin flags for constructors.
Introduce explicit origin flags on ConstructorElement and its fragment
(isOriginDeclaration, isOriginImplicitDefault, isOriginMixinApplication)
and deprecate isSynthetic in favor of these. Define isSynthetic as the
inverse of isOriginDeclaration to preserve the legacy meaning while
encouraging clients to use the more precise origin predicates.

Eventually `Element.isSynthetic` also will be deprecated and removed.
This CL is a step toward this goal, migrating what is possible with new
flags.

Update analyzer internals to rely on the new origin flags when checking
for non-factory generative constructors, building synthetic constructors
for mixin applications, and walking constructor chains in index/search
logic. Only constructors with an origin declaration are now treated as
declarations, and nonSynthetic is defined in terms of origin
declarations rather than synthetic-ness. Add corresponding origin
descriptors to the manifest enum and bump AnalysisDriver.DATA_VERSION.

Adjust analysis server refactorings and fixes to distinguish implicit
default constructors from other synthetic constructors. Code paths that
previously checked isSynthetic for default constructors now check
isOriginImplicitDefault, and mixin-application traversal uses
isOriginMixinApplication.

Overall, this change removes the overloaded semantics of isSynthetic,
makes constructor provenance explicit, and prepares the element model
for future DeCo and primary-constructor scenarios without relying on
brittle synthetic heuristics.

Change-Id: I8568bdfe478867af313a4d13afe1f2859394831b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/465201
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
2025-12-02 09:20:12 -08:00
Danny Tuppeny c8ab18f13e [analysis_server] Improve the display of unnamed extensions in LSP Outline, Document Symbols
We previously just showed "<unnamed extension>" for extensions without names, but in some files I noticed we have a lot of these, and the outline/symbols list looks awful (just "<unnamed extension>" repeated many times).

This changes it to instead show "extension on FooClass" instead (if there is a valid type name). I added a new field to the protocol to support this because the LSP classes convert from those classes (something we've discussed changing, but might be easier later).

Screenshots of before/after are in https://github.com/Dart-Code/Dart-Code/issues/5818

Fixes https://github.com/Dart-Code/Dart-Code/issues/5818

Change-Id: I3885a722443291bfa2419514841469c862b74450
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/464560
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2025-11-25 13:49:55 -08:00
Konstantin Shcheglov abc6f1e378 DeCo. Switch linter/ and analyzer_plugin/ to ConstructorDeclaration.typeName
Not actual migration, uses null asserts.
Should be made safe as part of implementation in linter.

Bug: https://github.com/dart-lang/sdk/issues/61701
Bug: https://github.com/dart-lang/sdk/issues/62055
Change-Id: I08f709b9f9c74dbab1b41c4e12ed498135450531
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/463465
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2025-11-20 14:26:46 -08:00
Konstantin Shcheglov ea84bc9df1 DeCo. Deprecate RepresentationDeclaration and RepresentationConstructorName.
Bug: https://github.com/dart-lang/sdk/issues/61701
Change-Id: I3ed4ccabdd466654585e14f674bb404cde466c1f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/462861
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2025-11-19 10:08:13 -08:00
Sam Rawlins 2fb8ef8417 bump deps to analyzer 10
Change-Id: I181a914a4086d868a3dbed7d817f8bc04a72e2b1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/462560
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2025-11-17 12:39:49 -08:00
Konstantin Shcheglov 0349520b98 DeCo. Migrate everything to new AST.
No more flag, always parse into the new AST, always visit new AST nodes,
always return them as child entities, parent-child structure reflects
the new AST.

So, use `namePart` and `body` where possible. Deprecate previous
properties.

This is still de jure a breaking change, because `parent` of deprecated
properties changes. De facto this required very few changes in google3.

Once this CL lands, I will publish `analyzer 10.0.0`, migrate everything
to new properties, delete deprecated properties, and publish `analyzer
11.0.0`.

Maybe deprecate `NamedCompilationUnitMember.name` and migrate to
subclass specific `name` or `namePart` properties before publishing
`analyzer 10.0.0`. This part is not breaking per se.

* Deprecations in `ClassDeclaration`:
  * Properties `leftBracket`, `members`, `rightBracket` are deprecated, use `body` instead.
  * Properties `name`, `typeParameters` are deprecated, use `namePart` instead.
* Deprecations in `EnumDeclaration`:
  * Properties `leftBracket`, `constants`, `members`, `rightBracket` are deprecated, use `body` instead.
  * Properties `name`, `typeParameters` are deprecated, use `namePart` instead.
* Deprecations in `ExtensionDeclaration`:
  * Properties `leftBracket`, `members`, `rightBracket` are deprecated, use `body` instead.
* Deprecations in `ExtensionTypeDeclaration`:
  * Properties `leftBracket`, `constants`, `members`, `rightBracket` are deprecated, use `body` instead.
  * Properties `constKeyword`, `name`, `representation`, `typeParameters` are deprecated,
    use `primaryConstructor` instead.
* **Breaking Change:** While the deprecated members mentioned  above still exist in the AST,
  their parent nodes have changed. This means that code  relying on specific parent-child
  relationships for these nodes might break.

Bug: https://github.com/dart-lang/sdk/issues/61701
Change-Id: Ic48104da8b029c9b454bbd2336574b7823025565
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/461841
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2025-11-17 08:57:36 -08:00
Konstantin Shcheglov ba1e7e8c45 Fine. Use 'withFineDependencies: true' in analysis_server_plugin/ and analyzer_plugin/.
Change-Id: If27c37c311afd5647fc1e4e741816ced5c9b576f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/462221
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
2025-11-14 15:22:43 -08:00
FMorschel c9f3e9a78e [DAS] Fixes Add missing parameter fix for super parameters
Fixes: https://github.com/dart-lang/sdk/issues/48359
Change-Id: Id7a286ad5757387a78a952c9367fc4cd071f7bba
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/459540
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Auto-Submit: Felipe Morschel <git@fmorschel.dev>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2025-11-14 13:32:01 -08:00
FMorschel e4cec87683 [DAS] Fixes argument completion for dot shorthands invocations
Bug: https://github.com/dart-lang/sdk/issues/61969
Change-Id: Ie109e6bdf657ccbc02510da912087d2babf3806e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/462081
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Auto-Submit: Felipe Morschel <git@fmorschel.dev>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
2025-11-14 07:42:38 -08:00
Sam Rawlins 151cc0ce8f analyzer_plugin: Remove remaining deprecated elements
Change-Id: Ia984b4462eba7d565ffe59ee07129118d8c399d6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/461524
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2025-11-13 07:36:52 -08:00
Paul Berry 9f6d1c1029 [messages] Start using toplevel diagnostic constants.
Changes the analyzer and related packages so that when they refer to
diagnostic constants, they do so via the import prefix `diag`, which
refers to the appropriate `diagnostic.dart` file containing the top
level diagnostic constant declarations, rather than the static
declarations inside `DiagnosticCode`-derived classes (which will soon
be removed).

This CL was created by the following steps:

- Run the script
  `pkg/analyzer_utilities/tool/messages/switch_to_toplevel_diagnostics.dart`.

- Execute `dart fix --apply --code=unused_import,unnecessary_import`
  on the following directories (this removes imports that are no
  longer necessary due to the change):
  - `pkg/analysis_server`
  - `pkg/analyzer`
  - `pkg/linter`
  - `pkg/analysis_server_plugin`
  - `pkg/analyzer_plugin`
  - `pkg/analyzer_testing`
  - `pkg/front_end`
  - `pkg/analyzer_cli`

- Execute `dart format` on the following files and directories:
  - `pkg/analysis_server`
  - `pkg/analyzer`
  - `pkg/linter`
  - `pkg/analysis_server_plugin`
  - `pkg/analyzer_plugin`
  - `pkg/analyzer_testing`
  - `pkg/front_end/test/scanner_test.dart`

  (Note that `pkg/front_end` and `pkg/analyzer_cli` are not
  re-formatted as whole directories because they contain `.dart` files
  that are test cases rather than source code, and reformatting those
  files might change test expectations.)

- Manually add `diag` to
  pkg/front_end/test/spell_checking_list_tests.txt.

- Manually fix the ignore comment in
  `pkg/analyzer_testing/lib/src/analysis_rule/pub_package_resolution.dart`. (The
  script `switch_to_toplevel_diagnostics.dart` automatically adds it
  after `import 'package:analyzer/src/diagnostic/diagnostic.dart' as
  diag;`, but then executing `dart format` bumps the ignore comment to
  the following line, where it has no effect.)

Change-Id: I6a6a69643022aab2b5a6224fb4124eead243260d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/461521
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2025-11-12 16:53:42 -08:00
Sam Rawlins 8eb7c58b38 analyzer_plugin: Remove deprecated "methodBeingCopied" parameters
Change-Id: I7973e6badfbf9f9585707ea713c4ad27fe193584
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/461583
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2025-11-12 14:14:19 -08:00
Sam Rawlins d4f2fec655 analyzer: Tidy and document LintCode.new and interpolated args
Deprecate the `hasPublishedDocs` parameter, as it is unused and
unnecessary. This triggers dev package versions.

Document how args are interpolated into problemMessage and correctionMessage.

A breaking change landed in analyzer_plugin, requiring a bump to
0.14.0.

Fixes https://github.com/dart-lang/sdk/issues/61921

Change-Id: I8e8f7e6af1c20ca9247cccd53e1fe2e5fc3cf083
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/461581
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2025-11-12 13:13:11 -08:00
TejasSojitra12 b203ab1571 [analyzer_plugin] FooMixin classes are not mixins #61768
Change-Id: Icbccc25df1f2127212adb656955b74bdbafdd323
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/460720
Reviewed-by: Kevin Moore <kevmoo@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
2025-11-10 12:02:27 -08:00
Moritz 131760f204 Fix placing of field for bind_to_field fix
Now respect the `sort_constructors_first` lint when inserting fields.

Fixes https://github.com/dart-lang/sdk/issues/61786

Change-Id: I3d79ee0ea25d34af16a90a155406c08b5b5a8547
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/459300
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Moritz Sümmermann <mosum@google.com>
2025-11-10 08:26:01 -08:00
Sam Rawlins e2204d36d7 DAS plugins: Update various docs
Work towards https://github.com/dart-lang/sdk/issues/61876

* Make a few notes about support beginning with Dart 3.10.
* Make a few notes indicating that plugins can only analyze Dart
  sources.
* Use the handy `> [!NOTE]` and `> [!WARNING]` syntax.
* Add a note about how plugins are resolved, and the dependency on
  analysis_server_plugin ^0.3.0.

Change-Id: I6ed5b3611a0ab4ff005917b0c5cff1b6fa9d5c95
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/459240
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2025-11-03 11:49:49 -08:00
Hassnaa Mohamed fc8b3d7927 docs: add notice linking to analysis_server_plugin
Closes https://github.com/dart-lang/sdk/pull/61820

GitOrigin-RevId: f45bed09b1360eeb3ff1119caf3edc188fdc27af
Change-Id: I77d6708b9a52fe40ed81a9e99e12b7df4ab01f2f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/457580
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2025-10-31 14:28:35 -07:00
Paul Berry ea768b29a4 [messages] rename diagnostic.dart.
Renames `pkg/analyzer/lib/src/diagnostic/diagnostic.dart` to
`pkg/analyzer/lib/src/diagnostic/diagnostic_message.dart`. The new
name aligns better with the library's purpose (which is solely to
export the class `DiagnosticMessageImpl` from
`package:_fe_analyzer_shared`).

This frees up the filename
`pkg/analyzer/lib/src/diagnostic/diagnostic.dart` to be used as the
repository for all generated analyzer messages.

Change-Id: I6a6a6964be0904a383334974f1e64a03c0df551b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/458381
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2025-10-29 15:08:40 -07:00
FMorschel 822450ba78 [DAS] Fixes DartEditBuilder.writeType to handle private typedefs correctly
Fixes: https://github.com/dart-lang/sdk/issues/61838
Change-Id: Ic5e73241bfdb3210d5d2d43ea6136a8d948f2e13
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/457883
Auto-Submit: Felipe Morschel <git@fmorschel.dev>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
2025-10-28 11:26:29 -07:00
Fedor Shcheglov 33fcfbf3ab Implement DotShorthandConstructorInvocationImpl support for argument list context.
Bug: https://github.com/dart-lang/sdk/issues/61843
Change-Id: I54118ea6599c30e36918dd3255f6c79b2f02280e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/457801
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2025-10-27 20:46:32 -07:00
FMorschel 56ccc3f887 [DAS] Fixes Go to Definition for try/catch error/stack
Fixes: https://github.com/dart-lang/sdk/issues/61771
Change-Id: If815663ab6689a8f1b70812489f4e1abc7fa86e8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/456420
Auto-Submit: Felipe Morschel <git@fmorschel.dev>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2025-10-24 11:35:07 -07:00
Konstantin Shcheglov ff30536788 Prepare to publish analyzer 9.0.0, _fe_analyzer_shared 92.0.0, analysis_server_plugin 0.3.4, analyzer_plugin 0.13.11, analyzer_testing 0.1.6
Change-Id: Id5681e1cd01493d65e733c7d2fc7ece78d7193cf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/457162
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
2025-10-23 13:48:19 -07:00
Sam Rawlins d8700b6735 analyzer_plugin: Add missing CHANGELOG entries
Change-Id: I7b47baf483e727db84b6177c2f2bea364dcf2fa1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/456761
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2025-10-22 11:50:14 -07:00
Konstantin Shcheglov 05bcfd2571 Breaking changes for analyzer version 9.0.0
Change-Id: I4d1b611edcf5340543b5cabf93b88a103408920b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/444924
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2025-10-19 13:29:07 -07:00
Sam Rawlins 174c15212a DAS: Comply with unintended_html_in_doc_comment
Change-Id: Ic96bb851e4f18d11badb3e429f5601e652f89b1a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/454162
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2025-10-15 13:43:58 -07:00
Konstantin Shcheglov cb88626a6c Prepare to publish analyzer 8.4.0, _fe_analyzer_shared 91.0.0, analysis_server_plugin 0.3.3, analyzer_plugin 0.13.10, analyzer_testing 0.1.5
Change-Id: I941d0a4a1a56c741656ae94ea05dc86674c27867
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/454964
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2025-10-15 09:27:16 -07:00
Konstantin Shcheglov 5be8fcc1d5 Elements. Deprecate TypeAliasElement.aliasedElement
Change-Id: I6271efcc69fc891b41f605dd4f1398e5163b579d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/454662
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2025-10-13 13:42:00 -07:00
Paul Berry 533f833cf1 Reapply "[analyzer] Add experimental_member_use warning."
This reverts commit 3bdbceddc7.

This change was originally landed as commit
3923958595, however it had to be
reverted due to breaking the dart->flutter roll.

Change-Id: I6a6a6964176a276be1b9b01c74a4500488470219
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/452528
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2025-10-13 12:23:32 -07:00
Konstantin Shcheglov c743dc9990 Prepare to publish analyzer 8.3.0, _fe_analyzer_shared 90.0.0, analysis_server_plugin 0.3.2, analyzer_plugin 0.13.9, analyzer_testing 0.1.4
Change-Id: I8b91525430d2d3995d90ca2a5c9760a7522e70f7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/454423
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
2025-10-10 13:31:40 -07:00
Danny Tuppeny 0941ee70a0 [analysis_server] Add navigation regions for declarations of enums, extensions, typedefs, mixins
This allows Ctrl+Click on the declarations to fall back to Find References in VS Code, which is consistent with other declarations names.

Fixes https://github.com/dart-lang/sdk/issues/61553

Change-Id: Ic6b9de6597fa52dcb79e8f8ea946943e9101ca44
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/454081
Commit-Queue: Keerti Parthasarathy <keertip@google.com>
Reviewed-by: Keerti Parthasarathy <keertip@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2025-10-10 10:38:49 -07:00
Sam Rawlins 793aeaee01 DAS protocol: Update comments to use markdown codeblocks
One can see that we have bare HTML in these signature-in-comments,
like:

  "contextMessages": optional List<DiagnosticMessage>

These are flagged by the unintended_html_in_doc_comment lint rule.

This CL solves this by indenting these signatures 4 spaces, making
them Markdown indented code blocks. Alternatively we could use
backticks. Backticks would make the comments taller; indenting makes
them wider. I would prioritize whichever style is less intrusive when
reading them in plain text, which I think would be to use
indentation.

Change-Id: I019d9073e994a505325194ceeac3c6e0635d947e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/453642
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2025-10-08 09:16:20 -07:00
FMorschel f58012e81b [DAS] Fixes writeType importing shadowed type by local declaration
Fixes: https://github.com/dart-lang/sdk/issues/59701
Change-Id: Ief2816ee8b05296adfdbb4f2c1f01a8892711136
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/451404
Auto-Submit: Felipe Morschel <git@fmorschel.dev>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2025-10-06 14:49:53 -07:00
Konstantin Shcheglov 892ba9c158 Elements. Deprecate TypeDefiningElement and TypeDefiningFragment.
Change-Id: Ic418980c83146669678d5c6d61db05d84ba86652
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/452903
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2025-10-02 12:29:30 -07:00
Paul Berry 3bdbceddc7 Revert "[analyzer] Add experimental_member_use warning."
This reverts commit 3923958595.

Reason for revert: Broke dart->flutter roll https://github.com/flutter/flutter/pull/176234 due to customer testing

Original change's description:
> [analyzer] Add experimental_member_use warning.
>
> Adds the implementation of the `experimental_member_use` warning
> (whose diagnostic code was introduced in
> https://dart-review.googlesource.com/c/sdk/+/451341).
>
> There is very little implementation logic, since the bulk of the
> implementation is shared with the existing `deprecated_member_use`
> warning. Unit tests are adapted from the `deprecated_member_use` unit
> tests.
>
> Since the tests in `non_const_argument_for_const_parameter_test.dart`
> use the annotation `@mustBeConst`, which is marked `@experimental`,
> they had to be modified to expect the new warning.
>
> Change-Id: I6a6a69645bb072b29166b7617b480a890b2bb5aa
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/450970
> Reviewed-by: Samuel Rawlins <srawlins@google.com>
> Commit-Queue: Paul Berry <paulberry@google.com>

Change-Id: I6a6a696447ed61b133e17ffc63ca6067fdbcc1ca
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/452526
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
2025-09-30 14:01:32 -07:00
Paul Berry 3923958595 [analyzer] Add experimental_member_use warning.
Adds the implementation of the `experimental_member_use` warning
(whose diagnostic code was introduced in
https://dart-review.googlesource.com/c/sdk/+/451341).

There is very little implementation logic, since the bulk of the
implementation is shared with the existing `deprecated_member_use`
warning. Unit tests are adapted from the `deprecated_member_use` unit
tests.

Since the tests in `non_const_argument_for_const_parameter_test.dart`
use the annotation `@mustBeConst`, which is marked `@experimental`,
they had to be modified to expect the new warning.

Change-Id: I6a6a69645bb072b29166b7617b480a890b2bb5aa
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/450970
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2025-09-29 06:04:17 -07:00
FMorschel 3e7ba3e234 [DAS] Fixes "Create missing overrides" for unary operators
Fixes: https://github.com/dart-lang/sdk/issues/61127
Change-Id: I8f50bc0cec05734ddb182256345ccb1462c35636
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/442800
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Auto-Submit: Felipe Morschel <git@fmorschel.dev>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2025-09-26 11:18:56 -07:00
Konstantin Shcheglov 5a98a975b7 Prepare to publish analyzer 8.2.0, _fe_analyzer_shared 89.0.0, analysis_server_plugin 0.3.0, analyzer_plugin 0.13.8, analyzer_testing 0.1.3
Change-Id: Id3e52c9b91f25a11b5b1d00a51a580f53db44033
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/450744
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2025-09-19 13:25:42 -07:00
Danny Tuppeny 68f0d0e3a9 [analysis_server] Fix handling of edits that require sequential processing
This moves the check for whether we need to apply edits sequentially to above some of the validation checks (because they are only applicable if not applying sequentially) and tweaks the logic slightly.

It also removes a third copy of this function in analysis_server that was only used in one test, so we're down to two copies now (analyzer_plugin and analysis_server_client).

Fixes https://github.com/dart-lang/sdk/issues/61501
Fixes https://github.com/dart-lang/sdk/issues/61488

Change-Id: I89ac94e8fd65e904c4eddcd8f1ebba3bf1293487
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/450380
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2025-09-18 09:43:06 -07:00
Sam Rawlins b1944f9529 Improve mismatch exception, wrapping field names in quotes
When hitting a protocol error, I saw some errors that were confusing
for a moment because of the lack of quotes, for example:

> Invalid parameter 'params'. Expected to be files; found \"...

This CL doesn't actually improve the situation _much_, but it at least
puts quotes around `files`, to indicate it is a property or something
similar.

Change-Id: Ic12d063b427661025cd4418951c58abf3394df3f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/449220
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2025-09-15 11:47:54 -07:00
Sam Rawlins b40781459a Bump analyzer_plugin to use Dart SDK 3.9.0
Change-Id: Ice7b7e978ccc666c18cbea9cb9e79673893066ed
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/448221
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2025-09-02 14:07:49 -07:00