Java: Miranda methods fix - PR 12254
Michael Koch
konqueror@gmx.de
Tue Sep 16 09:24:00 GMT 2003
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Am Dienstag, 16. September 2003 09:49 schrieb Bryce McKinlay:
> Miranda methods are those defined in an interface and implemented
> by an abstract class that does not explicitly redeclare or define
> them. A recent patch fixed/improved the way these "miranda methods"
> are implemented in GCJ, however it caused a problem which broke
> libgcj's networking code:
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12254
>
> The problem seems to be that the order in which methods in an
> interface are seen by add_miranda_methods is dependent on whether
> that interface has previously been "laid out" by
> layout_class_methods - order matters for the current Java ABI. The
> solution is to call layout_class_methods explicitly on
> super-interfaces prior to checking them for miranda methods.
>
> This patch also modifies make_class_data so miranda methods are not
> included in abstract classes reflection data.
>
> OK to commit?
I vote for it as this fixes the recent miranda method bug with
gnu.java.net.Plain*SocketImpl.
Michael
- --
Homepage: http://www.worldforge.org/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)
iD8DBQE/ZsvXWSOgCCdjSDsRAt2XAJ9QXGH5upzDI0WYu+/1kHT6tBaKygCfYpps
Rb6GfGBHr0Z8mQiu14OofxQ=
=V6Hk
-----END PGP SIGNATURE-----
More information about the Java-patches
mailing list