func (expr *CaseExpr) copyNode() *CaseExpr {
	exprCopy := *expr
	// Copy the Whens slice.
	exprCopy.Whens = make([]*When, len(expr.Whens))
	for i, w := range expr.Whens {
		wCopy := *w
		exprCopy.Whens[i] = &wCopy
	}
	return &exprCopy
}
// copyNode makes a copy of this Expr without recursing in any child Exprs.
copyNode makes a copy of this Expr without recursing in any child Exprs.
// copyNode makes a copy of this Expr without recursing in any child Exprs .
func (expr *CaseExpr) copyNode() *CaseExpr {
	exprCopy := *expr
	exprCopy.Whens = make([]*When, len(expr.Whens))
	for i, w := range expr.Whens {
		wCopy := *w
		exprCopy.Whens[i] = &wCopy
	}
	return &exprCopy
}
func ( expr * CaseExpr ) copyNode ( ) * CaseExpr { exprCopy := * expr exprCopy . Whens = make ( [ ] * When , len ( expr . Whens ) ) for i , w := range expr . Whens { wCopy := * w exprCopy . Whens [ i ] = & wCopy } return & exprCopy }
copyNode makes a copy of this Expr without recursing in any child Exprs.
copyNode makes a copy of this Expr without recursing in any child Exprs .
// Copy the Whens slice.