summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Lesinski <adamlesinski@google.com>2018-02-09 20:48:28 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2018-02-09 20:48:28 +0000
commita90e133bee3e9ebc40916ec2fb9f0ea8f1491b7e (patch)
tree37545200dea3f28f41c07d964c0dda6944943727
parenta54d47755b72d9f85116c599c4ebfb67bf66604e (diff)
parent18b65ca7f0edccfa0c7f1b298b7de48cedf558b1 (diff)
downloadplatform_external_doclava-a90e133bee3e9ebc40916ec2fb9f0ea8f1491b7e.tar.gz
platform_external_doclava-a90e133bee3e9ebc40916ec2fb9f0ea8f1491b7e.tar.bz2
platform_external_doclava-a90e133bee3e9ebc40916ec2fb9f0ea8f1491b7e.zip
Merge "Reduce 'final' method churn when class is 'final'"
-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))),