Skip to content

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 😀

@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