Replace Maybe with std::optional
With c++17, std::optional provides the functionality that Maybe
provided.
Bug: 183215655
Test: aapt2_tests
Change-Id: I62bb9c2fa4985dc5217a6ed153df92b85ad9a034
diff --git a/tools/aapt2/java/ProguardRules.cpp b/tools/aapt2/java/ProguardRules.cpp
index d9a4caa..b939f35 100644
--- a/tools/aapt2/java/ProguardRules.cpp
+++ b/tools/aapt2/java/ProguardRules.cpp
@@ -48,7 +48,7 @@
void Visit(xml::Element* node) override {
if (!node->namespace_uri.empty()) {
- Maybe<xml::ExtractedPackage> maybe_package =
+ std::optional<xml::ExtractedPackage> maybe_package =
xml::ExtractPackageFromNamespace(node->namespace_uri);
if (maybe_package) {
// This is a custom view, let's figure out the class name from this.
@@ -270,14 +270,16 @@
get_name = true;
xml::Attribute* attr = node->FindAttribute(xml::kSchemaAndroid, "backupAgent");
if (attr) {
- Maybe<std::string> result = util::GetFullyQualifiedClassName(package_, attr->value);
+ std::optional<std::string> result =
+ util::GetFullyQualifiedClassName(package_, attr->value);
if (result) {
AddClass(node->line_number, result.value(), "");
}
}
attr = node->FindAttribute(xml::kSchemaAndroid, "appComponentFactory");
if (attr) {
- Maybe<std::string> result = util::GetFullyQualifiedClassName(package_, attr->value);
+ std::optional<std::string> result =
+ util::GetFullyQualifiedClassName(package_, attr->value);
if (result) {
AddClass(node->line_number, result.value(), "");
}
@@ -285,7 +287,8 @@
attr = node->FindAttribute(xml::kSchemaAndroid, "zygotePreloadName");
if (attr) {
- Maybe<std::string> result = util::GetFullyQualifiedClassName(package_, attr->value);
+ std::optional<std::string> result =
+ util::GetFullyQualifiedClassName(package_, attr->value);
if (result) {
AddClass(node->line_number, result.value(), "");
}
@@ -317,7 +320,8 @@
get_name = attr != nullptr;
if (get_name) {
- Maybe<std::string> result = util::GetFullyQualifiedClassName(package_, attr->value);
+ std::optional<std::string> result =
+ util::GetFullyQualifiedClassName(package_, attr->value);
if (result) {
AddClass(node->line_number, result.value(), "");
}