From 56f36e8f2fa808128bc68d4ae9adad9e65b90367 Mon Sep 17 00:00:00 2001 From: Jeremy Meyer Date: Fri, 20 May 2022 20:35:42 +0000 Subject: Move StringPool to libandroidfw Test: verified affected tests pass Bug: 232940948 Change-Id: I22089893d7e5013f759c39ce190bec07fa6435db --- tools/aapt2/java/ManifestClassGenerator.cpp | 24 +++++++++++++----------- tools/aapt2/java/ManifestClassGenerator.h | 5 +++-- tools/aapt2/java/ProguardRules.h | 7 +++---- 3 files changed, 19 insertions(+), 17 deletions(-) (limited to 'tools/aapt2/java') diff --git a/tools/aapt2/java/ManifestClassGenerator.cpp b/tools/aapt2/java/ManifestClassGenerator.cpp index a0db41baecb4..65b63b7c0c61 100644 --- a/tools/aapt2/java/ManifestClassGenerator.cpp +++ b/tools/aapt2/java/ManifestClassGenerator.cpp @@ -18,7 +18,7 @@ #include -#include "Source.h" +#include "androidfw/Source.h" #include "java/ClassDefinition.h" #include "java/JavaClassGenerator.h" #include "text/Unicode.h" @@ -28,7 +28,8 @@ using ::aapt::text::IsJavaIdentifier; namespace aapt { -static std::optional ExtractJavaIdentifier(IDiagnostics* diag, const Source& source, +static std::optional ExtractJavaIdentifier(android::IDiagnostics* diag, + const android::Source& source, const std::string& value) { std::string result = value; size_t pos = value.rfind('.'); @@ -42,22 +43,22 @@ static std::optional ExtractJavaIdentifier(IDiagnostics* diag, cons } if (result.empty()) { - diag->Error(DiagMessage(source) << "empty symbol"); + diag->Error(android::DiagMessage(source) << "empty symbol"); return {}; } if (!IsJavaIdentifier(result)) { - diag->Error(DiagMessage(source) << "invalid Java identifier '" << result << "'"); + diag->Error(android::DiagMessage(source) << "invalid Java identifier '" << result << "'"); return {}; } return result; } -static bool WriteSymbol(const Source& source, IDiagnostics* diag, xml::Element* el, - ClassDefinition* class_def) { +static bool WriteSymbol(const android::Source& source, android::IDiagnostics* diag, + xml::Element* el, ClassDefinition* class_def) { xml::Attribute* attr = el->FindAttribute(xml::kSchemaAndroid, "name"); if (!attr) { - diag->Error(DiagMessage(source) << "<" << el->name << "> must define 'android:name'"); + diag->Error(android::DiagMessage(source) << "<" << el->name << "> must define 'android:name'"); return false; } @@ -72,21 +73,22 @@ static bool WriteSymbol(const Source& source, IDiagnostics* diag, xml::Element* string_member->GetCommentBuilder()->AppendComment(el->comment); if (class_def->AddMember(std::move(string_member)) == ClassDefinition::Result::kOverridden) { - diag->Warn(DiagMessage(source.WithLine(el->line_number)) + diag->Warn(android::DiagMessage(source.WithLine(el->line_number)) << "duplicate definitions of '" << result.value() << "', overriding previous"); } return true; } -std::unique_ptr GenerateManifestClass(IDiagnostics* diag, xml::XmlResource* res) { +std::unique_ptr GenerateManifestClass(android::IDiagnostics* diag, + xml::XmlResource* res) { xml::Element* el = xml::FindRootElement(res->root.get()); if (!el) { - diag->Error(DiagMessage(res->file.source) << "no root tag defined"); + diag->Error(android::DiagMessage(res->file.source) << "no root tag defined"); return {}; } if (el->name != "manifest" && !el->namespace_uri.empty()) { - diag->Error(DiagMessage(res->file.source) << "no root tag defined"); + diag->Error(android::DiagMessage(res->file.source) << "no root tag defined"); return {}; } diff --git a/tools/aapt2/java/ManifestClassGenerator.h b/tools/aapt2/java/ManifestClassGenerator.h index 3f6645facaa2..3a45ef6d5ecc 100644 --- a/tools/aapt2/java/ManifestClassGenerator.h +++ b/tools/aapt2/java/ManifestClassGenerator.h @@ -17,13 +17,14 @@ #ifndef AAPT_JAVA_MANIFESTCLASSGENERATOR_H #define AAPT_JAVA_MANIFESTCLASSGENERATOR_H -#include "Diagnostics.h" +#include "androidfw/IDiagnostics.h" #include "java/ClassDefinition.h" #include "xml/XmlDom.h" namespace aapt { -std::unique_ptr GenerateManifestClass(IDiagnostics* diag, xml::XmlResource* res); +std::unique_ptr GenerateManifestClass(android::IDiagnostics* diag, + xml::XmlResource* res); } // namespace aapt diff --git a/tools/aapt2/java/ProguardRules.h b/tools/aapt2/java/ProguardRules.h index a01b64d024d2..267f7ede274a 100644 --- a/tools/aapt2/java/ProguardRules.h +++ b/tools/aapt2/java/ProguardRules.h @@ -22,12 +22,11 @@ #include #include -#include "androidfw/StringPiece.h" - #include "Resource.h" #include "ResourceTable.h" -#include "Source.h" #include "ValueVisitor.h" +#include "androidfw/Source.h" +#include "androidfw/StringPiece.h" #include "io/Io.h" #include "process/IResourceTableConsumer.h" #include "xml/XmlDom.h" @@ -37,7 +36,7 @@ namespace proguard { struct UsageLocation { ResourceName name; - Source source; + android::Source source; }; struct NameAndSignature { -- cgit v1.2.3-59-g8ed1b