[foreign-jextract] Using many headers splits generated code in package-private classes
Filip Krakowski
filip.krakowski at hhu.de
Fri Dec 11 17:41:33 UTC 2020
Hi,
looks like I wrote too soon and IntelliJ simply is not able to handle
the generated class files correctly. Is anyone using IntelliJ (2020.3)
and can confirm that it is not able to resolve generated methods which
are created in inner classes? This worked for me in the past.
Best regards
Filip
On 11.12.20 18:30, Filip Krakowski wrote:
> Hi,
>
> I am trying to generate bindings for the ucx library
> (https://github.com/openucx/ucx). The input I pass to jextract is the
> following header file (filename = "ucx.h", package = "org.openucx",
> source mode = false).
>
> /// OpenUCX Transports//
> //#include <uct/api/uct.h>//
> //
> //// OpenUCX Protocols//
> //#include <ucp/api/ucp.h>//
> //
> //// I/O Multiplexing//
> //#include <sys/epoll.h>//
> //#include <sys/eventfd.h>//
> //
> //// File descriptor utilities//
> //#include <fcntl.h>//
> //#include <unistd.h>/
>
> It looks like a large amount of the generated code ends up in numbered
> package-private classes. As an example, I can't access the
> MethodHandle for "eventfd" because it is in a package-private class
> named "org.openucx.ucx_h$1". If I remove the includes for
> "<uct/api/uct.h>" and "<ucp/api/ucp.h>" the generated method is
> created in class "org.openucx.ucx_h" where I can access it./
> //
> /Is there a way to access code generated in the other (numbered)
> package-private classes I'm missing?
>
> Best regards
> Filip
More information about the panama-dev
mailing list