|
Ninja
|
DyndepLoader loads dynamically discovered dependencies, as referenced via the "dyndep" attribute in build files. More...
#include <dyndep.h>
Public Member Functions | |
| DyndepLoader (State *state, DiskInterface *disk_interface, Explanations *explanations=nullptr) | |
| bool | LoadDyndeps (Node *node, DyndepFile *ddf, std::string *err) const |
| bool | LoadDyndeps (Node *node, std::string *err) const |
| Load a dyndep file from the given node's path and update the build graph with the new information. More... | |
Private Member Functions | |
| bool | LoadDyndepFile (Node *file, DyndepFile *ddf, std::string *err) const |
| bool | UpdateEdge (Edge *edge, Dyndeps const *dyndeps, std::string *err) const |
Private Attributes | |
| DiskInterface * | disk_interface_ |
| OptionalExplanations | explanations_ |
| State * | state_ |
DyndepLoader loads dynamically discovered dependencies, as referenced via the "dyndep" attribute in build files.
|
inline |
|
private |
Definition at line 118 of file dyndep.cc.
References Parser::Load(), and Node::path().
| bool DyndepLoader::LoadDyndeps | ( | Node * | node, |
| DyndepFile * | ddf, | ||
| std::string * | err | ||
| ) | const |
Definition at line 35 of file dyndep.cc.
References Node::out_edges(), Edge::outputs_, Node::path(), and Node::set_dyndep_pending().
| bool DyndepLoader::LoadDyndeps | ( | Node * | node, |
| std::string * | err | ||
| ) | const |
Load a dyndep file from the given node's path and update the build graph with the new information.
One overload accepts a caller-owned 'DyndepFile' object in which to store the information loaded from the dyndep file.
Definition at line 30 of file dyndep.cc.
Referenced by Cleaner::LoadDyndeps().
|
private |
Definition at line 81 of file dyndep.cc.
References BindingEnv::AddBinding(), Node::AddOutEdge(), Edge::env_, Edge::implicit_deps_, Dyndeps::implicit_inputs_, Dyndeps::implicit_outputs_, Edge::implicit_outs_, Node::in_edge(), Edge::inputs_, Edge::order_only_deps_, Edge::outputs_, Node::path(), Dyndeps::restat_, and Node::set_in_edge().
|
private |
|
mutableprivate |