summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Lesinski <adamlesinski@google.com>2018-02-09 21:56:28 +0000
committerandroid-build-merger <android-build-merger@google.com>2018-02-09 21:56:28 +0000
commitef693fdf0a5a9d78557eb7fe5257026c4010a503 (patch)
tree37545200dea3f28f41c07d964c0dda6944943727
parentd0b671a4fd01776b752b910ef140066d461e7c44 (diff)
parenta90e133bee3e9ebc40916ec2fb9f0ea8f1491b7e (diff)
downloadplatform_external_doclava-ef693fdf0a5a9d78557eb7fe5257026c4010a503.tar.gz
platform_external_doclava-ef693fdf0a5a9d78557eb7fe5257026c4010a503.tar.bz2
platform_external_doclava-ef693fdf0a5a9d78557eb7fe5257026c4010a503.zip
Merge "Reduce 'final' method churn when class is 'final'"
am: a90e133bee Change-Id: Ib36e123b69da686f07833b85a4d80a6863c5675b
-rw-r--r--src/com/google/doclava/Converter.java15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/com/google/doclava/Converter.java b/src/com/google/doclava/Converter.java
index 269c860..a6f803b 100644
--- a/src/com/google/doclava/Converter.java
+++ b/src/com/google/doclava/Converter.java
@@ -474,15 +474,20 @@ public class Converter {
return result;
} else if (o instanceof MethodDoc) {
MethodDoc m = (MethodDoc) o;
+ final ClassInfo containingClass = Converter.obtainClass(m.containingClass());
+
+ // The containing class is final, so it is implied that every method is final as well.
+ // No need to apply 'final' to each method.
+ final boolean isMethodFinal = m.isFinal() && !containingClass.isFinal();
MethodInfo result =
new MethodInfo(m.getRawCommentText(),
new ArrayList<TypeInfo>(Arrays.asList(
Converter.convertTypes(m.typeParameters()))), m.name(), m.signature(),
- Converter.obtainClass(m.containingClass()),
- Converter.obtainClass(m.containingClass()), m.isPublic(), m.isProtected(),
- m.isPackagePrivate(), m.isPrivate(), m.isFinal(), m.isStatic(), m.isSynthetic(),
- m.isAbstract(), m.isSynchronized(), m.isNative(), m.isDefault(), false,
- "method", m.flatSignature(), Converter.obtainMethod(m.overriddenMethod()),
+ containingClass, containingClass, m.isPublic(), m.isProtected(),
+ m.isPackagePrivate(), m.isPrivate(), isMethodFinal, m.isStatic(),
+ m.isSynthetic(), m.isAbstract(), m.isSynchronized(), m.isNative(),
+ m.isDefault(), false, "method", m.flatSignature(),
+ Converter.obtainMethod(m.overriddenMethod()),
Converter.obtainType(m.returnType()),
new ArrayList<ParameterInfo>(Arrays.asList(
Converter.convertParameters(m.parameters(), m))),