diff options
author | brettw <brettw@chromium.org> | 2014-09-27 15:27:10 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-09-27 22:27:30 +0000 |
commit | a09df11aa1c5f416df4fb97f2303d9c1ff76b150 (patch) | |
tree | 6c1209f791c655b8b68fc8f91e8e8e42c3650546 /tools/gn/builder.cc | |
parent | f446a070a0aa29a153b0cf78b33ef22da84cb023 (diff) | |
download | chromium_src-a09df11aa1c5f416df4fb97f2303d9c1ff76b150.zip chromium_src-a09df11aa1c5f416df4fb97f2303d9c1ff76b150.tar.gz chromium_src-a09df11aa1c5f416df4fb97f2303d9c1ff76b150.tar.bz2 |
Convert GN's deps iterator to work with range-based for loops.
Reworks DepsIterator so it is compatible with STL iterators enough to work with range-based for loops. The iterator is now created by a target rather than taking a target as an argument, which makes the loops more natural.
I also changed some loops around code I was touching to use range-based.
Review URL: https://codereview.chromium.org/610043002
Cr-Commit-Position: refs/heads/master@{#297122}
Diffstat (limited to 'tools/gn/builder.cc')
-rw-r--r-- | tools/gn/builder.cc | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/tools/gn/builder.cc b/tools/gn/builder.cc index 6198777..e92a7e0 100644 --- a/tools/gn/builder.cc +++ b/tools/gn/builder.cc @@ -481,14 +481,13 @@ bool Builder::ResolveForwardDependentConfigs(Target* target, Err* err) { // Assume that the lists are small so that brute-force n^2 is appropriate. for (size_t config_i = 0; config_i < configs.size(); config_i++) { - for (DepsIterator dep_iter(target, DepsIterator::LINKED_ONLY); - !dep_iter.done(); dep_iter.Advance()) { - if (configs[config_i].label == dep_iter.label()) { - DCHECK(dep_iter.target()); // Should already be resolved. + for (const auto& dep_pair : target->GetDeps(Target::DEPS_LINKED)) { + if (configs[config_i].label == dep_pair.label) { + DCHECK(dep_pair.ptr); // Should already be resolved. // UniqueVector's contents are constant so uniqueness is preserved, but // we want to update this pointer which doesn't change uniqueness // (uniqueness in this vector is determined by the label only). - const_cast<LabelTargetPair&>(configs[config_i]).ptr = dep_iter.target(); + const_cast<LabelTargetPair&>(configs[config_i]).ptr = dep_pair.ptr; break; } } |