Ninja
|
Global state (file status, loaded rules) for a single run. More...
#include <state.h>
Public Types | |
typedef ExternalStringHashMap < Node * >::Type | Paths |
Mapping of path -> Node. More... | |
Public Member Functions | |
bool | AddDefault (StringPiece path, string *error) |
Edge * | AddEdge (const Rule *rule) |
void | AddIn (Edge *edge, StringPiece path) |
void | AddOut (Edge *edge, StringPiece path) |
void | AddPool (Pool *pool) |
void | AddRule (const Rule *rule) |
vector< Node * > | DefaultNodes (string *error) |
void | Dump () |
Dump the nodes and Pools (useful for debugging). More... | |
Node * | GetNode (StringPiece path) |
Node * | LookupNode (StringPiece path) |
Pool * | LookupPool (const string &pool_name) |
const Rule * | LookupRule (const string &rule_name) |
void | Reset () |
Reset state. More... | |
vector< Node * > | RootNodes (string *error) |
Node * | SpellcheckNode (const string &path) |
State () | |
Public Attributes | |
BindingEnv | bindings_ |
vector< Node * > | defaults_ |
vector< Edge * > | edges_ |
All the edges of the graph. More... | |
Paths | paths_ |
map< string, Pool * > | pools_ |
All the pools used in the graph. More... | |
map< string, const Rule * > | rules_ |
All the rules used in the graph. More... | |
Static Public Attributes | |
static Pool | kDefaultPool |
static const Rule | kPhonyRule |
typedef ExternalStringHashMap<Node*>::Type State::Paths |
State::State | ( | ) |
Definition at line 74 of file state.cc.
References AddPool(), AddRule(), kDefaultPool, and kPhonyRule.
bool State::AddDefault | ( | StringPiece | path, |
string * | error | ||
) |
Definition at line 164 of file state.cc.
References StringPiece::AsString(), defaults_, and LookupNode().
Referenced by ManifestParser::ParseDefault().
Definition at line 103 of file state.cc.
References bindings_, edges_, Edge::env_, kDefaultPool, Edge::pool_, and Edge::rule_.
Referenced by ImplicitDepLoader::CreatePhonyInEdge(), and ManifestParser::ParseEdge().
void State::AddIn | ( | Edge * | edge, |
StringPiece | path | ||
) |
Definition at line 146 of file state.cc.
References Node::AddOutEdge(), GetNode(), and Edge::inputs_.
Referenced by ManifestParser::ParseEdge().
void State::AddOut | ( | Edge * | edge, |
StringPiece | path | ||
) |
Definition at line 152 of file state.cc.
References StringPiece::AsString(), GetNode(), Node::in_edge(), Edge::outputs_, Node::set_in_edge(), and Warning().
Referenced by ManifestParser::ParseEdge().
void State::AddPool | ( | Pool * | pool | ) |
Definition at line 91 of file state.cc.
References LookupPool(), Pool::name(), and pools_.
Referenced by ManifestParser::ParsePool(), and State().
void State::AddRule | ( | const Rule * | rule | ) |
Definition at line 79 of file state.cc.
References LookupRule(), Rule::name(), and rules_.
Referenced by ManifestParser::ParseRule(), and State().
vector< Node * > State::DefaultNodes | ( | string * | error | ) |
Definition at line 192 of file state.cc.
References defaults_, and RootNodes().
void State::Dump | ( | ) |
Dump the nodes and Pools (useful for debugging).
Definition at line 203 of file state.cc.
References Node::dirty(), Node::id(), Node::path(), paths_, pools_, and Node::status_known().
Node * State::GetNode | ( | StringPiece | path | ) |
Definition at line 112 of file state.cc.
References StringPiece::AsString(), LookupNode(), Node::path(), and paths_.
Referenced by AddIn(), AddOut(), Builder::ExtractDeps(), StateTestWithBuiltinRules::GetNode(), DepsLog::Load(), and ImplicitDepLoader::LoadDepFile().
Node * State::LookupNode | ( | StringPiece | path | ) |
Definition at line 121 of file state.cc.
References METRIC_RECORD, and paths_.
Referenced by AddDefault(), Builder::AddTarget(), Cleaner::CleanTarget(), Cleaner::CleanTargets(), and GetNode().
Pool * State::LookupPool | ( | const string & | pool_name | ) |
Definition at line 96 of file state.cc.
References pools_.
Referenced by AddPool(), ManifestParser::ParseEdge(), and ManifestParser::ParsePool().
const Rule * State::LookupRule | ( | const string & | rule_name | ) |
Definition at line 84 of file state.cc.
References rules_.
Referenced by AddRule(), Cleaner::CleanRule(), Cleaner::CleanRules(), ManifestParser::ParseEdge(), and ManifestParser::ParseRule().
void State::Reset | ( | ) |
vector< Node * > State::RootNodes | ( | string * | error | ) |
error | where to write the error message if somethings went wrong. |
Definition at line 174 of file state.cc.
References edges_.
Referenced by DefaultNodes().
Node * State::SpellcheckNode | ( | const string & | path | ) |
Definition at line 129 of file state.cc.
References EditDistance(), and paths_.
BindingEnv State::bindings_ |
Definition at line 130 of file state.h.
Referenced by AddEdge(), and ManifestParser::ManifestParser().
vector<Node*> State::defaults_ |
Definition at line 131 of file state.h.
Referenced by AddDefault(), and DefaultNodes().
vector<Edge*> State::edges_ |
All the edges of the graph.
Definition at line 128 of file state.h.
Referenced by AddEdge(), Cleaner::CleanAll(), Cleaner::DoCleanRule(), Reset(), RootNodes(), and WriteTestData().
|
static |
|
static |
Definition at line 85 of file state.h.
Referenced by ImplicitDepLoader::CreatePhonyInEdge(), Edge::is_phony(), and State().
Paths State::paths_ |
Definition at line 119 of file state.h.
Referenced by Dump(), GetNode(), LookupNode(), Reset(), and SpellcheckNode().
map<string, Pool*> State::pools_ |
All the pools used in the graph.
Definition at line 125 of file state.h.
Referenced by AddPool(), Dump(), and LookupPool().
map<string, const Rule*> State::rules_ |
All the rules used in the graph.
Definition at line 122 of file state.h.
Referenced by AddRule(), and LookupRule().