diff options
author | Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com> | 2024-07-04 11:21:11 +0200 |
---|---|---|
committer | Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com> | 2024-07-04 16:05:08 +0200 |
commit | 74f53b444853850144c3e63593f83c424e84a768 (patch) | |
tree | 6bd2ca1c22f368c1f7c1b121ce205446a136fa45 /src | |
parent | ce0f5420e60c4807cca3f57131ad24df8a6b9b4b (diff) | |
download | justbuild-74f53b444853850144c3e63593f83c424e84a768.tar.gz |
Mark more constructors 'explicit'
Since c++17 the 'explicit' keyword has use also for constructors
with more than one argument and it is recommended to use it by
default whereever implicit conversions are not expected bahaviour.
Diffstat (limited to 'src')
13 files changed, 46 insertions, 43 deletions
diff --git a/src/buildtool/build_engine/analysed_target/analysed_target.hpp b/src/buildtool/build_engine/analysed_target/analysed_target.hpp index c5d3c9ba..889a6e89 100644 --- a/src/buildtool/build_engine/analysed_target/analysed_target.hpp +++ b/src/buildtool/build_engine/analysed_target/analysed_target.hpp @@ -32,14 +32,14 @@ class AnalysedTarget { public: - AnalysedTarget(TargetResult result, - std::vector<ActionDescription::Ptr> actions, - std::vector<std::string> blobs, - std::vector<Tree::Ptr> trees, - std::unordered_set<std::string> vars, - std::set<std::string> tainted, - std::set<std::string> implied_export_targets, - TargetGraphInformation graph_information) + explicit AnalysedTarget(TargetResult result, + std::vector<ActionDescription::Ptr> actions, + std::vector<std::string> blobs, + std::vector<Tree::Ptr> trees, + std::unordered_set<std::string> vars, + std::set<std::string> tainted, + std::set<std::string> implied_export_targets, + TargetGraphInformation graph_information) : result_{std::move(result)}, actions_{std::move(actions)}, blobs_{std::move(blobs)}, diff --git a/src/buildtool/build_engine/analysed_target/target_graph_information.hpp b/src/buildtool/build_engine/analysed_target/target_graph_information.hpp index cabd42c8..672aeddc 100644 --- a/src/buildtool/build_engine/analysed_target/target_graph_information.hpp +++ b/src/buildtool/build_engine/analysed_target/target_graph_information.hpp @@ -25,7 +25,7 @@ class TargetGraphInformation { public: - TargetGraphInformation( + explicit TargetGraphInformation( BuildMaps::Target::ConfiguredTargetPtr node, std::vector<BuildMaps::Target::ConfiguredTargetPtr> direct, std::vector<BuildMaps::Target::ConfiguredTargetPtr> implicit, diff --git a/src/buildtool/execution_api/common/blob_tree.hpp b/src/buildtool/execution_api/common/blob_tree.hpp index ad462aab..25d0f560 100644 --- a/src/buildtool/execution_api/common/blob_tree.hpp +++ b/src/buildtool/execution_api/common/blob_tree.hpp @@ -33,7 +33,7 @@ using BlobTreePtr = gsl::not_null<std::shared_ptr<BlobTree>>; /// upload. class BlobTree { public: - BlobTree(ArtifactBlob blob, std::vector<BlobTreePtr> nodes) + explicit BlobTree(ArtifactBlob blob, std::vector<BlobTreePtr> nodes) : blob_{std::move(blob)}, nodes_{std::move(nodes)} {} [[nodiscard]] auto Blob() const noexcept -> ArtifactBlob { return blob_; } diff --git a/src/buildtool/execution_api/local/local_action.hpp b/src/buildtool/execution_api/local/local_action.hpp index 0fce3c35..b88b3a97 100644 --- a/src/buildtool/execution_api/local/local_action.hpp +++ b/src/buildtool/execution_api/local/local_action.hpp @@ -67,13 +67,14 @@ class LocalAction final : public IExecutionAction { std::chrono::milliseconds timeout_{kDefaultTimeout}; CacheFlag cache_flag_{CacheFlag::CacheOutput}; - LocalAction(gsl::not_null<Storage const*> const& storage, - ArtifactDigest root_digest, - std::vector<std::string> command, - std::vector<std::string> output_files, - std::vector<std::string> output_dirs, - std::map<std::string, std::string> env_vars, - std::map<std::string, std::string> const& properties) noexcept + explicit LocalAction( + gsl::not_null<Storage const*> const& storage, + ArtifactDigest root_digest, + std::vector<std::string> command, + std::vector<std::string> output_files, + std::vector<std::string> output_dirs, + std::map<std::string, std::string> env_vars, + std::map<std::string, std::string> const& properties) noexcept : storage_{storage}, root_digest_{std::move(root_digest)}, cmdline_{std::move(command)}, diff --git a/src/buildtool/execution_api/remote/bazel/bazel_ac_client.hpp b/src/buildtool/execution_api/remote/bazel/bazel_ac_client.hpp index 864d1254..8ec8b85f 100644 --- a/src/buildtool/execution_api/remote/bazel/bazel_ac_client.hpp +++ b/src/buildtool/execution_api/remote/bazel/bazel_ac_client.hpp @@ -31,7 +31,7 @@ /// https://github.com/bazelbuild/remote-apis/blob/e1fe21be4c9ae76269a5a63215bb3c72ed9ab3f0/build/bazel/remote/execution/v2/remote_execution.proto#L144 class BazelAcClient { public: - BazelAcClient(std::string const& server, Port port) noexcept; + explicit BazelAcClient(std::string const& server, Port port) noexcept; [[nodiscard]] auto GetActionResult( std::string const& instance_name, diff --git a/src/buildtool/execution_api/remote/bazel/bazel_action.hpp b/src/buildtool/execution_api/remote/bazel/bazel_action.hpp index 5abfe57b..58e5965f 100644 --- a/src/buildtool/execution_api/remote/bazel/bazel_action.hpp +++ b/src/buildtool/execution_api/remote/bazel/bazel_action.hpp @@ -50,13 +50,14 @@ class BazelAction final : public IExecutionAction { CacheFlag cache_flag_{CacheFlag::CacheOutput}; std::chrono::milliseconds timeout_{kDefaultTimeout}; - BazelAction(std::shared_ptr<BazelNetwork> network, - bazel_re::Digest root_digest, - std::vector<std::string> command, - std::vector<std::string> output_files, - std::vector<std::string> output_dirs, - std::map<std::string, std::string> const& env_vars, - std::map<std::string, std::string> const& properties) noexcept; + explicit BazelAction( + std::shared_ptr<BazelNetwork> network, + bazel_re::Digest root_digest, + std::vector<std::string> command, + std::vector<std::string> output_files, + std::vector<std::string> output_dirs, + std::map<std::string, std::string> const& env_vars, + std::map<std::string, std::string> const& properties) noexcept; [[nodiscard]] auto CreateBundlesForAction(BazelBlobContainer* blobs, bazel_re::Digest const& exec_dir, diff --git a/src/buildtool/execution_api/remote/bazel/bazel_cas_client.hpp b/src/buildtool/execution_api/remote/bazel/bazel_cas_client.hpp index 391de317..69ee45d4 100644 --- a/src/buildtool/execution_api/remote/bazel/bazel_cas_client.hpp +++ b/src/buildtool/execution_api/remote/bazel/bazel_cas_client.hpp @@ -37,7 +37,7 @@ /// https://github.com/bazelbuild/remote-apis/blob/e1fe21be4c9ae76269a5a63215bb3c72ed9ab3f0/build/bazel/remote/execution/v2/remote_execution.proto#L317 class BazelCasClient { public: - BazelCasClient(std::string const& server, Port port) noexcept; + explicit BazelCasClient(std::string const& server, Port port) noexcept; /// \brief Find missing blobs /// \param[in] instance_name Name of the CAS instance diff --git a/src/buildtool/execution_api/remote/bazel/bazel_execution_client.hpp b/src/buildtool/execution_api/remote/bazel/bazel_execution_client.hpp index f2f25b71..cb933b99 100644 --- a/src/buildtool/execution_api/remote/bazel/bazel_execution_client.hpp +++ b/src/buildtool/execution_api/remote/bazel/bazel_execution_client.hpp @@ -54,7 +54,8 @@ class BazelExecutionClient { } }; - BazelExecutionClient(std::string const& server, Port port) noexcept; + explicit BazelExecutionClient(std::string const& server, + Port port) noexcept; [[nodiscard]] auto Execute(std::string const& instance_name, bazel_re::Digest const& action_digest, diff --git a/src/buildtool/execution_api/remote/bazel/bazel_network.hpp b/src/buildtool/execution_api/remote/bazel/bazel_network.hpp index 853efa41..a55fa064 100644 --- a/src/buildtool/execution_api/remote/bazel/bazel_network.hpp +++ b/src/buildtool/execution_api/remote/bazel/bazel_network.hpp @@ -35,10 +35,10 @@ /// \brief Contains all network clients and is responsible for all network IO. class BazelNetwork { public: - BazelNetwork(std::string instance_name, - std::string const& host, - Port port, - ExecutionConfiguration const& exec_config) noexcept; + explicit BazelNetwork(std::string instance_name, + std::string const& host, + Port port, + ExecutionConfiguration const& exec_config) noexcept; /// \brief Check if digest exists in CAS /// \param[in] digest The digest to look up diff --git a/src/buildtool/execution_api/remote/bazel/bazel_response.hpp b/src/buildtool/execution_api/remote/bazel/bazel_response.hpp index 41957255..30a70d7f 100644 --- a/src/buildtool/execution_api/remote/bazel/bazel_response.hpp +++ b/src/buildtool/execution_api/remote/bazel/bazel_response.hpp @@ -70,9 +70,9 @@ class BazelResponse final : public IExecutionResponse { DirSymlinks dir_symlinks_{}; bool populated_{false}; - BazelResponse(std::string action_id, - std::shared_ptr<BazelNetwork> network, - BazelExecutionClient::ExecutionOutput output) + explicit BazelResponse(std::string action_id, + std::shared_ptr<BazelNetwork> network, + BazelExecutionClient::ExecutionOutput output) : action_id_{std::move(action_id)}, network_{std::move(network)}, output_{std::move(output)} {} diff --git a/src/buildtool/execution_api/remote/bazel/bytestream_client.hpp b/src/buildtool/execution_api/remote/bazel/bytestream_client.hpp index a6516e47..908f6e2a 100644 --- a/src/buildtool/execution_api/remote/bazel/bytestream_client.hpp +++ b/src/buildtool/execution_api/remote/bazel/bytestream_client.hpp @@ -80,7 +80,7 @@ class ByteStreamClient { } }; - ByteStreamClient(std::string const& server, Port port) noexcept { + explicit ByteStreamClient(std::string const& server, Port port) noexcept { stub_ = google::bytestream::ByteStream::NewStub( CreateChannelWithCredentials(server, port)); } diff --git a/src/buildtool/execution_engine/traverser/traverser.hpp b/src/buildtool/execution_engine/traverser/traverser.hpp index 81f2e348..e99c2565 100644 --- a/src/buildtool/execution_engine/traverser/traverser.hpp +++ b/src/buildtool/execution_engine/traverser/traverser.hpp @@ -46,10 +46,10 @@ concept Runnable = requires(T const r, template <Runnable Executor> class Traverser { public: - Traverser(Executor const& r, - DependencyGraph const& graph, - std::size_t jobs, - gsl::not_null<std::atomic<bool>*> const& fail_flag) + explicit Traverser(Executor const& r, + DependencyGraph const& graph, + std::size_t jobs, + gsl::not_null<std::atomic<bool>*> const& fail_flag) : runner_{r}, graph_{graph}, failed_{fail_flag}, tasker_{jobs} {} Traverser() = delete; Traverser(Traverser const&) = delete; diff --git a/src/buildtool/file_system/git_tree.hpp b/src/buildtool/file_system/git_tree.hpp index c6a0833e..f928b7d7 100644 --- a/src/buildtool/file_system/git_tree.hpp +++ b/src/buildtool/file_system/git_tree.hpp @@ -99,10 +99,10 @@ class GitTree { // If set, ignore all fast tree lookups and always traverse. bool ignore_special_; - GitTree(gsl::not_null<GitCASPtr> const& cas, - entries_t&& entries, - std::string raw_id, - bool ignore_special = false) noexcept + explicit GitTree(gsl::not_null<GitCASPtr> const& cas, + entries_t&& entries, + std::string raw_id, + bool ignore_special = false) noexcept : cas_{cas}, entries_{std::move(entries)}, raw_id_{std::move(raw_id)}, |