summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tools/apilint/apilint.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/tools/apilint/apilint.py b/tools/apilint/apilint.py
index 6ca59b0fb93b..48a1330063c4 100644
--- a/tools/apilint/apilint.py
+++ b/tools/apilint/apilint.py
@@ -990,6 +990,14 @@ def verify_manager_list(clazz):
warn(clazz, m, None, "Methods should return List<? extends Parcelable> instead of Parcelable[] to support ParceledListSlice under the hood")
+def verify_abstract_inner(clazz):
+ """Verifies that abstract inner classes are static."""
+
+ if re.match(".+?\.[A-Z][^\.]+\.[A-Z]", clazz.fullname):
+ if " abstract " in clazz.raw and " static " not in clazz.raw:
+ warn(clazz, None, None, "Abstract inner classes should be static to improve testability")
+
+
def examine_clazz(clazz):
"""Find all style issues in the given class."""
if clazz.pkg.name.startswith("java"): return
@@ -1036,6 +1044,7 @@ def examine_clazz(clazz):
verify_resource_names(clazz)
verify_files(clazz)
verify_manager_list(clazz)
+ verify_abstract_inner(clazz)
def examine_stream(stream):