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

Jérôme Leroux commented on BCEL-192:
------------------------------------

Yes, BCEL-189 has to be fixed first :-/

> Verification error when defining an inner class
> -----------------------------------------------
>
>                 Key: BCEL-192
>                 URL: https://issues.apache.org/jira/browse/BCEL-192
>             Project: Commons BCEL
>          Issue Type: Bug
>          Components: Verifier
>    Affects Versions: 6.0
>            Reporter: Jérôme Leroux
>         Attachments: BCEL-192.patch, BCEL-192.zip
>
>
> The verification of the following code fails:
> {code:java}
>     public void test(){
>         new Runnable() {
>             
>             @Override
>             public void run() {
>             }
>         };
>     }
> {code}
> The cause is a wrong verification of field modification on uninitialized 
> object. The modification of an uninitialized object is allowed in a 
> constructor if this object is the receiver of the constructor.
> Here is the explanation from the §4.9.4 of _The Java Virtual Machine 
> Specification, Second Edition_:
> {quote}
> The instance initialization method (§3.9) for class myClass sees the new 
> uninitialized object as its this argument in local variable 0. Before that 
> method invokes another instance initialization method of myClass or its 
> direct superclass on this, the only operation the method can perform on this 
> is assigning fields declared within myClass.
> {quote}



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

Reply via email to