summaryrefslogtreecommitdiff
path: root/tools/aapt2/java/ClassDefinition.cpp
diff options
context:
space:
mode:
authorAdam Lesinski <adamlesinski@google.com>2017-09-15 16:49:34 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2017-09-15 16:49:34 +0000
commite02983681ae85212c2263055fd4bcfd8097f19bc (patch)
treef8eb27d872ca51665fb096c5ca1081fd4588be6f /tools/aapt2/java/ClassDefinition.cpp
parent293e2f99550c02a07f326feafc4dc9fd60c76382 (diff)
parent689ce3f658f6862baf9951513c3330b5a3638267 (diff)
Merge changes Id8bdb14e,I573a6735,Ia804777f,Ia68122cb,Ia1997800, ... into oc-mr1-dev
* changes: AAPT2: Bump to version 2.19 AAPT2: Fix issue with resource deduping AAPT: Dump badging should pickup strings from the right package AAPT2: Change the daemon mode to be line based AAPT2: better error handling for daemon mode AAPT2: Fix regression in Manifest.java permissions AAPT2: Define intermediate compiled XML proto AAPT2: Add a daemon mode AAPT2: Fix mkdirs implementation AAPT2: Change XmlDom to exclude Namespace as a node AAPT2: Fix windows unicode path issues AAPT2: Fix typo in Config parsing AAPT2: Change proto format to reduce usage of StringPool AAPT2: Add navigation type AAPT2: Document Format.proto
Diffstat (limited to 'tools/aapt2/java/ClassDefinition.cpp')
-rw-r--r--tools/aapt2/java/ClassDefinition.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/tools/aapt2/java/ClassDefinition.cpp b/tools/aapt2/java/ClassDefinition.cpp
index 0cec9ae407f5..d7508d257db4 100644
--- a/tools/aapt2/java/ClassDefinition.cpp
+++ b/tools/aapt2/java/ClassDefinition.cpp
@@ -39,6 +39,17 @@ void MethodDefinition::WriteToStream(const StringPiece& prefix, bool final,
*out << prefix << "}";
}
+ClassDefinition::Result ClassDefinition::AddMember(std::unique_ptr<ClassMember> member) {
+ Result result = Result::kAdded;
+ auto iter = members_.find(member);
+ if (iter != members_.end()) {
+ members_.erase(iter);
+ result = Result::kOverridden;
+ }
+ members_.insert(std::move(member));
+ return result;
+}
+
bool ClassDefinition::empty() const {
for (const std::unique_ptr<ClassMember>& member : members_) {
if (!member->empty()) {