diff options
author | 2019-03-05 18:14:42 +0000 | |
---|---|---|
committer | 2019-03-05 18:14:42 +0000 | |
commit | 1d50b63cee5cf2422866d054df68ce33008271d2 (patch) | |
tree | ea9d9ade36bca2e44ad52e23e1396d7a790279cf | |
parent | 927b3dcb5326b6e273121775ec2a4cea807ef564 (diff) | |
parent | 56ff78438513dd6c308468d1c5ac7ad29556dbbf (diff) |
Merge "Apilint: lint for URL/URI"
-rw-r--r-- | tools/apilint/apilint.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/tools/apilint/apilint.py b/tools/apilint/apilint.py index 52707c28286e..ddfee622699e 100644 --- a/tools/apilint/apilint.py +++ b/tools/apilint/apilint.py @@ -1262,6 +1262,19 @@ def verify_collections(clazz): if arg in bad: error(clazz, m, "CL2", "Argument is concrete collection; must be higher-level interface") +def verify_uris(clazz): + bad = ["java.net.URL", "java.net.URI", "android.net.URL"] + + for f in clazz.fields: + if f.typ in bad: + error(clazz, f, None, "Field must be android.net.Uri instead of " + f.typ) + + for m in clazz.methods + clazz.ctors: + if m.typ in bad: + error(clazz, m, None, "Must return android.net.Uri instead of " + m.typ) + for arg in m.args: + if arg in bad: + error(clazz, m, None, "Argument must take android.net.Uri instead of " + arg) def verify_flags(clazz): """Verifies that flags are non-overlapping.""" @@ -1982,6 +1995,7 @@ def examine_clazz(clazz): verify_layering(clazz) verify_boolean(clazz) verify_collections(clazz) + verify_uris(clazz) verify_flags(clazz) verify_exception(clazz) if not ALLOW_GOOGLE: verify_google(clazz) |