commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (LANG-1114) TypeUtils.ParameterizedType#equals doesn't work with wildcard types
Date Mon, 27 Apr 2015 19:57:39 GMT

    [ https://issues.apache.org/jira/browse/LANG-1114?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14514848#comment-14514848
] 

ASF GitHub Bot commented on LANG-1114:
--------------------------------------

Github user britter commented on the pull request:

    https://github.com/apache/commons-lang/pull/65#issuecomment-96796890
  
    @datalorax Commons Lang has been migrated from svn to git. Because of this the main branch
has been renamed to 'master'. Can you please rebase your work against the master branch? Thank
you!


> 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)

Mime
View raw message