|
Ninja
|
#include <missing_deps.h>
Public Member Functions | |
| bool | HadMissingDeps () |
| MissingDependencyScanner (MissingDependencyScannerDelegate *delegate, DepsLog *deps_log, State *state, DiskInterface *disk_interface) | |
| bool | PathExistsBetween (Edge *from, Edge *to) |
| void | PrintStats () |
| void | ProcessNode (Node *node) |
| void | ProcessNodeDeps (Node *node, Node **dep_nodes, int dep_nodes_count) |
Public Attributes | |
| MissingDependencyScannerDelegate * | delegate_ |
| DepsLog * | deps_log_ |
| DiskInterface * | disk_interface_ |
| std::set< Node * > | generated_nodes_ |
| std::set< const Rule * > | generator_rules_ |
| int | missing_dep_path_count_ |
| std::set< Node * > | nodes_missing_deps_ |
| std::set< Node * > | seen_ |
| State * | state_ |
Private Types | |
| using | AdjacencyMap = std::unordered_map< Edge *, InnerAdjacencyMap > |
| using | InnerAdjacencyMap = std::unordered_map< Edge *, bool > |
Private Attributes | |
| AdjacencyMap | adjacency_map_ |
Definition at line 45 of file missing_deps.h.
|
private |
Definition at line 70 of file missing_deps.h.
|
private |
Definition at line 69 of file missing_deps.h.
| MissingDependencyScanner::MissingDependencyScanner | ( | MissingDependencyScannerDelegate * | delegate, |
| DepsLog * | deps_log, | ||
| State * | state, | ||
| DiskInterface * | disk_interface | ||
| ) |
Definition at line 72 of file missing_deps.cc.
|
inline |
Definition at line 52 of file missing_deps.h.
References nodes_missing_deps_.
Referenced by PrintStats().
Definition at line 174 of file missing_deps.cc.
References adjacency_map_, and Edge::inputs_.
Referenced by ProcessNodeDeps().
| void MissingDependencyScanner::PrintStats | ( | ) |
Definition at line 156 of file missing_deps.cc.
References generated_nodes_, generator_rules_, HadMissingDeps(), missing_dep_path_count_, nodes_missing_deps_, and seen_.
| void MissingDependencyScanner::ProcessNode | ( | Node * | node | ) |
Definition at line 78 of file missing_deps.cc.
References deps_log_, disk_interface_, Edge::GetBinding(), DepsLog::GetDeps(), Node::in_edge(), Edge::inputs_, DepsLog::Deps::node_count, DepsLog::Deps::nodes, ProcessNodeDeps(), seen_, and state_.
Referenced by MissingDependencyScannerTest::ProcessAllNodes().
| void MissingDependencyScanner::ProcessNodeDeps | ( | Node * | node, |
| Node ** | dep_nodes, | ||
| int | dep_nodes_count | ||
| ) |
Definition at line 111 of file missing_deps.cc.
References delegate_, generated_nodes_, generator_rules_, Node::in_edge(), missing_dep_path_count_, nodes_missing_deps_, MissingDependencyScannerDelegate::OnMissingDep(), Node::path(), and PathExistsBetween().
Referenced by ProcessNode().
|
private |
Definition at line 71 of file missing_deps.h.
Referenced by PathExistsBetween().
| MissingDependencyScannerDelegate* MissingDependencyScanner::delegate_ |
Definition at line 58 of file missing_deps.h.
Referenced by ProcessNodeDeps().
| DepsLog* MissingDependencyScanner::deps_log_ |
Definition at line 59 of file missing_deps.h.
Referenced by ProcessNode().
| DiskInterface* MissingDependencyScanner::disk_interface_ |
Definition at line 61 of file missing_deps.h.
Referenced by ProcessNode().
| std::set<Node*> MissingDependencyScanner::generated_nodes_ |
Definition at line 64 of file missing_deps.h.
Referenced by PrintStats(), and ProcessNodeDeps().
| std::set<const Rule*> MissingDependencyScanner::generator_rules_ |
Definition at line 65 of file missing_deps.h.
Referenced by PrintStats(), and ProcessNodeDeps().
| int MissingDependencyScanner::missing_dep_path_count_ |
Definition at line 66 of file missing_deps.h.
Referenced by PrintStats(), and ProcessNodeDeps().
| std::set<Node*> MissingDependencyScanner::nodes_missing_deps_ |
Definition at line 63 of file missing_deps.h.
Referenced by HadMissingDeps(), PrintStats(), and ProcessNodeDeps().
| std::set<Node*> MissingDependencyScanner::seen_ |
Definition at line 62 of file missing_deps.h.
Referenced by PrintStats(), and ProcessNode().
| State* MissingDependencyScanner::state_ |
Definition at line 60 of file missing_deps.h.
Referenced by ProcessNode().