Ninja
Public Member Functions | Private Attributes
DependencyScan Struct Reference

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>

List of all members.

Public Member Functions

BuildLogbuild_log () const
 DependencyScan (State *state, BuildLog *build_log, DepsLog *deps_log, DiskInterface *disk_interface)
DepsLogdeps_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.
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.
void set_build_log (BuildLog *log)

Private Attributes

BuildLogbuild_log_
ImplicitDepLoader dep_loader_
DiskInterfacedisk_interface_

Detailed Description

DependencyScan manages the process of scanning the files in a graph and updating the dirty/outputs_ready state of all the nodes and edges.

Definition at line 230 of file graph.h.


Constructor & Destructor Documentation

DependencyScan::DependencyScan ( State state,
BuildLog build_log,
DepsLog deps_log,
DiskInterface disk_interface 
) [inline]

Definition at line 231 of file graph.h.


Member Function Documentation

BuildLog* DependencyScan::build_log ( ) const [inline]

Definition at line 249 of file graph.h.

Referenced by Builder::FinishCommand(), and RecomputeOutputDirty().

DepsLog* DependencyScan::deps_log ( ) const [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 
)
void DependencyScan::set_build_log ( BuildLog log) [inline]

Definition at line 252 of file graph.h.

Referenced by Builder::SetBuildLog().


Member Data Documentation

Definition at line 261 of file graph.h.

Definition at line 263 of file graph.h.

Referenced by RecomputeDirty().

Definition at line 262 of file graph.h.

Referenced by RecomputeDirty().


The documentation for this struct was generated from the following files: