<div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">Beautiful, thanks very much Lukas!</div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jan 21, 2021 at 9:11 AM Lukas Stadler <<a href="mailto:lukas.stadler@oracle.com" target="_blank">lukas.stadler@oracle.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div>Yes, passing Java classes to the LLVM printPoint function works.</div><div>Using the “cpart.so” file from the JavaScript example, it could look like this:</div><div><br></div><div><div>import <a href="http://java.io" target="_blank">java.io</a>.*;</div><div>import org.graalvm.polyglot.*;</div><div><br></div><div>class Polyglot {</div><div> public static class Point {</div><div> public int x;</div><div> public int y;</div><div> }</div><div> public static void main(String[] args) throws IOException {</div><div> Context polyglot = Context.newBuilder().allowAllAccess(true).build();</div><div> File file = new File("cpart.so");</div><div> Source source = Source.newBuilder("llvm", file).build();</div><div> Value cpart = polyglot.eval(source);</div><div> Value printPoint = cpart.getMember("printPoint");</div><div> printPoint.execute(new Point());</div><div> }</div><div>}</div></div><div><br></div><div><div>$ bin/javac Polyglot.java</div><div>$ bin/java Polyglot</div><div>Point<0.000000,0.000000></div><div><br></div></div><div>Best,</div><div> Lukas<br><div><br><blockquote type="cite"><div>On 21.01.2021, at 04:40, Darrell Schiebel <<a href="mailto:darrell@schiebel.us" target="_blank">darrell@schiebel.us</a>> wrote:</div><br><div><div dir="ltr"><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"><ul><li><font face="verdana, sans-serif"><a href="https://www.graalvm.org/reference-manual/llvm/Interoperability/" target="_blank">https://www.graalvm.org/reference-manual/llvm/Interoperability/</a><br></font></li></ul><div><font face="verdana, sans-serif">using Java instead of JavaScript. In general it is straightforward, but I'm having trouble passing a Java object to a C++ function to implement the equivalent of:</font></div><div><font face="verdana, sans-serif"><br></font></div></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><font face="monospace">// Additionally, pass a JS object to a native function<br>cpart.printPoint({x: 17, y: 42});<span class="gmail_default" style="font-size:small"></span></font></blockquote><font face="verdana, sans-serif"><span class="gmail_default" style="font-family:verdana,sans-serif;font-size:small"><div><font face="verdana, sans-serif"><span class="gmail_default" style="font-family:verdana,sans-serif;font-size:small"><br></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><font face="verdana, sans-serif"><span class="gmail_default" style="font-family:verdana,sans-serif;font-size:small"><br></span></font></div><div><font face="verdana, sans-serif"><span class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">thanks,</span></font></div><div><font face="verdana, sans-serif"><span class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">Darrell</span></font></div><div><font face="verdana, sans-serif"><span class="gmail_default" style="font-family:verdana,sans-serif;font-size:small"></span></font></div></div>
_______________________________________________<br>GraalVM-Users mailing list<br><a href="mailto:GraalVM-Users@oss.oracle.com" target="_blank">GraalVM-Users@oss.oracle.com</a><br><a href="https://oss.oracle.com/mailman/listinfo/graalvm-users" target="_blank">https://oss.oracle.com/mailman/listinfo/graalvm-users</a></div></blockquote></div><br></div></div></blockquote></div>