summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Treehugger Robot <treehugger-gerrit@google.com> 2020-01-10 16:38:42 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2020-01-10 16:38:42 +0000
commitc9c54798f695a9f83e28680910f0accd0e79f5f6 (patch)
tree7dd5f3b0d1ce19d541c02b124dc8a77acbafe6fe
parent0262cb7765802add87c049299f7722b3646591a9 (diff)
parent4effc4b64a1070279acc2e97c5c6f85b88dbd476 (diff)
Merge "Make extract_package() work for toplevel classes."
-rwxr-xr-xtools/hiddenapi/generate_hiddenapi_lists.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/tools/hiddenapi/generate_hiddenapi_lists.py b/tools/hiddenapi/generate_hiddenapi_lists.py
index 46105f4d66b0..0b2077d9bba0 100755
--- a/tools/hiddenapi/generate_hiddenapi_lists.py
+++ b/tools/hiddenapi/generate_hiddenapi_lists.py
@@ -149,7 +149,12 @@ def extract_package(signature):
The package name of the class containing the field/method.
"""
full_class_name = signature.split(";->")[0]
- package_name = full_class_name[1:full_class_name.rindex("/")]
+ # Example: Landroid/hardware/radio/V1_2/IRadio$Proxy
+ if (full_class_name[0] != "L"):
+ raise ValueError("Expected to start with 'L': %s" % full_class_name)
+ full_class_name = full_class_name[1:]
+ # If full_class_name doesn't contain '/', then package_name will be ''.
+ package_name = full_class_name.rpartition("/")[0]
return package_name.replace('/', '.')
class FlagsDict: