java/1275: Cannot access static fields of static inner classes
mark@klomp.org
mark@klomp.org
Wed Dec 20 12:23:00 GMT 2000
>Number: 1275
>Category: java
>Synopsis: Cannot access static fields of static inner classes
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: apbianco
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed Dec 20 12:18:35 PST 2000
>Closed-Date: Thu Jul 20 17:07:52 PDT 2000
>Last-Modified: Thu Jul 20 17:16:01 PDT 2000
>Originator: mark@klomp.org
>Release: gcc version 2.96 20000602 (experimental)
>Organization:
>Environment:
>Description:
The following code does not compile:
public class A {
public static void main(String args[]) {
B.Hello hello = new B.Hello();
System.out.println(hello.WORLD);
System.out.println(B.Hello.World);
}
}
class B {
static class Hello {
public static final String WORLD = "Hello World!";
}
}
'gcj --main=A A.java' gives:
A.java: In class `A':
A.java: In method `main(java.lang.String[])':
A.java:5: No variable `Hello' defined in type `B'.
System.out.println(B.Hello.World);
^
1 error
Note that commenting out that line does compile.
So it is possible to access the field indirectly by creating
an object, but not directly through the inner class.
>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:
Formerly PR gcj/256
State-Changed-From-To: open->feedback
State-Changed-By: apbianco
State-Changed-When: Fri Jul 7 14:39:42 2000
State-Changed-Why:
I attached a patch.
From: apbianco@cygnus.com
To: apbianco@cygnus.com, java-gnats@sourceware.cygnus.com, mark@klomp.org
Cc:
Subject: Re: gcj/256
Date: 7 Jul 2000 21:39:42 -0000
Synopsis: Cannot access static fields of static inner classes
State-Changed-From-To: open->feedback
State-Changed-By: apbianco
State-Changed-When: Fri Jul 7 14:39:42 2000
State-Changed-Why:
I attached a patch.
http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=256&database=java
From: Mark Wielaard <mark@klomp.org>
To: apbianco@cygnus.com
Cc: java-gnats@sourceware.cygnus.com
Subject: Re: gcj/256
Date: Fri, 14 Jul 2000 14:04:36 +0200
> I attached a patch.
I tried the patch against a recent CVS version and it fixes the problem for me.
Thanks
State-Changed-From-To: feedback->closed
State-Changed-By: apbianco
State-Changed-When: Thu Jul 20 17:07:52 2000
State-Changed-Why:
I checked in a jumbo patch to fix gcj/256 (among other PRs:)
http://gcc.gnu.org/ml/gcc-patches/2000-07/msg00801.html
From: apbianco@cygnus.com
To: apbianco@cygnus.com, java-gnats@sourceware.cygnus.com, mark@klomp.org
Cc:
Subject: Re: gcj/256
Date: 21 Jul 2000 00:07:52 -0000
Synopsis: Cannot access static fields of static inner classes
State-Changed-From-To: feedback->closed
State-Changed-By: apbianco
State-Changed-When: Thu Jul 20 17:07:52 2000
State-Changed-Why:
I checked in a jumbo patch to fix gcj/256 (among other PRs:)
http://gcc.gnu.org/ml/gcc-patches/2000-07/msg00801.html
http://sources.redhat.com/cgi-bin/gnatsweb.pl?cmd=view&pr=256&database=java
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="patch"
MjAwMC0wNy0wNyAgQWxleGFuZHJlIFBldGl0LUJpYW5jbyAgPGFwYmlhbmNvQGN5Z251cy5jb20+
CgoJKiBwYXJzZS55IChyZXNvbHZlX3F1YWxpZmllZF9leHByZXNzaW9uX25hbWUpOiBIYW5kbGUg
aW5uZXIgY2xhc3MKCWFjY2Vzcy4gRml4ZXMgZ2NqLzI1Ni4KCkluZGV4OiBwYXJzZS55Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KZGlmZiAtdSAtcCBwYXJzZS55Ci0tLSBvbGQtcGFyc2UueQlUaHUgSnVsICA2IDIzOjQy
OjA1IDIwMDAKKysrIHBhcnNlLnkJRnJpIEp1bCAgNyAxNDozMTowNyAyMDAwCkBAIC05MTY5LDYg
KzkxNjksMjQgQEAgcmVzb2x2ZV9xdWFsaWZpZWRfZXhwcmVzc2lvbl9uYW1lICh3ZmwsIAogCSAg
ICAgIAogCSAgICAgIGZpZWxkX2RlY2wgPSBsb29rdXBfZmllbGRfd3JhcHBlciAodHlwZSwKIAkJ
CQkJCSBFWFBSX1dGTF9OT0RFIChxdWFsX3dmbCkpOworCisJICAgICAgLyogTWF5YmUgd2hhdCB3
ZSdyZSB0cnlpbmcgdG8gYWNjZXNzIGFuIGlubmVyIGNsYXNzLiAqLworCSAgICAgIGlmICghZmll
bGRfZGVjbCkKKwkJeworCQkgIHRyZWUgcHRyLCBpbm5lcl9kZWNsOworCisJCSAgQlVJTERfUFRS
X0ZST01fTkFNRSAocHRyLCBFWFBSX1dGTF9OT0RFIChxdWFsX3dmbCkpOworCQkgIGlubmVyX2Rl
Y2wgPSByZXNvbHZlX2NsYXNzIChkZWNsLCBwdHIsIE5VTExfVFJFRSwgcXVhbF93ZmwpOworCQkg
IGlmIChpbm5lcl9kZWNsKQorCQkgICAgeworCQkgICAgICBjaGVja19pbm5lcl9jbGFzc19hY2Nl
c3MgKGlubmVyX2RlY2wsIGRlY2wsIHF1YWxfd2ZsKTsgCisJCSAgICAgIHR5cGUgPSBUUkVFX1RZ
UEUgKGlubmVyX2RlY2wpOworCQkgICAgICBkZWNsID0gaW5uZXJfZGVjbDsKKwkJICAgICAgZnJv
bV90eXBlID0gMTsKKwkJICAgICAgY29udGludWU7CisJCSAgICB9CisJCX0KKwogCSAgICAgIGlm
IChmaWVsZF9kZWNsID09IE5VTExfVFJFRSkKIAkJewogCQkgIHBhcnNlX2Vycm9yX2NvbnRleHQg
Cg==
More information about the Gcc-prs
mailing list