Ninja
MissingDependencyScanner Struct Reference

#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

MissingDependencyScannerDelegatedelegate_
 
DepsLogdeps_log_
 
DiskInterfacedisk_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_
 
Statestate_
 

Private Types

using AdjacencyMap = std::unordered_map<Edge*, InnerAdjacencyMap>
 
using InnerAdjacencyMap = std::unordered_map<Edge*, bool>
 

Private Attributes

AdjacencyMap adjacency_map_
 

Detailed Description

Definition at line 45 of file missing_deps.h.

Member Typedef Documentation

◆ AdjacencyMap

using MissingDependencyScanner::AdjacencyMap = std::unordered_map<Edge*, InnerAdjacencyMap>
private

Definition at line 70 of file missing_deps.h.

◆ InnerAdjacencyMap

using MissingDependencyScanner::InnerAdjacencyMap = std::unordered_map<Edge*, bool>
private

Definition at line 69 of file missing_deps.h.

Constructor & Destructor Documentation

◆ MissingDependencyScanner()

MissingDependencyScanner::MissingDependencyScanner ( MissingDependencyScannerDelegate * delegate,
DepsLog * deps_log,
State * state,
DiskInterface * disk_interface )

Definition at line 72 of file missing_deps.cc.

References delegate_, deps_log_, disk_interface_, missing_dep_path_count_, and state_.

Member Function Documentation

◆ HadMissingDeps()

bool MissingDependencyScanner::HadMissingDeps ( )
inline

Definition at line 52 of file missing_deps.h.

References nodes_missing_deps_.

Referenced by PrintStats().

◆ PathExistsBetween()

bool MissingDependencyScanner::PathExistsBetween ( Edge * from,
Edge * to )

Definition at line 174 of file missing_deps.cc.

References adjacency_map_, Edge::inputs_, and PathExistsBetween().

Referenced by PathExistsBetween(), and ProcessNodeDeps().

◆ PrintStats()

void MissingDependencyScanner::PrintStats ( )

◆ ProcessNode()

◆ ProcessNodeDeps()

void MissingDependencyScanner::ProcessNodeDeps ( Node * node,
Node ** dep_nodes,
int dep_nodes_count )

Member Data Documentation

◆ adjacency_map_

AdjacencyMap MissingDependencyScanner::adjacency_map_
private

Definition at line 71 of file missing_deps.h.

Referenced by PathExistsBetween().

◆ delegate_

MissingDependencyScannerDelegate* MissingDependencyScanner::delegate_

Definition at line 58 of file missing_deps.h.

Referenced by MissingDependencyScanner(), and ProcessNodeDeps().

◆ deps_log_

DepsLog* MissingDependencyScanner::deps_log_

Definition at line 59 of file missing_deps.h.

Referenced by MissingDependencyScanner(), and ProcessNode().

◆ disk_interface_

DiskInterface* MissingDependencyScanner::disk_interface_

Definition at line 61 of file missing_deps.h.

Referenced by MissingDependencyScanner(), and ProcessNode().

◆ generated_nodes_

std::set<Node*> MissingDependencyScanner::generated_nodes_

Definition at line 64 of file missing_deps.h.

Referenced by PrintStats(), and ProcessNodeDeps().

◆ generator_rules_

std::set<const Rule*> MissingDependencyScanner::generator_rules_

Definition at line 65 of file missing_deps.h.

Referenced by PrintStats(), and ProcessNodeDeps().

◆ missing_dep_path_count_

int MissingDependencyScanner::missing_dep_path_count_

Definition at line 66 of file missing_deps.h.

Referenced by MissingDependencyScanner(), PrintStats(), and ProcessNodeDeps().

◆ nodes_missing_deps_

std::set<Node*> MissingDependencyScanner::nodes_missing_deps_

Definition at line 63 of file missing_deps.h.

Referenced by HadMissingDeps(), PrintStats(), and ProcessNodeDeps().

◆ seen_

std::set<Node*> MissingDependencyScanner::seen_

Definition at line 62 of file missing_deps.h.

Referenced by PrintStats(), and ProcessNode().

◆ state_

State* MissingDependencyScanner::state_

Definition at line 60 of file missing_deps.h.

Referenced by MissingDependencyScanner(), and ProcessNode().


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