-
Notifications
You must be signed in to change notification settings - Fork 3.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[idlharness.js] Simplify handling of inheritance and mixins
Handling of these concepts was more complicated than (now) necessary. Inheritance: There's no reason to record inheritance separately in `IdlArray`'s `this.["inheritance"]`, since it can be determined just as easily from `this.members` via the `member.base` attributes. The concept of "consequential interfaces" in Web IDL went away with `implements` statements in whatwg/webidl#433 and here in #28619. `traverse_inherited_and_consequential_interfaces()` can be replaced with just `get_inheritance_stack()`. Mixins: For valid `A includes B` statements, `A` is always an interface and `B` is always an interface mixin, so there are no include chains or the possibility of cycles. `recursively_get_includes()` assumed this. Instead just save the `includes` statements found in `this.includes` and apply them in `merge_includes`, similar to partials. The handling of partials isn't changed, but `collapse_partials` is renamed to `merge_partials` to match the above. No observable differences in test results whatsoever are intended.
- Loading branch information
Showing
5 changed files
with
94 additions
and
170 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.