Files
sdk/pkg/analysis_server/lib
Paul Berry 462bcaf52a [analyzer] Make two derived classes for PropertyAccessorElementImpl.
Derived class `GetterFragmentImpl` is used for getters and
`SetterFragmentImpl` is used for setters. Only `GetterFragmentImpl`
implements `GetterFragment` and only `SetterFragmentImpl` implements
`SetterFragment`. This ensures that clients performing `is
GetterFragment` and `is SetterFragment` checks get the expected
behavior. (Previously, any instance of `PropertyAccessorElementImpl`
would satisfy *both* `is GetterFragment` and `is SetterFragment`
tests).

This made it possible for the types of getters defined in
`GetterFragment` and `SetterFragment` to be more precise, which in
turn allowed some casts to be removed from the analyzer.

Change-Id: I243e8f6547d9aed77175e8c14c48af8970bfd528
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/412140
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2025-02-26 13:40:37 -08:00
..