func (expr *ComparisonExpr) Walk(v Visitor) Expr {
	left, changedL := WalkExpr(v, expr.Left)
	right, changedR := WalkExpr(v, expr.Right)
	if changedL || changedR {
		exprCopy := *expr
		exprCopy.Left = left
		exprCopy.Right = right
		return &exprCopy
	}
	return expr
}
// Walk implements the Expr interface.
Walk implements the Expr interface.
// Walk implements the Expr interface .
func (expr *ComparisonExpr) Walk(v Visitor) Expr {
	left, changedL := WalkExpr(v, expr.Left)
	right, changedR := WalkExpr(v, expr.Right)
	if changedL || changedR {
		exprCopy := *expr
		exprCopy.Left = left
		exprCopy.Right = right
		return &exprCopy
	}
	return expr
}
func ( expr * ComparisonExpr ) Walk ( v Visitor ) Expr { left , changedL := WalkExpr ( v , expr . Left ) right , changedR := WalkExpr ( v , expr . Right ) if changedL || changedR { exprCopy := * expr exprCopy . Left = left exprCopy . Right = right return & exprCopy } return expr }
Walk implements the Expr interface.
Walk implements the Expr interface .