You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The types of the following getters are changed:
- From `DartType` to `TypeImpl`:
- `ExecutableElementImpl.returnType`
- `FormalParameterElementImpl.type`
- `FunctionTypeImpl.returnType`
- `GenericFunctionTypeElementImpl.returnType`
- `ParameterElementImpl_ofImplicitSetter.type`
- `PropertyAccessorElementImpl_ImplicitGetter.returnType`
- `PropertyAccessorElementImpl_ImplicitSetter.returnType`
- `PropertyInducingElementImpl.type`
- `RecordTypeFieldImpl.type`
- `VariableElementImpl.type`
- `VariableMember.type`
- From `InterfaceType` to `InterfaceTypeImpl`:
- `ConstructorElementImpl.returnType`
- `ConstructorElementMixin.returnType`
- `ConstructorMember.returnType`
- `InterfaceElementImpl.thisType`
- `InterfaceElementImpl2.thisType`
- From `AugmentedInterfaceElement` to `InterfaceElementImpl2`:
- `InterfaceElementImpl.augmented`
There is no change to the analyzer public API.
To make this possible, a few type casts had to be added, and the
return type of some type inference methods had to be changed from
`DartType` to `TypeImpl`. Some other type casts were able to be
eliminated. I hope to eliminate the added type casts in future CLs.
To ensure that type promotion continues to occur, a few `is` and `as`
tests had to be changed so that they test against Impl types rather
than public API types.
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
#59763.
Change-Id: Ibf58396c46381aa49e465dcebc14877c6952aa01
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/403943
Reviewed-by: Konstantin Shcheglov <[email protected]>
Commit-Queue: Paul Berry <[email protected]>
0 commit comments