function evaluateReturnStatement({ node, environment, evaluate, stack, reporting, statementTraversalStack }) {
    setInLexicalEnvironment({ env: environment, path: RETURN_SYMBOL, value: true, reporting, node });
    // If it is a simple 'return', return undefined
    if (node.expression == null) {
        stack.push(undefined);
    }
    else {
        stack.push(evaluate.expression(node.expression, environment, statementTraversalStack));
    }
}
/**
 * Evaluates, or attempts to evaluate, a ReturnStatement
 */
Evaluates, or attempts to evaluate, a ReturnStatement
Evaluates or attempts to evaluate a ReturnStatement
function evaluateReturnStatement({ node, environment, evaluate, stack, reporting, statementTraversalStack }) {
    setInLexicalEnvironment({ env: environment, path: RETURN_SYMBOL, value: true, reporting, node });
    if (node.expression == null) {
        stack.push(undefined);
    }
    else {
        stack.push(evaluate.expression(node.expression, environment, statementTraversalStack));
    }
}
function evaluateReturnStatement ( { node , environment , evaluate , stack , reporting , statementTraversalStack } ) { setInLexicalEnvironment ( { env : environment , path : RETURN_SYMBOL , value : true , reporting , node } ) ; if ( node . expression == null ) { stack . push ( undefined ) ; } else { stack . push ( evaluate . expression ( node . expression , environment , statementTraversalStack ) ) ; } }
Evaluates, or attempts to evaluate, a ReturnStatement
Evaluates or attempts to evaluate a ReturnStatement
// If it is a simple 'return', return undefined