[
https://issues.apache.org/jira/browse/LANG-1114?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14517674#comment-14517674
]
ASF GitHub Bot commented on LANG-1114:
--------------------------------------
Github user britter commented on the pull request:
https://github.com/apache/commons-lang/pull/65#issuecomment-97171431
Hello @datalorax it looks like rebasing did not work the way we wanted. The
diff shows more then 500 touched filed. Maybe it's easier to close this PR and
recreate it against the master branch. Sorry for the inconvenience!
> TypeUtils.ParameterizedType#equals doesn't work with wildcard types
> -------------------------------------------------------------------
>
> Key: LANG-1114
> URL: https://issues.apache.org/jira/browse/LANG-1114
> Project: Commons Lang
> Issue Type: Bug
> Components: lang.reflect.*
> Affects Versions: 3.3.2, 3.4
> Reporter: andrew coates
> Assignee: Benedikt Ritter
> Fix For: Review Patch
>
>
> There is a bug in TypeUtils.equals(WilcardType, Type). It returns true if
> the other type is not a WildcardType, it should return false. See
> TypeUtils@1629 for v3.3.2 and TypeUtils@791 for v3.4
> Bug can be seen with the following test:
> {code}
> @Test
> public void shouldHandleEqualityOfParameterizedTypesWithWildcards()
> throws Exception {
> // Given:
> class SomeType {
> Collection<?> field;
> }
> final ParameterizedType wildcardCollectionType = (ParameterizedType)
> SomeType.class.getDeclaredField("field").getGenericType();
> final WildcardType wildcard = (WildcardType)
> wildcardCollectionType.getActualTypeArguments()[0];
> final ParameterizedType ptWithWildcard =
> TypeUtils.parameterize(Collection.class, wildcard);
> final ParameterizedType otherPt =
> TypeUtils.parameterize(Collection.class, String.class);
> // Then:
> assertThat(otherPt, is(not(equalTo(ptWithWildcard)))); // Passes
> assertThat(ptWithWildcard, is(not(equalTo(otherPt)))); // Fails
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)