Ninja
|
DependencyScan manages the process of scanning the files in a graph and updating the dirty/outputs_ready state of all the nodes and edges. More...
#include <graph.h>
Public Member Functions | |
BuildLog * | build_log () const |
DependencyScan (State *state, BuildLog *build_log, DepsLog *deps_log, DiskInterface *disk_interface) | |
DepsLog * | deps_log () const |
bool | RecomputeDirty (Edge *edge, string *err) |
Examine inputs, outputs, and command lines to judge whether an edge needs to be re-run, and update outputs_ready_ and each outputs' |dirty_| state accordingly. More... | |
bool | RecomputeOutputDirty (Edge *edge, Node *most_recent_input, TimeStamp deps_mtime, const string &command, Node *output) |
Recompute whether a given single output should be marked dirty. More... | |
void | set_build_log (BuildLog *log) |
Private Attributes | |
BuildLog * | build_log_ |
ImplicitDepLoader | dep_loader_ |
DiskInterface * | disk_interface_ |
DependencyScan manages the process of scanning the files in a graph and updating the dirty/outputs_ready state of all the nodes and edges.
|
inline |
|
inline |
Definition at line 249 of file graph.h.
Referenced by Builder::FinishCommand(), and RecomputeOutputDirty().
|
inline |
Definition at line 256 of file graph.h.
Referenced by Builder::FinishCommand().
bool DependencyScan::RecomputeDirty | ( | Edge * | edge, |
string * | err | ||
) |
Examine inputs, outputs, and command lines to judge whether an edge needs to be re-run, and update outputs_ready_ and each outputs' |dirty_| state accordingly.
Returns false on failure.
Definition at line 60 of file graph.cc.
References dep_loader_, disk_interface_, Edge::EvaluateCommand(), EXPLAIN, Edge::inputs_, Edge::is_order_only(), Edge::is_phony(), ImplicitDepLoader::LoadDeps(), Node::mtime(), Edge::outputs_, Edge::outputs_ready_, and RecomputeOutputDirty().
Referenced by Builder::AddTarget().
bool DependencyScan::RecomputeOutputDirty | ( | Edge * | edge, |
Node * | most_recent_input, | ||
TimeStamp | deps_mtime, | ||
const string & | command, | ||
Node * | output | ||
) |
Recompute whether a given single output should be marked dirty.
Returns true if so.
Definition at line 144 of file graph.cc.
References build_log(), BuildLog::LogEntry::command_hash, Node::exists(), EXPLAIN, Edge::GetBindingBool(), BuildLog::LogEntry::HashCommand(), Edge::inputs_, Edge::is_phony(), BuildLog::LookupByOutput(), Node::mtime(), Node::path(), and BuildLog::LogEntry::restat_mtime.
Referenced by Plan::CleanNode(), and RecomputeDirty().
|
inline |
Definition at line 252 of file graph.h.
Referenced by Builder::SetBuildLog().
|
private |
Definition at line 263 of file graph.h.
Referenced by RecomputeDirty().
|
private |
Definition at line 262 of file graph.h.
Referenced by RecomputeDirty().