Trivial compiler warning from generated code
Duncan Gittins
duncan.gittins at gmail.com
Thu Feb 15 12:23:31 UTC 2024
These are trivial issues I noted when re-building with latest jextract
master (am now using LLVM13).
I put all my generated code into a module definition which exports each
package generated by jextract. The compiler warns that there are no
explicit contructors for each interface class type, such as the inner or
top level interface handlers such as IUnknownVtbl.QueryInterface and
LPHANDLER_FUNCTION_EX:
[javac]
C:\mymoduleproject\generated\some\package\name\IUnknownVtbl.java:48:
warning: [missing-explicit-ctor] class IUnknownVtbl.QueryInterface in
exported package some.package.name declares no explicit constructors,
thereby exposing a default constructor to clients of module mymoduleproject
[javac] public class QueryInterface {
Also, shouldn't the inner classes for interfaces - like
IUnknownVtbl.QueryInterface - be declared as static? I assume that means
the code generated could be a tiny amount smaller as no implicit
parent$this.
Headers used: #include <objbase.h> + #include <shlobj_core.h>
Kind regards
Duncan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/jextract-dev/attachments/20240215/c40c2b43/attachment-0001.htm>
More information about the jextract-dev
mailing list