This is the mail archive of the gcc-prs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

java/1252: methods inheirited from base class are not resolved to interface



>Number:         1252
>Category:       java
>Synopsis:       methods inheirited from base class are not resolved to interface
>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:    Fri Jun 23 21:14:30 PDT 2000
>Last-Modified:  Fri Jun 23 21:15:59 PDT 2000
>Originator:     Fred Gray (fegray@uiuc.edu)
>Release:        current CVS
>Organization:
>Environment:
Debian GNU/Linux potato x86
>Description:
(The example below probably states this more clearly.)

If a class:
- inheirits methods from its superclass, and
- implements an interface which its superclass does not implement, and
- the inheirited methods ought to be part of the interface because their names and signatures match those declared in the interface, 

the inheirited methods are nevertheless not matched up to the interface.  
>How-To-Repeat:
Copy the following three files into a directory and 
attempt to compile with "gcj -c A.java":

// A.java
public class A extends B implements I
{
  public static void main(String args[])
  {
    A x = new A();
    x.m();
  }
}

// B.java
public class B
{
  public void m()
  {
  }
}

// I.java
public interface I
{
  public void m();
}

You will get the following error message:

A.java: In class `A':
A.java: In method `main(java.lang.String[])':
A.java:6: Can't find method `m()' in type `A'. Candidates are:
  `m()' in `I'
  `m()' in `B'.
    x.m();

Compiling the associated .class files works fine.
>Fix:

>Release-Note:
It turns out that I already checked in a fix for PR #234
when I updated the compiler yesterday:

  http://sourceware.cygnus.com/ml/java-discuss/2000-06/msg00051.html

How about sticking to this one and closing the PR?
>Audit-Trail:

Formerly PR gcj/234


From: Tom Tromey <tromey@cygnus.com>
To: fegray@uiuc.edu
Cc: java-gnats@sourceware.cygnus.com
Subject: Re: gcj/234: methods inheirited from base class are not resolved to interface
Date: Sun, 21 May 2000 22:10:44 -0700 (PDT)

 I'm checking this test case in.  I've also written a compiler patch.
 If Alex ok's it, I'll tell you.
 
 Tom
 

From: tromey@sourceware.cygnus.com
To: java-gnats@sourceware.cygnus.com
Cc:  
Subject: gcj/234
Date: 22 May 2000 05:14:38 -0000

 CVSROOT:	/cvs/java
 Module name:	libgcj
 Changes by:	tromey@sourceware.cygnus.com	00/05/21 22:14:38
 
 Modified files:
 	libjava/testsuite: ChangeLog 
 Added files:
 	libjava/testsuite/libjava.compile: PR234.java 
 
 Log message:
 	* libjava.compile/PR234.java: New file.  For PR gcj/234.
 
 Patches:
 http://gcc.gnu.org/cgi-bin/gcc/libjava/testsuite/ChangeLog.diff?cvsroot=java&r1=1.94&r2=1.95
 http://gcc.gnu.org/cgi-bin/gcc/libjava/testsuite/libjava.compile/PR234.java.diff?cvsroot=java&r1=NONE&r2=1.1
 
State-Changed-From-To: open->feedback
State-Changed-By: bryce
State-Changed-When: Thu Jun  8 22:56:46 2000
State-Changed-Why:
    I posted a patch for this:
    http://gcc.gnu.org/ml/gcc-patches/2000-06/msg00266.html

From: bryce@albatross.co.nz
To: apbianco@cygnus.com, fegray@uiuc.edu, java-gnats@sourceware.cygnus.com
Cc:  
Subject: Re: gcj/234
Date: 9 Jun 2000 05:56:46 -0000

 Synopsis: methods inheirited from base class are not resolved to interface
 
 State-Changed-From-To: open->feedback
 State-Changed-By: bryce
 State-Changed-When: Thu Jun  8 22:56:46 2000
 State-Changed-Why:
     I posted a patch for this:
     http://gcc.gnu.org/ml/gcc-patches/2000-06/msg00266.html
 
 http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=234&database=java
State-Changed-From-To: feedback->closed
State-Changed-By: bryce
State-Changed-When: Fri Jun 23 21:14:30 2000
State-Changed-Why:
    Alex's fix is in cvs and it looks fine.

From: bryce@albatross.co.nz
To: apbianco@cygnus.com, fegray@uiuc.edu, java-gnats@sourceware.cygnus.com
Cc:  
Subject: Re: gcj/234
Date: 24 Jun 2000 04:14:30 -0000

 Synopsis: methods inheirited from base class are not resolved to interface
 
 State-Changed-From-To: feedback->closed
 State-Changed-By: bryce
 State-Changed-When: Fri Jun 23 21:14:30 2000
 State-Changed-Why:
     Alex's fix is in cvs and it looks fine.
 
 http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=234&database=java
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="apbianco.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="apbianco.patch"

