Skip to content

Commit

Permalink
Define "implements" checks using internal slots
Browse files Browse the repository at this point in the history
- Update the steps for instantiating a platform object, which everything
  theoretically calls into, and which sets the primary interface into a new
  internal slot [[PrimaryInterface]].
- Define the "implements" algorithm as checking the [[PrimaryInterface]]
  internal slot.

The algorithm here is roughly in correspondence with the V8 implementation,
where operation functions are allocated with a reference to a
FunctionTemplate object (which is in corresondence with WebIDL interfaces).
When checking the receiver of a method that came from WebIDL, the original
prototype chain is traversed by looking at the FunctionTemplate's parent.
The same FunctionTemplate is used in multiple JavaScript realms.

Fixes #97.
  • Loading branch information
littledan authored and Ms2ger committed Feb 25, 2019
1 parent 5de45d9 commit d534bbe
Showing 1 changed file with 112 additions and 81 deletions.

0 comments on commit d534bbe

Please sign in to comment.