aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2018-01-22 23:40:41 -0800
committerRobert Schumacher <roschuma@microsoft.com>2018-01-22 23:40:41 -0800
commit0682bb734d5f8667d5aa1a8c2448d69fc042c53f (patch)
treeb0ec950f6dd036fcca4343651a13398319b54694
parent77eae92e75c4b0d15c14c1f19c93fb41bc60f25e (diff)
downloadvcpkg-0682bb734d5f8667d5aa1a8c2448d69fc042c53f.tar.gz
vcpkg-0682bb734d5f8667d5aa1a8c2448d69fc042c53f.zip
[vcpkg] Store Optional<&> instead of Optional<*>
-rw-r--r--toolsrc/include/vcpkg/dependencies.h2
-rw-r--r--toolsrc/src/tests.plan.cpp3
-rw-r--r--toolsrc/src/vcpkg/dependencies.cpp6
-rw-r--r--toolsrc/src/vcpkg/install.cpp2
4 files changed, 6 insertions, 7 deletions
diff --git a/toolsrc/include/vcpkg/dependencies.h b/toolsrc/include/vcpkg/dependencies.h
index 8902a7b08..84886c8dc 100644
--- a/toolsrc/include/vcpkg/dependencies.h
+++ b/toolsrc/include/vcpkg/dependencies.h
@@ -29,7 +29,7 @@ namespace vcpkg::Dependencies
Optional<StatusParagraph> status_paragraph;
Optional<BinaryControlFile> binary_control_file;
- Optional<const SourceControlFile*> source_control_file;
+ Optional<const SourceControlFile&> source_control_file;
};
}
diff --git a/toolsrc/src/tests.plan.cpp b/toolsrc/src/tests.plan.cpp
index 593003b80..0916e66c8 100644
--- a/toolsrc/src/tests.plan.cpp
+++ b/toolsrc/src/tests.plan.cpp
@@ -41,8 +41,7 @@ namespace UnitTest1
Assert::AreEqual(plan.spec.triplet().to_string().c_str(), triplet.to_string().c_str());
- Assert::AreEqual(pkg_name.c_str(),
- (*plan.any_paragraph.source_control_file.get())->core_paragraph->name.c_str());
+ Assert::AreEqual(pkg_name.c_str(), plan.any_paragraph.source_control_file.get()->core_paragraph->name.c_str());
Assert::AreEqual(size_t(vec.size()), feature_list.size());
for (auto&& feature_name : vec)
diff --git a/toolsrc/src/vcpkg/dependencies.cpp b/toolsrc/src/vcpkg/dependencies.cpp
index 76aeb0eaa..e48d85885 100644
--- a/toolsrc/src/vcpkg/dependencies.cpp
+++ b/toolsrc/src/vcpkg/dependencies.cpp
@@ -117,7 +117,7 @@ namespace vcpkg::Dependencies
return PackageSpec::from_dependencies_of_port(p->core_paragraph.spec.name(), deps, triplet);
}
- if (const auto p = this->source_control_file.value_or(nullptr))
+ if (const auto p = this->source_control_file.get())
{
return PackageSpec::from_dependencies_of_port(
p->core_paragraph->name, filter_dependencies(p->core_paragraph->depends, triplet), triplet);
@@ -159,7 +159,7 @@ namespace vcpkg::Dependencies
const RequestType& request_type)
: spec(spec), plan_type(InstallPlanType::BUILD_AND_INSTALL), request_type(request_type), feature_list(features)
{
- this->any_paragraph.source_control_file = &any_paragraph;
+ this->any_paragraph.source_control_file = any_paragraph;
}
InstallPlanAction::InstallPlanAction(const PackageSpec& spec,
@@ -418,7 +418,7 @@ namespace vcpkg::Dependencies
return ExportPlanAction{spec, AnyParagraph{nullopt, std::move(*bcf), nullopt}, request_type};
auto maybe_scf = provider.get_control_file(spec.name());
- if (auto scf = maybe_scf.get()) return ExportPlanAction{spec, {nullopt, nullopt, scf}, request_type};
+ if (auto scf = maybe_scf.get()) return ExportPlanAction{spec, {nullopt, nullopt, *scf}, request_type};
Checks::exit_with_message(VCPKG_LINE_INFO, "Could not find package %s", spec);
}
diff --git a/toolsrc/src/vcpkg/install.cpp b/toolsrc/src/vcpkg/install.cpp
index d6a28d57c..3ecb627f5 100644
--- a/toolsrc/src/vcpkg/install.cpp
+++ b/toolsrc/src/vcpkg/install.cpp
@@ -293,7 +293,7 @@ namespace vcpkg::Install
auto result = [&]() -> Build::ExtendedBuildResult {
const Build::BuildPackageConfig build_config{
- *action.any_paragraph.source_control_file.value_or_exit(VCPKG_LINE_INFO),
+ action.any_paragraph.source_control_file.value_or_exit(VCPKG_LINE_INFO),
action.spec.triplet(),
paths.port_dir(action.spec),
action.build_options,