You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@polygene.apache.org by "Niclas Hedhman (JIRA)" <ji...@apache.org> on 2017/05/24 05:38:04 UTC

[jira] [Updated] (POLYGENE-249) private and package protected types are not accessible when they should be.

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

Niclas Hedhman updated POLYGENE-249:
------------------------------------
    Summary: private and package protected types are not accessible when they should be.  (was: private and package protected types are not accessible when the should be.)

> private and package protected types are not accessible when they should be.
> ---------------------------------------------------------------------------
>
>                 Key: POLYGENE-249
>                 URL: https://issues.apache.org/jira/browse/POLYGENE-249
>             Project: Polygene
>          Issue Type: Bug
>            Reporter: Niclas Hedhman
>             Fix For: 3.1.0
>
>
> The FragmentClassLoader creates new subclasses (_Stub) in the same package as its superclass. Yet, the classloading of a 
> {code:java}
>     package org.apache.polygene.abc;
>     class Abc
>         implements SomeType
>     {}
> {code}
> will insist that the Abc.class is public or protected and that the SomeType.class is public. Otherwise an IllegalAccessException is thrown.
> {code}
> java.lang.IllegalAccessError: class org.apache.polygene.abc.Abc_Stub cannot access its superclass org.apache.polygene.abc.Abc
> {code}
> and
> {code}
> java.lang.IllegalAccessError: tried to access class org.apache.polygene.abc.SomeType from class org.apache.polygene.abc.Abc_Stub
> {code}
> This is probably because the FragmentClassLoader is doing something wrong regarding packages. Maybe it is not enough to give the right name to the class, but also have to put in some type of package reference.
> The work-around is more 'public' and 'protected' fragment types, but that is not ideal.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)