felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Clement Escoffier (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (FELIX-4725) Inner Class Manipulation uses the wrong 'access level'
Date Wed, 10 Dec 2014 07:46:13 GMT

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

Clement Escoffier resolved FELIX-4725.
    Resolution: Fixed

Fixed in trunk.

> Inner Class Manipulation uses the wrong 'access level'
> ------------------------------------------------------
>                 Key: FELIX-4725
>                 URL: https://issues.apache.org/jira/browse/FELIX-4725
>             Project: Felix
>          Issue Type: Bug
>          Components: iPOJO
>    Affects Versions: ipojo-manipulator-1.12.0
>            Reporter: Clement Escoffier
>            Assignee: Clement Escoffier
>             Fix For: ipojo-manipulator-1.12.1
> When the manipulator manipulates inner classes, the copied method are reusing the same
access level than the initial (original method). For instance {code}public void foo(){code}
 is replaced by {code}public void __foo(){code}. However, reusing the same access level leads
to a (missing) mediation on the invoke instruction we need to use to invoke this method. Despite
this is working on traditional JVM (Oracle, HotSpot...), it fails on Dalvik. 
> The fix is straightforward. Copied methods should be private:
> {code}private void __foo(){code}
> Thus, we just need to use the {code}INVOKE_SPECIAL{code} instruction.

This message was sent by Atlassian JIRA

View raw message