You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Mark Roberts (JIRA)" <ji...@apache.org> on 2019/08/05 19:23:00 UTC

[jira] [Commented] (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:comment-tabpanel&focusedCommentId=16900336#comment-16900336 ] 

Mark Roberts commented on BCEL-279:
-----------------------------------

I have gone over this is some detail and believe that the methods in Utility.java will now scan most any Signature. (Can't do Interface without an arg list change to include flags so can tell difference between Class and Interface.) I have updated the test case as well.  Please review patch and let me know of any issues.

> 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
>            Priority: Major
>             Fix For: 6.x
>
>         Attachments: bcel279.patch
>
>
> 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)
> {code}
> expected: java.lang.Object
> actual: T
> It seems that org.apache.bcel.generic.Type.java also has the same issue.
> Dongsun.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)