| 273 | } |
| 274 | |
| 275 | std::vector<std::unique_ptr<const ExpressionStep>> |
| 276 | ProgramBuilder::FlattenSubexpression(Subexpression* expr) { |
| 277 | std::vector<std::unique_ptr<const ExpressionStep>> out; |
| 278 | |
| 279 | if (!expr) { |
| 280 | return out; |
| 281 | } |
| 282 | |
| 283 | expr->Flatten(); |
| 284 | expr->ExtractTo(out); |
| 285 | return out; |
| 286 | } |
| 287 | |
| 288 | ProgramBuilder::ProgramBuilder() |
| 289 | : root_(nullptr), current_(nullptr), subprogram_map_() {} |