Niclas Hedhman created POLYGENE-249:
---------------------------------------

             Summary: private and package protected types are not accessible 
when the should be.
                 Key: POLYGENE-249
                 URL: https://issues.apache.org/jira/browse/POLYGENE-249
             Project: Polygene
          Issue Type: Bug
            Reporter: Niclas Hedhman


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)

Reply via email to