This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
java/1256: Bad error message trying to use Class.this notation on a non-enclosing class
- To: java-gnats at sourceware dot cygnus dot com
- Subject: java/1256: Bad error message trying to use Class.this notation on a non-enclosing class
- From: bryce at albatross dot co dot nz
- Date: 23 May 2000 07:59:38 -0000
- Reply-To: bryce at albatross dot co dot nz
>Number: 1256
>Category: java
>Synopsis: Bad error message trying to use Class.this notation on a non-enclosing class
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: apbianco
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed Dec 20 12:18:18 PST 2000
>Closed-Date: Thu Jul 20 17:06:36 PDT 2000
>Last-Modified: Thu Jul 20 17:16:01 PDT 2000
>Originator: Bryce McKinlay
>Release: gcj 20000520 with PR 177 patch applied
>Organization:
>Environment:
>Description:
gcj doesnt give a useful error message when erronously
using ClassName.this notation on a class which isn't
enclosing the current class:
$ gcj -c PR239.java
PR239.java: In class `PR239$A':
PR239.java: In method `a()':
PR239.java:7: No case for tree code `identifier_node' - java_complete_tree
>How-To-Repeat:
Try to compile this test case:
public class PR239
{
class A
{
void a()
{
B.this.b();
}
}
class B
{
void b() {}
}
}
>Fix:
Source parser needs to check that ClassName is an enclosing
class and throw an appropriate error if it isn't.
>Release-Note:
>Audit-Trail:
Formerly PR gcj/239
State-Changed-From-To: open->feedback
State-Changed-By: apbianco
State-Changed-When: Mon Jul 10 21:21:30 2000
State-Changed-Why:
I attached a patch. Let me know.
From: apbianco@cygnus.com
To: apbianco@cygnus.com, bryce@albatross.co.nz,
java-gnats@sourceware.cygnus.com
Cc:
Subject: Re: gcj/239
Date: 11 Jul 2000 04:21:30 -0000
Synopsis: Bad error message trying to use Class.this notation on a non-enclosing class
State-Changed-From-To: open->feedback
State-Changed-By: apbianco
State-Changed-When: Mon Jul 10 21:21:30 2000
State-Changed-Why:
I attached a patch. Let me know.
http://sources.redhat.com/cgi-bin/gnatsweb.pl?cmd=view&pr=239&database=java
State-Changed-From-To: feedback->closed
State-Changed-By: apbianco
State-Changed-When: Thu Jul 20 17:06:36 2000
State-Changed-Why:
I checked in a jumbo patch that fixes gcj/239 (among other PRs:)
http://gcc.gnu.org/ml/gcc-patches/2000-07/msg00801.html
From: apbianco@cygnus.com
To: apbianco@cygnus.com, bryce@albatross.co.nz,
java-gnats@sourceware.cygnus.com
Cc:
Subject: Re: gcj/239
Date: 21 Jul 2000 00:06:36 -0000
Synopsis: Bad error message trying to use Class.this notation on a non-enclosing class
State-Changed-From-To: feedback->closed
State-Changed-By: apbianco
State-Changed-When: Thu Jul 20 17:06:36 2000
State-Changed-Why:
I checked in a jumbo patch that fixes gcj/239 (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=239&database=java
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="patch"
MjAwMC0wNy0xMCAgQWxleGFuZHJlIFBldGl0LUJpYW5jbyAgPGFwYmlhbmNvQGN5Z251cy5jb20+
CgoJKiBwYXJzZS55IChyZXNvbHZlX3F1YWxpZmllZF9leHByZXNzaW9uX25hbWUpOiBWZXJpZnkg
cXVhbGlmaWVkCglhY2Nlc3MgdG8gYHRoaXMuJyBGaXhlcyBnY2ovMjM5LgoKSW5kZXg6IHBhcnNl
LnkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQpkaWZmIC11IC1wIHBhcnNlLnkKLS0tIG9sZC1wYXJzZS55CVN1biBKdWwg
IDkgMjA6MTg6NDcgMjAwMAorKysgcGFyc2UueQlNb24gSnVsIDEwIDEzOjE3OjE4IDIwMDAKQEAg
LTkwMDEsOSArOTAxNSwxOSBAQCByZXNvbHZlX3F1YWxpZmllZF9leHByZXNzaW9uX25hbWUgKHdm
bCwgCiAJICAgICAgKndoZXJlX2ZvdW5kID0gZGVjbCA9IGN1cnJlbnRfdGhpczsKIAkgICAgICAq
dHlwZV9mb3VuZCA9IHR5cGUgPSBRVUFMX0RFQ0xfVFlQRSAoZGVjbCk7CiAJICAgIH0KLQkgIC8q
IFdlJ3JlIHRyeWluZyB0byBhY2Nlc3MgdGhlIHRoaXMgZnJvbSBzb21ld2hlcmUgZWxzZS4uLiAq
LworCSAgLyogV2UncmUgdHJ5aW5nIHRvIGFjY2VzcyB0aGUgdGhpcyBmcm9tIHNvbWV3aGVyZSBl
bHNlLiBNYWtlIHN1cmUKKwkgICAgIGl0J3MgYWxsb3dlZCBiZWZvcmUgZG9pbmcgc28uICovCiAJ
ICBlbHNlCiAJICAgIHsKKwkgICAgICBpZiAoIWVuY2xvc2luZ19jb250ZXh0X3AgKHR5cGUsIGN1
cnJlbnRfY2xhc3MpKQorCQl7CisJCSAgY2hhciAqcCAgPSB4c3RyZHVwIChsYW5nX3ByaW50YWJs
ZV9uYW1lICh0eXBlLCAwKSk7CisJCSAgcGFyc2VfZXJyb3JfY29udGV4dCAocXVhbF93ZmwsICJD
YW4ndCB1c2UgdmFyaWFibGUgYCVzLnRoaXMnOiB0eXBlIGAlcycgaXNuJ3QgYW4gb3V0ZXIgdHlw
ZSBvZiB0eXBlIGAlcyciLCAKKwkJCQkgICAgICAgcCwgcCwgCisJCQkJICAgICAgIGxhbmdfcHJp
bnRhYmxlX25hbWUgKGN1cnJlbnRfY2xhc3MsIDApKTsKKwkJICBmcmVlIChwKTsKKwkJICByZXR1
cm4gMTsKKwkJfQogCSAgICAgICp3aGVyZV9mb3VuZCA9IGRlY2wgPSBidWlsZF9jdXJyZW50X3Ro
aXNuICh0eXBlKTsKIAkgICAgICBmcm9tX3F1YWxpZmllZF90aGlzID0gMTsKIAkgICAgfQo=