RFR: 7903637: Use holder classes for string constants

Jorn Vernee jvernee at openjdk.org
Mon Jan 22 18:54:56 UTC 2024


On Mon, 22 Jan 2024 18:42:58 GMT, Maurizio Cimadamore <mcimadamore at openjdk.org> wrote:

>> Use holder class idiom for string constants (See JBS issue for motivation).
>> 
>> The code in `emitConstant` is a bit copy-pasty. We need to strike a balance between giving a clear picture of the generated code by using a single string template as much as possible, and reducing duplication by splitting the templates up and weaving in more control flow.
>> 
>> I went with the repeated, but clearer approach here of having 2 separate templates. Let me know if you'd like me to change that.
>
> src/main/java/org/openjdk/jextract/impl/HeaderFileBuilder.java line 397:
> 
>> 395:     private void emitConstant(Class<?> javaType, String constantName, Object value, Declaration declaration) {
>> 396:         incrAlign();
>> 397:         boolean useHolderClass = value instanceof String;
> 
> maybe `isString` would be a better name

I'll just drop the intermediate variable

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

PR Review Comment: https://git.openjdk.org/jextract/pull/191#discussion_r1462273037


More information about the jextract-dev mailing list