| 336 | } |
| 337 | |
| 338 | Status DeleteNode(NodeId id) final { |
| 339 | NodeDef* n; |
| 340 | RETURN_IF_ERROR(LookupNode(id, &n)); |
| 341 | Node* node_ptr = n->node.get(); |
| 342 | for (auto value : n->inputs) { |
| 343 | Erase(&values_[value->id].consumers, node_ptr); |
| 344 | } |
| 345 | for (auto value : n->outputs) { |
| 346 | values_[value->id].producer = nullptr; |
| 347 | } |
| 348 | n->inputs.clear(); |
| 349 | n->outputs.clear(); |
| 350 | n->node.reset(); |
| 351 | return OkStatus(); |
| 352 | } |
| 353 | |
| 354 | Status DeleteValue(ValueId id) final { |
| 355 | ValueDef* v; |