Remove ScopedVector from tools/gn/.
BUG=554289
Review-Url: https://codereview.chromium.org/2972113002
Cr-Original-Commit-Position: refs/heads/master@{#484744}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: f6016b060cb2133958b6903a527f637adddf31b4
diff --git a/tools/gn/function_get_target_outputs.cc b/tools/gn/function_get_target_outputs.cc
index bec825f..e13e1e3 100644
--- a/tools/gn/function_get_target_outputs.cc
+++ b/tools/gn/function_get_target_outputs.cc
@@ -93,7 +93,7 @@
*err = Err(function, "No targets defined in this context.");
return Value();
}
- for (auto* item : *collector) {
+ for (const auto& item : *collector) {
if (item->label() != label)
continue;
diff --git a/tools/gn/function_get_target_outputs_unittest.cc b/tools/gn/function_get_target_outputs_unittest.cc
index 3bff238..2f746a7 100644
--- a/tools/gn/function_get_target_outputs_unittest.cc
+++ b/tools/gn/function_get_target_outputs_unittest.cc
@@ -2,6 +2,9 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include <utility>
+
+#include "base/memory/ptr_util.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "tools/gn/functions.h"
#include "tools/gn/target.h"
@@ -57,13 +60,14 @@
} // namespace
TEST_F(GetTargetOutputsTest, Copy) {
- Target* action = new Target(setup_.settings(), GetLabel("//foo/", "bar"), {});
+ auto action = base::MakeUnique<Target>(
+ setup_.settings(), GetLabel("//foo/", "bar"), InputFileSet{});
action->set_output_type(Target::COPY_FILES);
action->sources().push_back(SourceFile("//file.txt"));
action->action_values().outputs() =
SubstitutionList::MakeForTest("//out/Debug/{{source_file_part}}.one");
- items_.push_back(action);
+ items_.push_back(std::move(action));
Err err;
Value result = GetTargetOutputs("//foo:bar", &err);
@@ -72,13 +76,14 @@
}
TEST_F(GetTargetOutputsTest, Action) {
- Target* action = new Target(setup_.settings(), GetLabel("//foo/", "bar"), {});
+ auto action = base::MakeUnique<Target>(
+ setup_.settings(), GetLabel("//foo/", "bar"), InputFileSet{});
action->set_output_type(Target::ACTION);
action->action_values().outputs() = SubstitutionList::MakeForTest(
"//output1.txt",
"//output2.txt");
- items_.push_back(action);
+ items_.push_back(std::move(action));
Err err;
Value result = GetTargetOutputs("//foo:bar", &err);
@@ -87,14 +92,15 @@
}
TEST_F(GetTargetOutputsTest, ActionForeach) {
- Target* action = new Target(setup_.settings(), GetLabel("//foo/", "bar"), {});
+ auto action = base::MakeUnique<Target>(
+ setup_.settings(), GetLabel("//foo/", "bar"), InputFileSet{});
action->set_output_type(Target::ACTION_FOREACH);
action->sources().push_back(SourceFile("//file.txt"));
action->action_values().outputs() = SubstitutionList::MakeForTest(
"//out/Debug/{{source_file_part}}.one",
"//out/Debug/{{source_file_part}}.two");
- items_.push_back(action);
+ items_.push_back(std::move(action));
Err err;
Value result = GetTargetOutputs("//foo:bar", &err);
diff --git a/tools/gn/function_toolchain.cc b/tools/gn/function_toolchain.cc
index adbab30..beef1ea 100644
--- a/tools/gn/function_toolchain.cc
+++ b/tools/gn/function_toolchain.cc
@@ -496,7 +496,7 @@
*err = Err(function, "Can't define a toolchain in this context.");
return Value();
}
- collector->push_back(toolchain.release());
+ collector->push_back(std::move(toolchain));
return Value();
}
diff --git a/tools/gn/functions.cc b/tools/gn/functions.cc
index 41022e6..09e3647 100644
--- a/tools/gn/functions.cc
+++ b/tools/gn/functions.cc
@@ -366,7 +366,7 @@
*err = Err(function, "Can't define a config in this context.");
return Value();
}
- collector->push_back(config.release());
+ collector->push_back(std::move(config));
return Value();
}
@@ -919,7 +919,7 @@
*err = Err(function, "Can't define a pool in this context.");
return Value();
}
- collector->push_back(pool.release());
+ collector->push_back(std::move(pool));
return Value();
}
diff --git a/tools/gn/loader.cc b/tools/gn/loader.cc
index 417a891..a07ee5a 100644
--- a/tools/gn/loader.cc
+++ b/tools/gn/loader.cc
@@ -278,10 +278,8 @@
// Pass all of the items that were defined off to the builder.
- for (auto*& item : collected_items) {
- settings->build_settings()->ItemDefined(base::WrapUnique(item));
- item = nullptr;
- }
+ for (auto& item : collected_items)
+ settings->build_settings()->ItemDefined(std::move(item));
trace.Done();
diff --git a/tools/gn/scope.h b/tools/gn/scope.h
index 2adcabd..20a64bc 100644
--- a/tools/gn/scope.h
+++ b/tools/gn/scope.h
@@ -9,11 +9,11 @@
#include <memory>
#include <set>
#include <utility>
+#include <vector>
#include "base/containers/hash_tables.h"
#include "base/macros.h"
#include "base/memory/ref_counted.h"
-#include "base/memory/scoped_vector.h"
#include "tools/gn/err.h"
#include "tools/gn/input_file.h"
#include "tools/gn/pattern.h"
@@ -41,7 +41,7 @@
typedef base::hash_map<base::StringPiece, Value, base::StringPieceHash>
KeyValueMap;
// Holds an owning list of Items.
- typedef ScopedVector<Item> ItemVector;
+ typedef std::vector<std::unique_ptr<Item>> ItemVector;
// A flag to indicate whether a function should recurse into nested scopes,
// or only operate on the current scope.
diff --git a/tools/gn/target_generator.cc b/tools/gn/target_generator.cc
index 947cf9f..e8d064d 100644
--- a/tools/gn/target_generator.cc
+++ b/tools/gn/target_generator.cc
@@ -6,6 +6,8 @@
#include <stddef.h>
+#include <utility>
+
#include "tools/gn/action_target_generator.h"
#include "tools/gn/binary_target_generator.h"
#include "tools/gn/build_settings.h"
@@ -149,7 +151,7 @@
*err = Err(function_call, "Can't define a target in this context.");
return;
}
- collector->push_back(target.release());
+ collector->push_back(std::move(target));
}
const BuildSettings* TargetGenerator::GetBuildSettings() const {