aboutsummaryrefslogtreecommitdiff
path: root/dep.cc
diff options
context:
space:
mode:
authorShinichiro Hamaji <shinichiro.hamaji@gmail.com>2016-02-08 14:32:56 +0900
committerShinichiro Hamaji <shinichiro.hamaji@gmail.com>2016-02-08 14:32:56 +0900
commit7a2659e0650ca265c44a654732efd69404d6585a (patch)
tree9cef17795be3329e0e3c41a88be2854ec57e21f2 /dep.cc
parentbdfa4dac051cd5bf23e6d0c620df2b472c73c67b (diff)
[C++] Stop using shared_ptr in eval
Diffstat (limited to 'dep.cc')
-rw-r--r--dep.cc16
1 files changed, 8 insertions, 8 deletions
diff --git a/dep.cc b/dep.cc
index 45f9584..920ba26 100644
--- a/dep.cc
+++ b/dep.cc
@@ -116,7 +116,7 @@ DepNode::DepNode(Symbol o, bool p, bool r)
class DepBuilder {
public:
DepBuilder(Evaluator* ev,
- const vector<shared_ptr<Rule>>& rules,
+ const vector<const Rule*>& rules,
const unordered_map<Symbol, Vars*>& rule_vars)
: ev_(ev),
rule_vars_(rule_vars),
@@ -226,8 +226,8 @@ class DepBuilder {
return ::Exists(target.str());
}
- void PopulateRules(const vector<shared_ptr<Rule>>& rules) {
- for (shared_ptr<Rule> rule : rules) {
+ void PopulateRules(const vector<const Rule*>& rules) {
+ for (const Rule* rule : rules) {
if (rule->outputs.empty()) {
PopulateImplicitRule(rule);
} else {
@@ -239,7 +239,7 @@ class DepBuilder {
}
}
- bool PopulateSuffixRule(shared_ptr<Rule> rule, Symbol output) {
+ bool PopulateSuffixRule(const Rule* rule, Symbol output) {
if (output.empty() || output.str()[0] != '.')
return false;
@@ -337,7 +337,7 @@ class DepBuilder {
return r;
}
- void PopulateExplicitRule(shared_ptr<Rule> orig_rule) {
+ void PopulateExplicitRule(const Rule* orig_rule) {
for (Symbol output : orig_rule->outputs) {
const bool is_suffix_rule = PopulateSuffixRule(orig_rule, output);
@@ -358,9 +358,9 @@ class DepBuilder {
}
}
- void PopulateImplicitRule(shared_ptr<Rule> rule) {
+ void PopulateImplicitRule(const Rule* rule) {
for (Symbol output_pattern : rule->output_patterns) {
- implicit_rules_->Add(output_pattern.str(), rule.get());
+ implicit_rules_->Add(output_pattern.str(), rule);
}
}
@@ -619,7 +619,7 @@ class DepBuilder {
};
void MakeDep(Evaluator* ev,
- const vector<shared_ptr<Rule>>& rules,
+ const vector<const Rule*>& rules,
const unordered_map<Symbol, Vars*>& rule_vars,
const vector<Symbol>& targets,
vector<DepNode*>* nodes) {