tree 4d3286ea4b0720c07fe0ac23e19b86679087f41a
parent eb691963f0181a694b0e705c7bce159eba75bb84
author Paul Berry <paulberry@google.com> 1737328699 -0800
committer Commit Queue <dart-scoped@luci-project-accounts.iam.gserviceaccount.com> 1737328699 -0800

[analyzer] Use TypeImpl for context types.

The signatures of `ExpressionImpl.resolveExpression` and all of its
overrides are changed so that they expect a context which is a
`TypeImpl` rather than a `DartType`. The signatures of expression
`visit` methods in `ResolverVisitor` are changed in a similar way.

To reduce the number of casts that this introduces, several fields and
methods in the following classes have their types changed to use
"Impl" types:

- `ElementResolver`
- `FunctionExpressionInvocationResolver`
- `GenericFunctionInferenceTest`
- `GenericInferrer`
- `InstanceCreationExpressionResolver`
- `InterfaceElementImpl`
- `InterfaceElementImpl2`
- `InterfacesMerger`
- `InterfaceTypeImpl`
- `InvocationInferenceHelper`
- `InvocationInferrer`
- `MethodElementImpl2`
- `MethodInvocationResolver`
- `MixinElementImpl`
- `MixinElementImpl2`
- `NamedTypeResolver`
- `ResolutionReader`
- `ResolverVisitor`
- `Substitution`
- `TypedLiteralResolver`
- `TypeSystemImpl`
- `_ClassInterfaceType`
- `_LiteralResolution`
- `_MixinInference`

This is part of a larger arc of work to change the analyzer's use of
the shared code so that the type parameters it supplies are not part
of the analyzer public API. See
https://github.com/dart-lang/sdk/issues/59763.

Change-Id: I11d476d712846c28b05e0fa1a5972fb7585e114a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/405101
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
