function evaluateNewExpression({ node, environment, evaluate, statementTraversalStack }) {
    const evaluatedArgs = [];
    if (node.arguments != null) {
        for (let i = 0; i < node.arguments.length; i++) {
            evaluatedArgs[i] = evaluate.expression(node.arguments[i], environment, statementTraversalStack);
        }
    }
    // Evaluate the expression
    const expressionResult = evaluate.expression(node.expression, environment, statementTraversalStack);
    return new expressionResult(...evaluatedArgs);
}
/**
 * Evaluates, or attempts to evaluate, a NewExpression
 */
Evaluates, or attempts to evaluate, a NewExpression
Evaluates or attempts to evaluate a NewExpression
function evaluateNewExpression({ node, environment, evaluate, statementTraversalStack }) {
    const evaluatedArgs = [];
    if (node.arguments != null) {
        for (let i = 0; i < node.arguments.length; i++) {
            evaluatedArgs[i] = evaluate.expression(node.arguments[i], environment, statementTraversalStack);
        }
    }
    const expressionResult = evaluate.expression(node.expression, environment, statementTraversalStack);
    return new expressionResult(...evaluatedArgs);
}
function evaluateNewExpression ( { node , environment , evaluate , statementTraversalStack } ) { const evaluatedArgs = [ ] ; if ( node . arguments != null ) { for ( let i = 0 ; i < node . arguments . length ; i ++ ) { evaluatedArgs [ i ] = evaluate . expression ( node . arguments [ i ] , environment , statementTraversalStack ) ; } } const expressionResult = evaluate . expression ( node . expression , environment , statementTraversalStack ) ; return new expressionResult ( ... evaluatedArgs ) ; }
Evaluates, or attempts to evaluate, a NewExpression
Evaluates or attempts to evaluate a NewExpression
// Evaluate the expression