|
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, Explanations *explanations) | |
| bool | LoadDeps (Edge *edge, std::string *err) |
| Load implicit dependencies for edge. More... | |
Protected Member Functions | |
| 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... | |
| virtual bool | ProcessDepfileDeps (Edge *edge, std::vector< StringPiece > *depfile_ins, std::string *err) |
| Process loaded implicit dependencies for edge and update the graph. More... | |
Protected Attributes | |
| DepfileParserOptions const * | depfile_parser_options_ |
| DepsLog * | deps_log_ |
| DiskInterface * | disk_interface_ |
| OptionalExplanations | explanations_ |
| State * | state_ |
ImplicitDepLoader loads implicit dependencies, as referenced via the "depfile" attribute in build files.
|
inline |
|
inline |
Definition at line 299 of file graph.h.
References deps_log_.
Referenced by DependencyScan::deps_log().
|
protected |
Load implicit dependencies for edge from a depfile attribute.
Definition at line 642 of file graph.cc.
References CanonicalizePath(), 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 618 of file graph.cc.
References Edge::GetBinding(), and Edge::GetUnescapedDepfile().
|
protected |
Load implicit dependencies for edge from the DepsLog.
Definition at line 726 of file graph.cc.
References Node::AddOutEdge(), Edge::implicit_deps_, Edge::inputs_, DepsLog::Deps::mtime, Node::mtime(), DepsLog::Deps::node_count, DepsLog::Deps::nodes, Edge::order_only_deps_, 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 756 of file graph.cc.
References Edge::implicit_deps_, Edge::inputs_, and Edge::order_only_deps_.
|
protectedvirtual |
Process loaded implicit dependencies for edge and update the graph.
Definition at line 707 of file graph.cc.
References Node::AddOutEdge(), and CanonicalizePath().
|
protected |
|
protected |
Definition at line 324 of file graph.h.
Referenced by deps_log().
|
protected |
|
protected |