<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 &lt;<a href="mailto:lukas.stadler@oracle.com" target="_blank">lukas.stadler@oracle.com</a>&gt; 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(&quot;cpart.so&quot;);</div><div>        Source source = Source.newBuilder(&quot;llvm&quot;, file).build();</div><div>        Value cpart = polyglot.eval(source);</div><div>        Value printPoint = cpart.getMember(&quot;printPoint&quot;);</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&lt;0.000000,0.000000&gt;</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 &lt;<a href="mailto:darrell@schiebel.us" target="_blank">darrell@schiebel.us</a>&gt; 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&#39;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>