Roll-forward of the startup options refactoring.
This CL is a verbatim reproduction of the following CLs, modulo adjustments
to cope with changes at HEAD:
* commit 4a45d92130a6b1306a3840d006df165b8040a6cf: Use inheritance to support site-specific options.
* commit dfb2c73eda3d2dd8787ea9b2d0a03b49dfa2acc5: Inject the product name via the per-product main.cc files.
* unknown commit: Remove the internal/external startup_options duality.
The cause that triggered the rollbacks was fixed separately in commit 69a8d7205287bedf3a6140ec9327e2fad1758c22
as prepartory work for this roll-forward, so things should work now.
--
MOS_MIGRATED_REVID=133139218
diff --git a/src/main/cpp/option_processor.cc b/src/main/cpp/option_processor.cc
index 87560b8..bb56efc 100644
--- a/src/main/cpp/option_processor.cc
+++ b/src/main/cpp/option_processor.cc
@@ -160,8 +160,10 @@
return blaze_exit_code::SUCCESS;
}
-OptionProcessor::OptionProcessor()
- : initialized_(false), parsed_startup_options_(new BlazeStartupOptions()) {
+OptionProcessor::OptionProcessor(
+ std::unique_ptr<StartupOptions> default_startup_options) :
+ initialized_(false),
+ parsed_startup_options_(std::move(default_startup_options)) {
}
// Return the path to the user's rc file. If cmdLineRcFile != NULL,
@@ -239,7 +241,7 @@
}
blaze_exit_code::ExitCode validate_startup_options_exit_code =
- BlazeStartupOptions::ValidateStartupOptions(args, error);
+ parsed_startup_options_->ValidateStartupOptions(args, error);
if (validate_startup_options_exit_code != blaze_exit_code::SUCCESS) {
return validate_startup_options_exit_code;
}
@@ -458,8 +460,8 @@
return command_;
}
-const BlazeStartupOptions& OptionProcessor::GetParsedStartupOptions() const {
- return *parsed_startup_options_.get();
+StartupOptions* OptionProcessor::GetParsedStartupOptions() const {
+ return parsed_startup_options_.get();
}
OptionProcessor::~OptionProcessor() {