Files
sdk/pkg/analyzer/lib
Paul Berry 655fcda015 Migration: rework how ElementTypeProvider overrides element types.
Previously, each piece of analyzer code needed during the FixBuilder
stage of migration needed to use the ElementTypeProvider interface to
access element types (rather than reading the types from the elements
directly), in order to ensure that the proper post-migration types
were used when building fixes.  This required a lot of plumbing, and
there was a high risk that we would accidentally fail to use the
indirection mechanism in a key location and access the elements
directly.

This CL changes the approach so that the ElementImpl classes
themselves are responsible for indirecting through
ElementTypeProvider.  This means that we can back out all the
plumbing, and there is no risk of accidentally failing to use the
indirection mechanism.

Change-Id: Ic1a0acc37f0350fc13b487f73fc1ad5225d7a090
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134360
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2020-02-04 22:29:20 +00:00
..
2019-12-20 01:08:49 +00:00
2019-12-06 01:11:30 +00:00