Remove `Invoke` usage #74

Closed
domenic opened this Issue Nov 13, 2013 · 3 comments

Projects

None yet

3 participants

@domenic
Owner
domenic commented Nov 13, 2013

It died recently.

@stefanpenner

rip

@allenwb
Collaborator
allenwb commented Nov 13, 2013

Note that the absence of the Invoke abstract operation in Rev 21 is a bug. It will be back in Rev 22 so you should feel free to use it. Only the [[Invoke]] internal method has died

7.3.10 Invoke(O,P, [args])
The abstract operation Invoke is used to call a method property of an object. The operation is called with arguments O, P , and optionally args where O serves as both the lookup point for the property and the this value of the call, P is the property key, and args is the list of arguments values passed to the method. If args is not present, an empty List is used as its value. This abstract operation performs the following steps:

  1. Assert: P is a valid property key.
  2. If args was not passed, then let args be a new empty List.
  3. Let obj be ToObject(O).
  4. ReturnIfAbrupt(obj).
  5. Let func be the result of GetMethod(obj, P).
  6. ReturnIfAbrupt(func).
  7. If func is undefined, throw a TypeError exception.
  8. Return the result of calling the [[Call]] internal method of func passing O as thisArgument and args as argumentsList.
@domenic
Owner
domenic commented Nov 13, 2013

Oh, well, in that case we're fine; we only use the Invoke abstract operation. Thanks @allenwb!

@domenic domenic closed this Nov 13, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment