RFR: 7903674: jextract should ignore non-enum constants inside enum [v2]

Maurizio Cimadamore mcimadamore at openjdk.org
Tue Feb 20 12:27:04 UTC 2024


On Tue, 20 Feb 2024 07:41:11 GMT, Athijegannathan Sundararajan <sundar at openjdk.org> wrote:

>> * checking cursor kind of child cursor to be CursorKind.EnumConstantDecl. 
>> * Piggybacking to fix similar check of record child element kinds to be CursorKind.FieldDecl.  
>> * Added null check for createTree return value in collectNestedTypes method as well.
>> * In addition to jextract tests, I ran all samples on Mac OS. All fine with this change. Also, ran jextract script for Mac OS from  https://github.com/manuelbl/JavaDoesUSB.git.
>
> Athijegannathan Sundararajan has updated the pull request incrementally with one additional commit since the last revision:
> 
>   moved nested 'if' inside 'else' as 'else if'

src/main/java/org/openjdk/jextract/impl/TreeMaker.java line 292:

> 290:                         // process struct recursively
> 291:                         pendingFields.add(recordDeclaration(parent, fc).tree());
> 292:                     } else if (fc.kind() == CursorKind.FieldDecl) {

This extra check seems not very useful. Note that this section is guarded by "isFlattenable" which will exclude attributes, and stuff that we do not support.

-------------

PR Review Comment: https://git.openjdk.org/jextract/pull/221#discussion_r1495731059


More information about the jextract-dev mailing list