-
Notifications
You must be signed in to change notification settings - Fork 75
Description
This relates to version 1.0 - draft standard - June 16 2016 with the relevant section being 2.7.1.2 and 2.7.2.
My issue is that I'm unable to read a clear interpretation of how I should represent constant char encodings of length 1. e.g.:
<type name="CharConstant" primitiveType="char" presence="constant">P
It's clear that a char encoding without a presence="constant" is a single character and that if presence="constant" with a constant value of length > 1, then we are to use an array.
If the constant value is of length 1, then it would be possible to represent that as an array of length 1 or as a single char.
We might compare this to a string of length 1:
<type name="ascii1" primitiveType="char" semanticType="String" length="1" CharacterEncoding="ASCII"/>
In sbe-tool's Java generator, the character constant of length 1 is represented as a byte array of length 1, whereas the String of length 1 is represented as a single character. I'm happy with this interpretation but I'd like to see the spec be explicit.
It might be nice to be able to have a constant encoding of a character (rather than a String) but I can see you could accomplish that with an enum if it were not possible. Was this the intent?