41b05c8984
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>