From 622e07eb0859fcf0eb9537ea5657277b7f3b18af Mon Sep 17 00:00:00 2001 From: Daniel Santiago Date: Mon, 20 Apr 2020 08:53:48 -0700 Subject: Don't copy parameter annotations when creating a ParameterSpec. (#770) * Don't copy parameter annotations when creating a ParameterSpec. This further preserves the behaviour discussed in https://github.com/square/javapoet/issues/482. Unifying it for both MethodSpec.overriding and ParameterSpec.get. * Add compilation test for when overriding a method with private annotations. * Address PR comments: * Remove unused import * Rename newly added test --- src/main/java/com/squareup/javapoet/MethodSpec.java | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) (limited to 'src/main/java/com/squareup/javapoet/MethodSpec.java') diff --git a/src/main/java/com/squareup/javapoet/MethodSpec.java b/src/main/java/com/squareup/javapoet/MethodSpec.java index 2284ef5..67722c7 100644 --- a/src/main/java/com/squareup/javapoet/MethodSpec.java +++ b/src/main/java/com/squareup/javapoet/MethodSpec.java @@ -24,7 +24,6 @@ import java.util.LinkedHashSet; import java.util.List; import java.util.Map; import java.util.Set; -import java.util.stream.Collectors; import javax.lang.model.SourceVersion; import javax.lang.model.element.Element; import javax.lang.model.element.ExecutableElement; @@ -233,16 +232,7 @@ public final class MethodSpec { } methodBuilder.returns(TypeName.get(method.getReturnType())); - // Copying parameter annotations from the overridden method can be incorrect so we're - // deliberately dropping them. See https://github.com/square/javapoet/issues/482. - methodBuilder.addParameters(ParameterSpec.parametersOf(method) - .stream() - .map(parameterSpec -> { - ParameterSpec.Builder builder = parameterSpec.toBuilder(); - builder.annotations.clear(); - return builder.build(); - }) - .collect(Collectors.toList())); + methodBuilder.addParameters(ParameterSpec.parametersOf(method)); methodBuilder.varargs(method.isVarArgs()); for (TypeMirror thrownType : method.getThrownTypes()) { -- cgit v1.2.3