func (expr *CoalesceExpr) Walk(v Visitor) Expr {
	ret := expr
	exprs, changed := walkExprSlice(v, expr.Exprs)
	if changed {
		if ret == expr {
			ret = expr.copyNode()
		}
		ret.Exprs = exprs
	}
	return ret
}
// Walk implements the Expr interface.
Walk implements the Expr interface.
// Walk implements the Expr interface .
func (expr *CoalesceExpr) Walk(v Visitor) Expr {
	ret := expr
	exprs, changed := walkExprSlice(v, expr.Exprs)
	if changed {
		if ret == expr {
			ret = expr.copyNode()
		}
		ret.Exprs = exprs
	}
	return ret
}
func ( expr * CoalesceExpr ) Walk ( v Visitor ) Expr { ret := expr exprs , changed := walkExprSlice ( v , expr . Exprs ) if changed { if ret == expr { ret = expr . copyNode ( ) } ret . Exprs = exprs } return ret }
Walk implements the Expr interface.
Walk implements the Expr interface .