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

Maurizio Cimadamore mcimadamore at openjdk.org
Tue Feb 20 12:30:08 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 476:

> 474:                     collectNestedTypes(m, nestedTypes, ignoreNestedParams);
> 475:                 } else {
> 476:                     Declaration decl = createTree(m);

note that the output of this method is only used by `withNestedTypes` which already filters the output, looking for scoped declarations. E.g. it has `d instanceof Scoped` which will fail if the decl is `null`. So I don't think this adds much, but perhaps it could be slightly cleaner to filter out nulls as you did.

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

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


More information about the jextract-dev mailing list