summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Adrian Roos <roosa@google.com> 2019-03-05 18:14:42 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2019-03-05 18:14:42 +0000
commit1d50b63cee5cf2422866d054df68ce33008271d2 (patch)
treeea9d9ade36bca2e44ad52e23e1396d7a790279cf
parent927b3dcb5326b6e273121775ec2a4cea807ef564 (diff)
parent56ff78438513dd6c308468d1c5ac7ad29556dbbf (diff)
Merge "Apilint: lint for URL/URI"
-rw-r--r--tools/apilint/apilint.py14
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)