Files
sdk/pkg/analyzer_plugin/lib
Konstantin Shcheglov 41b05c8984 CQ. Rewrite identifiers resolving to types into TypeLiteral nodes
Modify the AST rewriting phase to transform `SimpleIdentifier` and
`PrefixedIdentifier` nodes into `TypeLiteral` nodes when they resolve to
a type (such as classes, type aliases, `dynamic`, or `Never`) and appear
within a value expression slot.

This change ensures a more consistent AST representation where type
references used as values are distinct from other identifiers.

Key changes include:
- Generating `isInValueExpressionSlot` methods for AST nodes to identify
  valid contexts for type literals.
- Updating `AstRewriteVisitor` to perform the conversion.
- Adjusting constant evaluation, completion, and linter rules to support
  `TypeLiteral` nodes in expression contexts.
- Adding comprehensive resolution tests for type literals in assignments,
  conditionals, loops, and other structures.

Change-Id: I248481dc9c940dfc0cbea4950b918d2e0a3d9bb6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/479780
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2026-02-18 12:05:17 -08:00
..