[foreign] RFR 8220544: Jextract; library dependent header filtering
Maurizio Cimadamore
maurizio.cimadamore at oracle.com
Thu Mar 14 11:01:51 UTC 2019
On 14/03/2019 00:14, Jorn Vernee wrote:
> 42 intermediate typedefs seems a bit extreme...
I agree - I was deliberately exaggerating for the sake of the example :-)
The main point is: a typedef is used to define a 'local' type name; that
is a type alias that is likely to be used consistently across the
library - as such, I think we should prioritize aliases introduced by
the root set, over aliases introduced deeper in the recursion chain.
Concrete example, OpenGL:
typedef void GLvoid;
When I see this, I can conclude with 99% certainty that the header will
prefer using GLvoid to just a plain void. Now, in this case, 'void' is a
primitive, and not another typedef, but the essence doesn't change - the
header is setting up its own hierarchy of types which will then be used
uniformly throughout. Leaking type names from lower layers seems a
source of confusion IMHO.
Maurizio
More information about the panama-dev
mailing list