[
https://issues.apache.org/jira/browse/BCEL-191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14274916#comment-14274916
]
Emmanuel Bourg commented on BCEL-191:
-------------------------------------
As I understand the patch removes GenericArray completely, what do we lose by
not mocking the array?
> Verifier assumes the classes of the verifier are in the classpath of the
> verified class
> ---------------------------------------------------------------------------------------
>
> Key: BCEL-191
> URL: https://issues.apache.org/jira/browse/BCEL-191
> Project: Commons BCEL
> Issue Type: Bug
> Components: Verifier
> Reporter: Jérôme Leroux
> Priority: Minor
> Attachments: BCEL-191.patch
>
>
> When verifying a class, the verifier looks for this class and its
> dependencies in a classpath configured for this verification. If the classes
> of the verifier itself are not in this classpath, then an error can occur.
> The causes is the use of the internal class
> {{org.apache.bcel.verifier.structurals.GenericArray}} to mock the array class
> when a method invokation is done on an array. If the class {{GenericArray}}
> is not available in the classpath of the verifier class, we get the following
> error:
> {quote}
> Exception in thread "main"
> org.apache.bcel.verifier.exc.AssertionViolatedException: INTERNAL ERROR: Some
> RuntimeException occured while verify()ing class
> 'org.apache.bcel.verifier.tests.TestArray01', method 'public static void
> test1()'. Original RuntimeException's stack trace:
> ---
> org.apache.bcel.verifier.exc.AssertionViolatedException: INTERNAL ERROR:
> Missing class: java.lang.ClassNotFoundException: Exception while looking for
> class org.apache.bcel.verifier.structurals.GenericArray: java.io.IOException:
> Couldn't find: org/apache/bcel/verifier/structurals/GenericArray.class
> at
> org.apache.bcel.verifier.structurals.InstConstraintVisitor.visitINVOKEVIRTUAL(InstConstraintVisitor.java:2059)
> …
> {quote}
> Here is a simple example of code that raises this exception:
> {code:java}
> public static void test1(){
> String[] a = new String[4];
> a.equals(null);
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)