GCJ and C++ (calling Java from C++)

Andi Vajda andi@osafoundation.org
Thu Dec 1 00:03:00 GMT 2005


On Wed, 30 Nov 2005, Lothar Werzinger wrote:

> I did check the generated headers and found something peculiar that may
> contribute to the problem I have calling the Java classes from C++.
>
> In Java the Addressable , Library and LibraryImpl classes looks like this:
>
>  public interface Addressable extends EObject
>  {
>    ...
>
>  public interface Library extends Addressable
>  {
>    ...
>
>  public class LibraryImpl extends EObjectImpl implements Library
>  {
>    ...
>
> in the generated headers from gcjh i get this:
>
>  class org::eclipse::emf::examples::extlibrary::Addressable
>  : public ::java::lang::Object
>  {
>    ...
>
>  class org::eclipse::emf::examples::extlibrary::Library
>  : public ::java::lang::Object
>  {
>    ...
>
>  class org::eclipse::emf::examples::extlibrary::impl::LibraryImpl
>  : public ::org::eclipse::emf::ecore::impl::EObjectImpl
>  {
>    ...
>
>
> So the LibraryImpl class misses the inheritance to the interface Library, the
> Library class misses the inheritance to the interface Addressable and the
> Addressable class misses the inheritance to EObject
>
>
> Thus I have the following questions:
>
> 1)
> Can this be the cause of the problems I have?
>
> 2)
> Is there a way to fix/work around this problem?

I've seen something similar caused by bug 15411. The workaround has been to 
manually declare the missing abstract methods in the java sources.

Andi..



More information about the Java mailing list