Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: Don't iterate properties in GetImplementedInterfaces
In CallbackHandlers::GetImplementedInterfaces, we were iterating over all properties of the implementation object (including `super`, which was problematic for the same reasons as given in the previous commit) but discarding all of them except `interfaces`. Instead, we can just get the `interfaces` property if it exists, and use it directly. A few tweaks in looping over the JS array, as well: we can use String::NewFromUtf8Literal() to get the name of the `length` property, we can skip converting the value to an Object before converting it to a Number (this is equivalent to doing `+arr.length` instead of `+Object(arr.length)`), and we don't have to explicitly check length > 0 because the loop won't execute if it's 0.
- Loading branch information