diff options
author | Florian Uunk <feuunk@google.com> | 2014-06-25 17:01:21 +0100 |
---|---|---|
committer | Florian Uunk <feuunk@google.com> | 2014-06-25 17:01:21 +0100 |
commit | 53d13be6dc155a3d7ae0607f3eafc2c3b98a909f (patch) | |
tree | 9fdcef0078f6cf85601ddbc9443dc3973000d8f0 /src | |
parent | 39be9e8470ac38baab65cfe8d7e3fa61640ea275 (diff) | |
download | android_external_doclava-53d13be6dc155a3d7ae0607f3eafc2c3b98a909f.tar.gz android_external_doclava-53d13be6dc155a3d7ae0607f3eafc2c3b98a909f.tar.bz2 android_external_doclava-53d13be6dc155a3d7ae0607f3eafc2c3b98a909f.zip |
Fixes for generating APIs that use external libraries.
Two fixes:
- Add stubs for interfaces that are outside of the codebase
- Consider interfaces that are outside of the codebase for API
consistency
Change-Id: Ia4c5a7ec92d169d519d7d580ae36dd60f480dabc
Diffstat (limited to 'src')
-rw-r--r-- | src/com/google/doclava/ClassInfo.java | 2 | ||||
-rw-r--r-- | src/com/google/doclava/apicheck/ApiInfo.java | 11 |
2 files changed, 9 insertions, 4 deletions
diff --git a/src/com/google/doclava/ClassInfo.java b/src/com/google/doclava/ClassInfo.java index 3cda7ec..7ab7a6a 100644 --- a/src/com/google/doclava/ClassInfo.java +++ b/src/com/google/doclava/ClassInfo.java @@ -1730,7 +1730,7 @@ public class ClassInfo extends DocInfo implements ContainerInfo, Comparable, Sco if (qualifiedName().equals(iface)) { return true; } - for (ClassInfo clImplements : interfaces()) { + for (ClassInfo clImplements : realInterfaces()) { if (clImplements.implementsInterface(iface)) { return true; } diff --git a/src/com/google/doclava/apicheck/ApiInfo.java b/src/com/google/doclava/apicheck/ApiInfo.java index 11d6f8f..711a9f4 100644 --- a/src/com/google/doclava/apicheck/ApiInfo.java +++ b/src/com/google/doclava/apicheck/ApiInfo.java @@ -46,7 +46,12 @@ public class ApiInfo { continue; } for (String iface : ifaces) { - cl.addInterface(mAllClasses.get(iface)); + ClassInfo ci = mAllClasses.get(iface); + if (ci == null) { + // Interface not provided by this codebase. Inject a stub. + ci = new ClassInfo(iface); + } + cl.addInterface(ci); } } } @@ -78,11 +83,11 @@ public class ApiInfo { public HashMap<String, PackageInfo> getPackages() { return mPackages; } - + protected void mapClassToSuper(ClassInfo classInfo, String superclass) { mClassToSuper.put(classInfo, superclass); } - + protected void mapClassToInterface(ClassInfo classInfo, String iface) { if (!mClassToInterface.containsKey(classInfo)) { mClassToInterface.put(classInfo, new ArrayList<String>()); |