AAPT2: Fix regression in Manifest.java permissions
Permissions defined with the same leaf name emit the same string symbol, which causes collisions. AAPT would override the symbol with the last one seen. Do the same thing as AAPT, but emit a warning. Bug: 64472942 Test: make aapt2_tests Change-Id: I17b9dc7e8d8bd80db98869394c93695cb453bebd
This commit is contained in:
@@ -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()) {
|
||||
|
||||
Reference in New Issue
Block a user