Returns a vector aligned with exprs vector where elements that correspond to constant expressions are set to constant values of these expressions. Elements that correspond to non-constant expressions are set to null.
| 375 | /// constant expressions are set to constant values of these expressions. |
| 376 | /// Elements that correspond to non-constant expressions are set to null. |
| 377 | std::vector<VectorPtr> getConstantInputs(const std::vector<ExprPtr>& exprs) { |
| 378 | std::vector<VectorPtr> constants; |
| 379 | constants.reserve(exprs.size()); |
| 380 | for (auto& expr : exprs) { |
| 381 | if (auto constantExpr = std::dynamic_pointer_cast<ConstantExpr>(expr)) { |
| 382 | constants.emplace_back(constantExpr->value()); |
| 383 | } else { |
| 384 | constants.emplace_back(nullptr); |
| 385 | } |
| 386 | } |
| 387 | return constants; |
| 388 | } |
| 389 | |
| 390 | core::TypedExprPtr rewriteExpression(const core::TypedExprPtr& expr) { |
| 391 | for (auto& rewrite : expressionRewrites()) { |
no test coverage detected