Lines Matching defs:edge
44 // Update each edge that specified this node as its dyndep binding.
48 Edge* const edge = *oe;
49 if (edge->dyndep_ != node)
52 DyndepFile::iterator ddi = ddf->find(edge);
54 *err = ("'" + edge->outputs_[0]->path() + "' "
62 if (!UpdateEdge(edge, &dyndeps, err)) {
71 Edge* const edge = oe->first;
73 "'" + edge->outputs_[0]->path() + "' whose build statement "
82 bool DyndepLoader::UpdateEdge(Edge* edge, Dyndeps const* dyndeps,
84 // Add dyndep-discovered bindings to the edge.
85 // We know the edge already has its own binding
88 edge->env_->AddBinding("restat", "1");
90 // Add the dyndep-discovered outputs to the edge.
91 edge->outputs_.insert(edge->outputs_.end(),
94 edge->implicit_outs_ += dyndeps->implicit_outputs_.size();
96 // Add this edge as incoming to each new output.
101 // This node already has an edge producing it.
105 (*i)->set_in_edge(edge);
108 // Add the dyndep-discovered inputs to the edge.
109 edge->inputs_.insert(edge->inputs_.end() - edge->order_only_deps_,
112 edge->implicit_deps_ += dyndeps->implicit_inputs_.size();
114 // Add this edge as outgoing from each new input.
118 (*i)->AddOutEdge(edge);