[jdk16] RFR: 8256693: getAnnotatedReceiverType parameterizes types too eagerly
Vicente Romero
vromero at openjdk.java.net
Wed Dec 16 16:34:08 UTC 2020
On Wed, 16 Dec 2020 09:41:47 GMT, Joel Borggrén-Franck <jfranck at openjdk.org> wrote:
> The fix for JDK-8256693 too often produces a ParameterizedType as the result of getAnnotatedReceiverType().getType() . A ParameterizedType is necessary only when this type or any of its transitive owner types has type parameters, but should be avoided if this isn't the case.
>
> This implementation recursively creates a chain of ParameterizedTypes starting from the outermost type that has type parameters.
>
> See here for the now closed JDK 17 pr: https://github.com/openjdk/jdk/pull/1414
Changes requested by vromero (Reviewer).
test/jdk/java/lang/annotation/typeAnnotations/GetAnnotatedReceiverType.java line 181:
> 179: if (failures != 0)
> 180: throw new RuntimeException("Test failed, see log for details");
> 181: else if (tests != 25)
this looks a bit brittle, isn't it better to count the number of tests failing and issue an error if that number is > 0?
-------------
PR: https://git.openjdk.java.net/jdk16/pull/33
More information about the core-libs-dev
mailing list