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

Merged
merged 2 commits into from
Sep 23, 2024

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 😀

test/search_index_test.dart Outdated Show resolved Hide resolved
@srawlins srawlins merged commit e8f2333 into dart-lang:main Sep 23, 2024
7 checks passed
@srawlins srawlins deleted the no-indexable branch September 23, 2024 17:04
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.

2 participants