ladybird/Userland/Libraries/LibJS/Tests/functions
Linus Groh 99f9609e45 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.
2021-09-13 17:44:08 +01:00
..
arrow-functions.js LibJS: Allow patterns in parenthesized arrow function parameters 2021-07-02 14:59:03 +02:00
constructor-basic.js
function-default-parameters.js
function-destructuring-parameters.js
function-duplicate-parameters.js
function-evaluation-order.js LibJS: Evaluate function arguments before checking callee type 2021-09-13 17:44:08 +01:00
function-hoisting.js LibJS: Improve function hoisting across blocks 2021-07-06 00:15:37 +01:00
function-length.js
function-missing-arg.js
function-name.js
function-nesting.js
function-new-target.js
function-prototype-writable.js
function-rest-params.js
function-spread.js
function-strict-mode.js
function-this-in-arguments.js
function-TypeError.js