diff options
author | Klaus Aehlig <klaus.aehlig@huawei.com> | 2024-09-13 10:57:48 +0200 |
---|---|---|
committer | Klaus Aehlig <klaus.aehlig@huawei.com> | 2024-09-13 15:14:30 +0200 |
commit | 503c0b5697bdc81cff5648bcd366aabc5596cad2 (patch) | |
tree | 86985afa4c294fea4b071e2648b5a77f70ffbe8a | |
parent | 50de44605471b930958524698e01579b6c67f7e7 (diff) | |
download | justbuild-503c0b5697bdc81cff5648bcd366aabc5596cad2.tar.gz |
Avoid unnecessary creation of temporary object
4 files changed, 14 insertions, 17 deletions
diff --git a/src/buildtool/build_engine/base_maps/user_rule.hpp b/src/buildtool/build_engine/base_maps/user_rule.hpp index 8ea0d6cc..c8f5dc06 100644 --- a/src/buildtool/build_engine/base_maps/user_rule.hpp +++ b/src/buildtool/build_engine/base_maps/user_rule.hpp @@ -169,7 +169,7 @@ class UserRule { std::vector<ExpressionPtr> target_exps; target_exps.reserve(target_entity_vec.size()); for (auto const& target_entity : target_entity_vec) { - target_exps.emplace_back(ExpressionPtr{target_entity}); + target_exps.emplace_back(target_entity); } implicit_target_exp.emplace(target_name, target_exps); } diff --git a/src/buildtool/build_engine/expression/evaluator.cpp b/src/buildtool/build_engine/expression/evaluator.cpp index 66eb8cfe..18fe7a76 100644 --- a/src/buildtool/build_engine/expression/evaluator.cpp +++ b/src/buildtool/build_engine/expression/evaluator.cpp @@ -319,7 +319,7 @@ auto Range(ExpressionPtr const& expr) -> ExpressionPtr { auto result = Expression::list_t{}; result.reserve(len); for (std::size_t i = 0; i < len; i++) { - result.emplace_back(ExpressionPtr{fmt::format("{}", i)}); + result.emplace_back(fmt::format("{}", i)); } return ExpressionPtr{result}; } diff --git a/src/buildtool/build_engine/target_map/built_in_rules.cpp b/src/buildtool/build_engine/target_map/built_in_rules.cpp index b7b457b5..9ff82faf 100644 --- a/src/buildtool/build_engine/target_map/built_in_rules.cpp +++ b/src/buildtool/build_engine/target_map/built_in_rules.cpp @@ -947,8 +947,7 @@ void InstallRule( } dependency_keys.emplace_back( BuildMaps::Target::ConfiguredTarget{*dep_target, key.config}); - dirs.emplace_back(std::pair<BuildMaps::Base::EntityName, std::string>{ - *dep_target, entry->List()[1]->String()}); + dirs.emplace_back(*dep_target, entry->List()[1]->String()); } (*subcaller)( diff --git a/src/buildtool/build_engine/target_map/target_map.cpp b/src/buildtool/build_engine/target_map/target_map.cpp index 0412f65c..2b9ba3cd 100644 --- a/src/buildtool/build_engine/target_map/target_map.cpp +++ b/src/buildtool/build_engine/target_map/target_map.cpp @@ -209,9 +209,9 @@ struct TargetData { Expression::list_t targets{}; targets.reserve(nodes.size()); for (auto const& node_expr : nodes) { - targets.emplace_back(ExpressionPtr{BuildMaps::Base::EntityName{ + targets.emplace_back(BuildMaps::Base::EntityName{ BuildMaps::Base::AnonymousTarget{ - .rule_map = rule_map, .target_node = node_expr}}}); + .rule_map = rule_map, .target_node = node_expr}}); } target_exprs.emplace(field_name, targets); } @@ -1238,7 +1238,7 @@ void withRuleDefinition( if (not target) { return; } - dep_target_exps.emplace_back(ExpressionPtr{*target}); + dep_target_exps.emplace_back(*target); } } else { @@ -1796,20 +1796,18 @@ void GlobTargetWithDirEntry( std::vector<BuildMaps::Base::EntityName> matches; for (auto const& x : dir.FilesIterator()) { if (fnmatch(pattern.c_str(), x.c_str(), 0) == 0) { - matches.emplace_back(BuildMaps::Base::EntityName{ - target.repository, - target.module, - x, - BuildMaps::Base::ReferenceType::kFile}); + matches.emplace_back(target.repository, + target.module, + x, + BuildMaps::Base::ReferenceType::kFile); } } for (auto const& x : dir.SymlinksIterator()) { if (fnmatch(pattern.c_str(), x.c_str(), 0) == 0) { - matches.emplace_back(BuildMaps::Base::EntityName{ - target.repository, - target.module, - x, - BuildMaps::Base::ReferenceType::kSymlink}); + matches.emplace_back(target.repository, + target.module, + x, + BuildMaps::Base::ReferenceType::kSymlink); } } source_target_map->ConsumeAfterKeysReady( |