diff options
author | Linus Groh <mail@linusgroh.de> | 2021-09-13 17:44:08 +0100 |
---|---|---|
committer | Linus Groh <mail@linusgroh.de> | 2021-09-13 17:44:08 +0100 |
commit | 99f9609e451ddf00318c8887545bfb77c2e59b4e (patch) | |
tree | f4cdd3404637568ff3869742666d3218f3d50d66 /Documentation/Troubleshooting.md | |
parent | 7852b0fbc3f0e08528e4f4c8e82a891bbc1c353d (diff) | |
download | serenity-99f9609e451ddf00318c8887545bfb77c2e59b4e.zip |
LibJS: Evaluate function arguments before checking callee type
In the spec, this happens in the EvaluateCall abstract operation
(https://tc39.es/ecma262/#sec-evaluatecall), and the order is defined
as:
3. Let argList be ? ArgumentListEvaluation of arguments.
4. If Type(func) is not Object, throw a TypeError exception.
5. If IsCallable(func) is false, throw a TypeError exception.
In LibJS this is handled by CallExpression::execute(), which had the
callee function check first and would therefore never evaluate the
arguments for a non-function callee.
Diffstat (limited to 'Documentation/Troubleshooting.md')
0 files changed, 0 insertions, 0 deletions