<div style="font-family: Arial, sans-serif; font-size: 14px;">Hi,</div><div style="font-family: Arial, sans-serif; font-size: 14px;"><br></div><div style="font-family: Arial, sans-serif; font-size: 14px;">When I generate OpenGL bindings with JExtract, all methods having int/float/double arrays in the native interface have a Java sibling declared with an Addressable without more precise typing.</div><div style="font-family: Arial, sans-serif; font-size: 14px;"><br></div><div style="font-family: Arial, sans-serif; font-size: 14px;">E.g. in OpenGL C header files we have methods like</div><div style="font-family: Arial, sans-serif; font-size: 14px;"><span>public void glGetBooleanv(int pname, boolean[] data);</span><div><span>public void glGetDoublev(int pname, double[] data);</span></div><div><span>public void glGetFloatv(int pname, float[] data);</span></div><div><span>public void glGetIntegerv(int pname, int[] data);</span></div><div><span><br></span></div><div><span>These are getter methods that provide the array that will be filled according to the queried parameter defined by its pname id. </span></div><span></span><br></div><div style="font-family: Arial, sans-serif; font-size: 14px;">The generated java bindings loose information since they state : </div><div style="font-family: Arial, sans-serif; font-size: 14px;"><span>public void glGetBooleanv(int pname, Addressable data);</span><div><span>public void glGetDoublev(int pname, Addressable data);</span></div><div><span>public void glGetFloatv(int pname, Addressable data);</span></div><div><span>public void glGetIntegerv(int pname, Addressable data);</span></div><div><span><br></span></div><span></span></div><div style="font-family: Arial, sans-serif; font-size: 14px;">I wonder if it is possible to </div><div style="font-family: Arial, sans-serif; font-size: 14px;"><ul><li><span>dynamically ask to an Addressable the type it carries<br></span></li><li><span>ask JExtract to generate more precise types</span></li><li><span>if the idea of an Addressable<T> (rather than simple Addressable) has been discussed and why it has not been followed</span></li></ul></div><div style="font-family: Arial, sans-serif; font-size: 14px;"><br></div><div style="font-family: Arial, sans-serif; font-size: 14px;">In the case of OpenGL, I can deal with it since there exists a registry defining all functions with their typed parameters, so I can generate the code able to make such conversion - but I think that would be nice to get it out of the box with JExtract!</div><div style="font-family: Arial, sans-serif; font-size: 14px;"><br></div><div style="font-family: Arial, sans-serif; font-size: 14px;">Martin</div><div style="font-family: Arial, sans-serif; font-size: 14px;"><br></div><div style="font-family: Arial, sans-serif; font-size: 14px;"><br></div><div style="font-family: Arial, sans-serif; font-size: 14px;"> </div><div style="font-family: Arial, sans-serif; font-size: 14px;"><br></div><div style="font-family: Arial, sans-serif; font-size: 14px;"><br></div><div style="font-family: Arial, sans-serif; font-size: 14px;"><br></div><div style="font-family: Arial, sans-serif; font-size: 14px;"><br></div>
<div class="protonmail_signature_block" style="font-family: Arial, sans-serif; font-size: 14px;">
<div class="protonmail_signature_block-user protonmail_signature_block-empty">
</div>
<div class="protonmail_signature_block-proton">
Envoyé avec la messagerie sécurisée <a target="_blank" href="https://proton.me/" rel="noopener noreferrer">Proton Mail</a>.
</div>
</div>