<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class="">Yes, passing Java classes to the LLVM printPoint function works.</div><div class="">Using the “cpart.so” file from the JavaScript example, it could look like this:</div><div class=""><br class=""></div><div class=""><div class="">import <a href="http://java.io" class="">java.io</a>.*;</div><div class="">import org.graalvm.polyglot.*;</div><div class=""><br class=""></div><div class="">class Polyglot {</div><div class="">&nbsp; &nbsp; public static class Point {</div><div class="">&nbsp; &nbsp; &nbsp; &nbsp; public int x;</div><div class="">&nbsp; &nbsp; &nbsp; &nbsp; public int y;</div><div class="">&nbsp; &nbsp; }</div><div class="">&nbsp; &nbsp; public static void main(String[] args) throws IOException {</div><div class="">&nbsp; &nbsp; &nbsp; &nbsp; Context polyglot = Context.newBuilder().allowAllAccess(true).build();</div><div class="">&nbsp; &nbsp; &nbsp; &nbsp; File file = new File("cpart.so");</div><div class="">&nbsp; &nbsp; &nbsp; &nbsp; Source source = Source.newBuilder("llvm", file).build();</div><div class="">&nbsp; &nbsp; &nbsp; &nbsp; Value cpart = polyglot.eval(source);</div><div class="">&nbsp; &nbsp; &nbsp; &nbsp; Value printPoint = cpart.getMember("printPoint");</div><div class="">&nbsp; &nbsp; &nbsp; &nbsp; printPoint.execute(new Point());</div><div class="">&nbsp; &nbsp; }</div><div class="">}</div></div><div class=""><br class=""></div><div class=""><div class="">$ bin/javac Polyglot.java</div><div class="">$ bin/java Polyglot</div><div class="">Point&lt;0.000000,0.000000&gt;</div><div class=""><br class=""></div></div><div class="">Best,</div><div class="">&nbsp;Lukas<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On 21.01.2021, at 04:40, Darrell Schiebel &lt;<a href="mailto:darrell@schiebel.us" class="">darrell@schiebel.us</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html; charset=utf-8" class=""><div dir="ltr" class=""><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">I am trying to reproduce the JavaScript example at:</div><div class="gmail_default" style=""><ul style="" class=""><li style="" class=""><font face="verdana, sans-serif" class=""><a href="https://www.graalvm.org/reference-manual/llvm/Interoperability/" class="">https://www.graalvm.org/reference-manual/llvm/Interoperability/</a><br class=""></font></li></ul><div class=""><font face="verdana, sans-serif" class="">using Java instead of JavaScript. In general it is straightforward, but I'm having trouble passing a Java object to a C++ function&nbsp;to implement the equivalent of:</font></div><div class=""><font face="verdana, sans-serif" class=""><br class=""></font></div></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px" class=""><font face="monospace" class="">// Additionally, pass a JS object to a native function<br class="">cpart.printPoint({x: 17, y: 42});<span class="gmail_default" style="font-size:small"></span></font></blockquote><font face="verdana, sans-serif" class=""><span class="gmail_default" style="font-family:verdana,sans-serif;font-size:small"><div class=""><font face="verdana, sans-serif" class=""><span class="gmail_default" style="font-family:verdana,sans-serif;font-size:small"><br class=""></span></font></div></span>I<span class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">s it possible to pass a Point object declared and instantiated in Java to the LLVM printPoint function?</span></font><div class=""><font face="verdana, sans-serif" class=""><span class="gmail_default" style="font-family:verdana,sans-serif;font-size:small"><br class=""></span></font></div><div class=""><font face="verdana, sans-serif" class=""><span class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">thanks,</span></font></div><div class=""><font face="verdana, sans-serif" class=""><span class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">Darrell</span></font></div><div class=""><font face="verdana, sans-serif" class=""><span class="gmail_default" style="font-family:verdana,sans-serif;font-size:small"></span></font></div></div>
_______________________________________________<br class="">GraalVM-Users mailing list<br class=""><a href="mailto:GraalVM-Users@oss.oracle.com" class="">GraalVM-Users@oss.oracle.com</a><br class="">https://oss.oracle.com/mailman/listinfo/graalvm-users</div></blockquote></div><br class=""></div></body></html>