[Bug java/15073] New: Illegal access to package-private class is allowed

rmathew at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Thu Apr 22 14:00:00 GMT 2004


GCJ silently compiles an illegal access to a package-private
class in another package.

Here's the testcase:

------------------ Snafu.java -------------------------------
public class Snafu {
  public static void main( String[] args) {
    foo.Bar.hello( );
  }
}
-------------------------------------------------------------

------------------ foo/Bar.java -----------------------------
package foo;

class Bar {
  public static void hello( ) { System.out.println( "Hello!"); }
}
-------------------------------------------------------------


Here's what JDK 1.4.2.03 on Linux says for this:
-------------------------------------------------------------
Snafu.java:3: foo.Bar is not public in foo; cannot be accessed from outside pack
age
    foo.Bar.hello( );
       ^
Snafu.java:3: hello() in foo.Bar is not defined in a public class or interface;
cannot be accessed from outside package
    foo.Bar.hello( );
           ^
2 errors
-------------------------------------------------------------

-- 
           Summary: Illegal access to package-private class is allowed
           Product: gcc
           Version: 3.5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: java
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: rmathew at gcc dot gnu dot org
                CC: gcc-bugs at gcc dot gnu dot org,java-prs at gcc dot gnu
                    dot org


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



More information about the Java-prs mailing list