| 250 | Status Accept(NodeVisitor& visitor) const override { return visitor.Visit(*this); } |
| 251 | |
| 252 | std::string ToString() const override { |
| 253 | std::stringstream ss; |
| 254 | ss << eval_expr_->ToString() << " IN ("; |
| 255 | bool add_comma = false; |
| 256 | for (auto& value : values_) { |
| 257 | if (add_comma) { |
| 258 | ss << ", "; |
| 259 | } |
| 260 | // add type in the front to differentiate |
| 261 | ss << value; |
| 262 | add_comma = true; |
| 263 | } |
| 264 | ss << ")"; |
| 265 | return ss.str(); |
| 266 | } |
| 267 | |
| 268 | private: |
| 269 | NodePtr eval_expr_; |