------- Additional Comments From mark at gcc dot gnu dot org  2005-09-11 22:29 
-------
And I tracked our problems with The javax.swing.Box inner class AccessibleBox
extends AccessibleAWTContainer in GNU Classpath to a similar order problem.

Take the following source files:

p/AClass.java
::::::::::::::
package p;
public class AClass
{
  protected abstract class InnerA
  {
    protected InnerA()
    {
    }
  }
}
::::::::::::::
q/BClass.java
::::::::::::::
package q;
import p.*;
public class BClass extends AClass
{
  protected class InnerB extends AClass.InnerA
  {
  }
}
::::::::::::::
q/CClass.java
::::::::::::::
package q;
import p.AClass;
public class CClass extends BClass
{
  protected class InnerC extends AClass.InnerA
  {
  }
}

When compiled as follows all goes well:
$ gcj -C p/AClass.java q/BClass.java q/CClass.java

But when we change the order to:
$ gcj -C p/AClass.java q/CClass.java q/BClass.java
q/CClass.java:5: error: Nested class p.AClass$InnerA is protected; cannot be
accessed from here.
     protected class InnerC extends AClass.InnerA
                                    ^
1 error


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21418

Reply via email to