Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove Indexable as an unnecessary mixin. #3884

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

srawlins
Copy link
Member

This mixin only served as an interface providing href and kind, and providing an impl for overriddenDepth. This amounted to a lot of complexity. Some APIs were thus written in terms of Indexable. And any class that mixed in Indexable gets an overriddenDepth property which is inapplicable, more often than not.

As Documentable has href and kind, the easiest migration is to switch most Indexable-concerned APIs to use Documentable. We move overriddenDepth to only be defined on Inheritable.
below.


  • I’ve reviewed the contributor guide and applied the relevant portions to this PR.
Contribution guidelines:

Note that many Dart repos have a weekly cadence for reviewing PRs - please allow for some latency before initial review feedback.

This mixin only served as an interface providing `href` and `kind`, and
providing an impl for `overriddenDepth`. This amounted to a lot of complexity.
Some APIs were thus written in terms of Indexable. And any class that mixed in
Indexable gets an `overriddenDepth` property which is inapplicable, more often
than not.

As Documentable has `href` and `kind`, the easiest migration is to switch most
Indexable-concerned APIs to use Documentable. We move `overriddenDepth` to
_only_ be defined on Inheritable.
@srawlins
Copy link
Member Author

Ready for review, @dart-lang/analyzer-team but zero rush 😀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant