function evaluateCaseBlock({ node, evaluate, environment, reporting, statementTraversalStack }, switchExpression) {
    // Prepare a lexical environment for the case block
    const localEnvironment = cloneLexicalEnvironment(environment);
    // Define a new binding for a break symbol within the environment
    setInLexicalEnvironment({ env: localEnvironment, path: BREAK_SYMBOL, value: false, newBinding: true, reporting, node });
    for (const clause of node.clauses) {
        evaluate.nodeWithArgument(clause, localEnvironment, switchExpression, statementTraversalStack);
        // Check if a 'break', 'continue', or 'return' statement has been encountered, break the block
        if (pathInLexicalEnvironmentEquals(node, localEnvironment, true, BREAK_SYMBOL, CONTINUE_SYMBOL, RETURN_SYMBOL)) {
            break;
        }
    }
}
/**
 * Evaluates, or attempts to evaluate, a CaseBlock, based on a switch expression
 */
Evaluates, or attempts to evaluate, a CaseBlock, based on a switch expression
Evaluates or attempts to evaluate a CaseBlock based on a switch expression
function evaluateCaseBlock({ node, evaluate, environment, reporting, statementTraversalStack }, switchExpression) {
    const localEnvironment = cloneLexicalEnvironment(environment);
    setInLexicalEnvironment({ env: localEnvironment, path: BREAK_SYMBOL, value: false, newBinding: true, reporting, node });
    for (const clause of node.clauses) {
        evaluate.nodeWithArgument(clause, localEnvironment, switchExpression, statementTraversalStack);
        if (pathInLexicalEnvironmentEquals(node, localEnvironment, true, BREAK_SYMBOL, CONTINUE_SYMBOL, RETURN_SYMBOL)) {
            break;
        }
    }
}
function evaluateCaseBlock ( { node , evaluate , environment , reporting , statementTraversalStack } , switchExpression ) { const localEnvironment = cloneLexicalEnvironment ( environment ) ; setInLexicalEnvironment ( { env : localEnvironment , path : BREAK_SYMBOL , value : false , newBinding : true , reporting , node } ) ; for ( const clause of node . clauses ) { evaluate . nodeWithArgument ( clause , localEnvironment , switchExpression , statementTraversalStack ) ; if ( pathInLexicalEnvironmentEquals ( node , localEnvironment , true , BREAK_SYMBOL , CONTINUE_SYMBOL , RETURN_SYMBOL ) ) { break ; } } }
Evaluates, or attempts to evaluate, a CaseBlock, based on a switch expression
Evaluates or attempts to evaluate a CaseBlock based on a switch expression
// Prepare a lexical environment for the case block // Define a new binding for a break symbol within the environment // Check if a 'break', 'continue', or 'return' statement has been encountered, break the block