SW5kZXg6IHBhcnNlLnkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQpkaWZmIC11IC1wIHBhcnNlLnkKLS0tIC9ob21lL2Fw
YmlhbmNvL3NyYy9lZ2NzL2djYy9nY2MvamF2YS1yZWYvcGFyc2UueQlTdW4gSnVuIDE4IDIwOjA1
OjQwIDIwMDAKKysrIC9ob21lL2FwYmlhbmNvL3NyYy9lZ2NzL2djYy9nY2MvamF2YS9wYXJzZS55
CVR1ZSBKdW4gMjAgMTE6MjA6MDEgMjAwMApAQCAtMTAxODMsNiArMTAyMjksNyBAQCBmaW5kX21v
c3Rfc3BlY2lmaWNfbWV0aG9kc19saXN0IChsaXN0KQogICAgICB0cmVlIGxpc3Q7CiB7CiAgIGlu
dCBtYXggPSAwOworICBpbnQgYWJzdHJhY3QsIGNhbmRpZGF0ZXM7CiAgIHRyZWUgY3VycmVudCwg
bmV3X2xpc3QgPSBOVUxMX1RSRUU7CiAgIGZvciAoY3VycmVudCA9IGxpc3Q7IGN1cnJlbnQ7IGN1
cnJlbnQgPSBUUkVFX0NIQUlOIChjdXJyZW50KSkKICAgICB7CkBAIC0xMDIwOSwyNCArMTAyNTYs
MzMgQEAgZmluZF9tb3N0X3NwZWNpZmljX21ldGhvZHNfbGlzdCAobGlzdCkKICAgICB9CiAKICAg
LyogUmV2aWV3IHRoZSBsaXN0IGFuZCBzZWxlY3QgdGhlIG1heGltYWxseSBzcGVjaWZpYyBtZXRo
b2RzICovCi0gIGZvciAoY3VycmVudCA9IGxpc3Q7IGN1cnJlbnQ7IGN1cnJlbnQgPSBUUkVFX0NI
QUlOIChjdXJyZW50KSkKKyAgZm9yIChjdXJyZW50ID0gbGlzdCwgYWJzdHJhY3QgPSAtMSwgY2Fu
ZGlkYXRlcyA9IC0xOworICAgICAgIGN1cnJlbnQ7IGN1cnJlbnQgPSBUUkVFX0NIQUlOIChjdXJy
ZW50KSkKICAgICBpZiAoREVDTF9TUEVDSUZJQ19DT1VOVCAoVFJFRV9WQUxVRSAoY3VycmVudCkp
ID09IG1heCkKLSAgICAgIG5ld19saXN0ID0gdHJlZV9jb25zIChOVUxMX1RSRUUsIFRSRUVfVkFM
VUUgKGN1cnJlbnQpLCBuZXdfbGlzdCk7CisgICAgICB7CisJbmV3X2xpc3QgPSB0cmVlX2NvbnMg
KE5VTExfVFJFRSwgVFJFRV9WQUxVRSAoY3VycmVudCksIG5ld19saXN0KTsKKwlhYnN0cmFjdCAr
PSAoTUVUSE9EX0FCU1RSQUNUIChUUkVFX1ZBTFVFIChjdXJyZW50KSkgPyAxIDogMCk7CisJY2Fu
ZGlkYXRlcysrOworICAgICAgfQogCiAgIC8qIElmIHdlIGhhdmUgc2V2ZXJhbCBhbmQgdGhleSdy
ZSBhbGwgYWJzdHJhY3QsIGp1c3QgcGljayB0aGUKICAgICAgY2xvc2VzdCBvbmUuICovCisgIGlm
IChjYW5kaWRhdGVzID4gMCAmJiAoY2FuZGlkYXRlcyA9PSBhYnN0cmFjdCkpCisgICAgeworICAg
ICAgbmV3X2xpc3QgPSBucmV2ZXJzZSAobmV3X2xpc3QpOworICAgICAgVFJFRV9DSEFJTiAobmV3
X2xpc3QpID0gTlVMTF9UUkVFOworICAgIH0KIAotICBpZiAobmV3X2xpc3QgJiYgVFJFRV9DSEFJ
TiAobmV3X2xpc3QpKQorICAvKiBXZSBoYXZlIHNldmVyYWwsIHdlIGNvdWxkbid0IGZpbmQgYSBt
b3N0IHNwZWNpZmljLCBhbGwgYnV0IG9uZSBhcmUKKyAgICAgYWJzdHJhY3QsIHdlIHBpY2sgdGhl
IG9ubHkgbm9uIGFic3RyYWN0IG9uZS4gKi8KKyAgaWYgKGNhbmRpZGF0ZXMgPiAwICYmICFtYXgg
JiYgKGNhbmRpZGF0ZXMgPT0gYWJzdHJhY3QrMSkpCiAgICAgewotICAgICAgdHJlZSBjOwotICAg
ICAgZm9yIChjID0gbmV3X2xpc3Q7IGMgJiYgTUVUSE9EX0FCU1RSQUNUIChUUkVFX1ZBTFVFIChj
KSk7IAotCSAgIGMgPSBUUkVFX0NIQUlOIChjKSkKLSAgICAgICAgOwotICAgICAgaWYgKCFjKQot
CXsKLQkgIG5ld19saXN0ID0gbnJldmVyc2UgKG5ld19saXN0KTsKLQkgIFRSRUVfQ0hBSU4gKG5l
d19saXN0KSA9IE5VTExfVFJFRTsKLQl9CisgICAgICBmb3IgKGN1cnJlbnQgPSBuZXdfbGlzdDsg
Y3VycmVudDsgY3VycmVudCA9IFRSRUVfQ0hBSU4gKGN1cnJlbnQpKQorCWlmICghTUVUSE9EX0FC
U1RSQUNUIChUUkVFX1ZBTFVFIChjdXJyZW50KSkpCisJICB7CisJICAgIFRSRUVfQ0hBSU4gKGN1
cnJlbnQpID0gTlVMTF9UUkVFOworCSAgICBuZXdfbGlzdCA9IGN1cnJlbnQ7CisJICB9CiAgICAg
fQogCiAgIC8qIElmIHdlIGNhbid0IGZpbmQgb25lLCBsb3dlciBleHBlY3RhdGlvbnMgYW5kIHRy
eSB0byBnYXRoZXIgbXVsdGlwbGUK



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]