Bug#94974: gcj-3.0 does not know that interface members are public by default
Package: gcj-3.0
Version: 1:3.0-0pre010403
Severity: normal
Observe:
antkaij@himalia:~/test$ cat Interface.java
package foo1;
public interface Interface {
interface Inner {
void foo();
}
}
antkaij@himalia:~/test$ cat Test.java
package foo2;
import foo1.*;
public class Test implements Interface.Inner {
public void foo() {}
}
antkaij@himalia:~/test$ gcj-3.0 -d . -C Interface.java
antkaij@himalia:~/test$ gcj-3.0 -d . -C Test.java
Test.java:4: Nested interface foo1.Interface$Inner is non-public; cannot be acce
ssed from here.
public class Test implements Interface.Inner {
^
1 error
antkaij@himalia:~/test$
However, section 9.1.4 of The Java Language Specification, second edition,
says: "All interface members are implicitly public."
-- System Information
Debian Release: testing/unstable
Architecture: i386
Kernel: Linux himalia 2.2.14 #3 Tue May 30 12:34:13 EEST 2000 i686
Versions of packages gcj-3.0 depends on:
ii gcc-3.0 1:3.0-0pre010403 The GNU C compiler.
ii gcc-3.0-base 1:3.0-0pre010403 The GNU compiler collection (base
ii java-common 0.6 Base of all Java packages
ii libc6 2.2.2-4 GNU C Library: Shared libraries an
ii libgcj300-dev 1:3.0-0pre010403 Java runtime library for use with
ii zlib1g 1:1.1.3-12 compression library - runtime
Reply to: