Hi,
First of all great work on Bridj, Jnaerator and JavaCl!
I think I've might have stumbled on a small bug in Jnaerator, running from the maven plugin.
When run with this small test sample above it hangs with this stack trace:
java.lang.NullPointerException
at com.ochafik.lang.jnaerator.BridJDeclarationsConverter.convertStruct(BridJDeclarationsConverter.java:633)
at com.ochafik.lang.jnaerator.DeclarationsConverter.outputConvertedStruct(DeclarationsConverter.java:635)
at com.ochafik.lang.jnaerator.DeclarationsConverter.convertStructs(DeclarationsConverter.java:688)
at com.ochafik.lang.jnaerator.DeclarationsConverter.fillLibraryMapping(DeclarationsConverter.java:909)
at com.ochafik.lang.jnaerator.BridJDeclarationsConverter.fillLibraryMapping(BridJDeclarationsConverter.java:946)
at com.ochafik.lang.jnaerator.BridJDeclarationsConverter.generateLibraryFiles(BridJDeclarationsConverter.java:1020)
at com.ochafik.lang.jnaerator.JNAerator.generateLibraryFiles(JNAerator.java:1493)
at com.ochafik.lang.jnaerator.JNAerator.jnaerationCore(JNAerator.java:1465)
at com.ochafik.lang.jnaerator.JNAerator.jnaerate(JNAerator.java:1018)
at com.ochafik.lang.jnaerator.JNAerator$1.finished(JNAerator.java:786)
at com.ochafik.lang.jnaerator.JNAeratorCommandLineArgs$ArgsParser.parse(JNAeratorCommandLineArgs.java:162)
at com.ochafik.lang.jnaerator.JNAerator.main(JNAerator.java:791)
at com.ochafik.lang.jnaerator.JNAerator.main(JNAerator.java:203)
at com.jnaerator.JNAeratorMojo.execute(JNAeratorMojo.java:110)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
If the constructor with parameter is removed it works again.
Hi, First of all great work on Bridj, Jnaerator and JavaCl! I think I've might have stumbled on a small bug in Jnaerator, running from the maven plugin.
Input header file:
ifndef TEST_HPP
define TEST_HPP
namespace testns { class TestClass { public: TestClass(); explicit TestClass(unsigned int* seed); }; }
endif
When run with this small test sample above it hangs with this stack trace:
java.lang.NullPointerException at com.ochafik.lang.jnaerator.BridJDeclarationsConverter.convertStruct(BridJDeclarationsConverter.java:633) at com.ochafik.lang.jnaerator.DeclarationsConverter.outputConvertedStruct(DeclarationsConverter.java:635) at com.ochafik.lang.jnaerator.DeclarationsConverter.convertStructs(DeclarationsConverter.java:688) at com.ochafik.lang.jnaerator.DeclarationsConverter.fillLibraryMapping(DeclarationsConverter.java:909) at com.ochafik.lang.jnaerator.BridJDeclarationsConverter.fillLibraryMapping(BridJDeclarationsConverter.java:946) at com.ochafik.lang.jnaerator.BridJDeclarationsConverter.generateLibraryFiles(BridJDeclarationsConverter.java:1020) at com.ochafik.lang.jnaerator.JNAerator.generateLibraryFiles(JNAerator.java:1493) at com.ochafik.lang.jnaerator.JNAerator.jnaerationCore(JNAerator.java:1465) at com.ochafik.lang.jnaerator.JNAerator.jnaerate(JNAerator.java:1018) at com.ochafik.lang.jnaerator.JNAerator$1.finished(JNAerator.java:786) at com.ochafik.lang.jnaerator.JNAeratorCommandLineArgs$ArgsParser.parse(JNAeratorCommandLineArgs.java:162) at com.ochafik.lang.jnaerator.JNAerator.main(JNAerator.java:791) at com.ochafik.lang.jnaerator.JNAerator.main(JNAerator.java:203) at com.jnaerator.JNAeratorMojo.execute(JNAeratorMojo.java:110) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
If the constructor with parameter is removed it works again.