54372b3308
Instead of having separate API methods `propertyGet` (for accessing the properties of an explicit target) and `thisOrSuperPropertyGet` (for accessing the properties of `this` or `super`), switch to a single `propertyGet` method. Make the `target` parameter of `propertyGet` a sealed class (`PropertyTarget`) with three subtypes representing the three possible kinds of targets: - `ExpressionPropertyTarget` for an explicit target expression, - `SuperPropertyTarget` is the target is `super`, and - `ThisPropertyTarget` if the target is `this`. Also adjust the API for `promotedPropertyType` to use the new `PropertyTarget` class for its `target` parameter, rather than a nullable `target` expression and boolean `isSuperAccess` parameter. Change-Id: I90535f6d6741776548bc4d60359fd4c40c0fab90 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/304763 Reviewed-by: Konstantin Shcheglov <scheglov@google.com> Reviewed-by: Johnni Winther <johnniwinther@google.com> Commit-Queue: Paul Berry <paulberry@google.com>