Ninja
Public Member Functions | Private Attributes | List of all members
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>

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. 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

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

BuildLog* DependencyScan::build_log_
private

Definition at line 261 of file graph.h.

ImplicitDepLoader DependencyScan::dep_loader_
private

Definition at line 263 of file graph.h.

Referenced by RecomputeDirty().

DiskInterface* DependencyScan::disk_interface_
private

Definition at line 262 of file graph.h.

Referenced by RecomputeDirty().


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