diff options
author | Adam Lesinski <adamlesinski@google.com> | 2018-01-23 01:11:54 -0800 |
---|---|---|
committer | Adam Lesinski <adamlesinski@google.com> | 2018-02-06 14:49:09 -0800 |
commit | 18b65ca7f0edccfa0c7f1b298b7de48cedf558b1 (patch) | |
tree | 851e09d29b91efbd27ed4567851ed83ff90b4876 | |
parent | cc8c74cd1233e3258bd0a8c9c92effbb6839043f (diff) | |
download | platform_external_doclava-18b65ca7f0edccfa0c7f1b298b7de48cedf558b1.tar.gz platform_external_doclava-18b65ca7f0edccfa0c7f1b298b7de48cedf558b1.tar.bz2 platform_external_doclava-18b65ca7f0edccfa0c7f1b298b7de48cedf558b1.zip |
Reduce 'final' method churn when class is 'final'
Final classes cannot be overridden, making each method
effectively final. Removal or addition of 'final' identifiers
shouldn't affect the api file.
Test: manual
Merged-In: Icce1d75ed535a40147ebe5e75a41c63b8e6f8ad4
Change-Id: Icce1d75ed535a40147ebe5e75a41c63b8e6f8ad4
-rw-r--r-- | src/com/google/doclava/Converter.java | 15 |
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))), |