|
Ninja
|
ImplicitDepLoader loads implicit dependencies, as referenced via the "depfile" attribute in build files. More...
#include <graph.h>
Public Member Functions | |
| DepsLog * | deps_log () const |
| ImplicitDepLoader (State *state, DepsLog *deps_log, DiskInterface *disk_interface, DepfileParserOptions const *depfile_parser_options) | |
| bool | LoadDeps (Edge *edge, std::string *err) |
| Load implicit dependencies for edge. More... | |
Private Member Functions | |
| void | CreatePhonyInEdge (Node *node) |
| If we don't have a edge that generates this input already, create one; this makes us not abort if the input is missing, but instead will rebuild in that circumstance. More... | |
| bool | LoadDepFile (Edge *edge, const std::string &path, std::string *err) |
| Load implicit dependencies for edge from a depfile attribute. More... | |
| bool | LoadDepsFromLog (Edge *edge, std::string *err) |
| Load implicit dependencies for edge from the DepsLog. More... | |
| std::vector< Node * >::iterator | PreallocateSpace (Edge *edge, int count) |
| Preallocate count spaces in the input array on edge, returning an iterator pointing at the first new space. More... | |
Private Attributes | |
| DepfileParserOptions const * | depfile_parser_options_ |
| DepsLog * | deps_log_ |
| DiskInterface * | disk_interface_ |
| State * | state_ |
ImplicitDepLoader loads implicit dependencies, as referenced via the "depfile" attribute in build files.
|
inline |
|
private |
If we don't have a edge that generates this input already, create one; this makes us not abort if the input is missing, but instead will rebuild in that circumstance.
Definition at line 647 of file graph.cc.
References Node::in_edge(), State::kPhonyRule, Edge::outputs_, Edge::outputs_ready_, and Node::set_in_edge().
|
inline |
Definition at line 236 of file graph.h.
References deps_log_.
Referenced by DependencyScan::deps_log().
|
private |
Load implicit dependencies for edge from a depfile attribute.
Definition at line 528 of file graph.cc.
References Node::AddOutEdge(), CanonicalizePath(), EXPLAIN, DepfileParser::ins_, METRIC_RECORD, FileReader::NotFound, FileReader::Okay, FileReader::OtherError, Edge::outputs_, DepfileParser::outs_, DepfileParser::Parse(), and Node::path().
| bool ImplicitDepLoader::LoadDeps | ( | Edge * | edge, |
| std::string * | err | ||
| ) |
Load implicit dependencies for edge.
Definition at line 504 of file graph.cc.
References Edge::GetBinding(), and Edge::GetUnescapedDepfile().
|
private |
Load implicit dependencies for edge from the DepsLog.
Definition at line 612 of file graph.cc.
References Node::AddOutEdge(), EXPLAIN, DepsLog::Deps::mtime, Node::mtime(), DepsLog::Deps::node_count, DepsLog::Deps::nodes, Edge::outputs_, Node::path(), and PRId64.
Preallocate count spaces in the input array on edge, returning an iterator pointing at the first new space.
Definition at line 639 of file graph.cc.
References Edge::implicit_deps_, Edge::inputs_, and Edge::order_only_deps_.
|
private |
|
private |
Definition at line 260 of file graph.h.
Referenced by deps_log().
|
private |
1.8.14