summaryrefslogtreecommitdiff
path: root/tools/aapt2/java/ClassDefinition.cpp
diff options
context:
space:
mode:
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()) {