You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Benedikt Ritter (JIRA)" <ji...@apache.org> on 2016/08/20 13:46:21 UTC

[jira] [Updated] (BCEL-279) Utility.methodSignature* throw ClassFormatException when converting binary names with generics.

     [ https://issues.apache.org/jira/browse/BCEL-279?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Benedikt Ritter updated BCEL-279:
---------------------------------
    Description: 
When I try the following, Utility class throws ClassFormatException:

{code}
String sig = "<T:Ljava/lang/Object;>(Lcom/google/common/io/ByteProcessor<TT;>;)TT;"
Utility.methodSignatureArgumentTypes(sig, false)
{code}

The above signature actually exists in com.google.common.io.ByteSource in Google Guava.

Utility.methodSignatureReturnType does not throw any exception but its return value does not look valid.

When I try this:

{code}
String sig = "<T:Ljava/lang/Object;>(Lcom/google/common/io/ByteProcessor<TT;>;)TT;"
Utility.methodSignaturerReturnType(sig, false)

expected: java.lang.Object
actual: T
{code}

It seems that org.apache.bcel.generic.Type.java also has the same issue.

Dongsun.



  was:
When I try the following, Utility class throws ClassFormatException:

String sig = "<T:Ljava/lang/Object;>(Lcom/google/common/io/ByteProcessor<TT;>;)TT;"
Utility.methodSignatureArgumentTypes(sig, false)

The above signature actually exists in com.google.common.io.ByteSource in Google Guava.

Utility.methodSignatureReturnType does not throw any exception but its return value does not look valid.

When I try this:

String sig = "<T:Ljava/lang/Object;>(Lcom/google/common/io/ByteProcessor<TT;>;)TT;"
Utility.methodSignaturerReturnType(sig, false)

expected: java.lang.Object
actual: T

It seems that org.apache.bcel.generic.Type.java also has the same issue.

Dongsun.




> Utility.methodSignature* throw ClassFormatException when converting binary names with generics.
> -----------------------------------------------------------------------------------------------
>
>                 Key: BCEL-279
>                 URL: https://issues.apache.org/jira/browse/BCEL-279
>             Project: Commons BCEL
>          Issue Type: Bug
>          Components: Parser
>    Affects Versions: 6.0
>            Reporter: Dongsun Kim
>
> When I try the following, Utility class throws ClassFormatException:
> {code}
> String sig = "<T:Ljava/lang/Object;>(Lcom/google/common/io/ByteProcessor<TT;>;)TT;"
> Utility.methodSignatureArgumentTypes(sig, false)
> {code}
> The above signature actually exists in com.google.common.io.ByteSource in Google Guava.
> Utility.methodSignatureReturnType does not throw any exception but its return value does not look valid.
> When I try this:
> {code}
> String sig = "<T:Ljava/lang/Object;>(Lcom/google/common/io/ByteProcessor<TT;>;)TT;"
> Utility.methodSignaturerReturnType(sig, false)
> expected: java.lang.Object
> actual: T
> {code}
> It seems that org.apache.bcel.generic.Type.java also has the same issue.
> Dongsun.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)