diff options
author | 2018-04-23 12:44:52 -0700 | |
---|---|---|
committer | 2018-04-23 12:46:32 -0700 | |
commit | 4abd2babcc50900afd0271bf30dc64055f34e100 (patch) | |
tree | 34788b7973326f519bce2ce5d709beee31e327b0 /src/tools/android/java/com/google/devtools/build/android/PlaceholderIdFieldInitializerBuilder.java | |
parent | 060b1624e4d64dbdbeb375f9a55a3da9bd055a54 (diff) |
Add error message on empty public resources
This should provide more understandable behavior in the case described in
https://github.com/bazelbuild/bazel/issues/5077
RELNOTES: none
PiperOrigin-RevId: 193968203
Diffstat (limited to 'src/tools/android/java/com/google/devtools/build/android/PlaceholderIdFieldInitializerBuilder.java')
-rw-r--r-- | src/tools/android/java/com/google/devtools/build/android/PlaceholderIdFieldInitializerBuilder.java | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/src/tools/android/java/com/google/devtools/build/android/PlaceholderIdFieldInitializerBuilder.java b/src/tools/android/java/com/google/devtools/build/android/PlaceholderIdFieldInitializerBuilder.java index ab1dee800d..571a59803b 100644 --- a/src/tools/android/java/com/google/devtools/build/android/PlaceholderIdFieldInitializerBuilder.java +++ b/src/tools/android/java/com/google/devtools/build/android/PlaceholderIdFieldInitializerBuilder.java @@ -337,13 +337,17 @@ class PlaceholderIdFieldInitializerBuilder { "Cannot force ATTR to have type code other than 0x%02x (got 0x%02x from %s)", ATTR_TYPE_ID, reservedTypeSlot, previousResource)); } - allocatedTypeIds.put(currentType, reservedTypeSlot); - ResourceType alreadyAssigned = assignedIds.put(reservedTypeSlot, currentType); - if (alreadyAssigned != null) { - logger.warning( - String.format( - "Multiple type names declared for public type identifier 0x%x (%s vs %s)", - reservedTypeSlot, alreadyAssigned, currentType)); + if (reservedTypeSlot == null) { + logger.warning(String.format("Invalid public resource of type %s - ignoring", currentType)); + } else { + allocatedTypeIds.put(currentType, reservedTypeSlot); + ResourceType alreadyAssigned = assignedIds.put(reservedTypeSlot, currentType); + if (alreadyAssigned != null) { + logger.warning( + String.format( + "Multiple type names declared for public type identifier 0x%x (%s vs %s)", + reservedTypeSlot, alreadyAssigned, currentType)); + } } } return allocatedTypeIds; |