Skip to content

Inconsistent handling of constant presence in groupSizeEncoding #918

Open
@lukepalmer

Description

@lukepalmer

I'm new here, but believe I observe the following:

For the composite 'groupSizeEncoding' an encoder/decoder class will be generated, but not used. Code for handling the repeating group will be separately generated at point of usage based on the composite definition in the spec. This is, at least, confusing.

If the blockLength type interior to groupSizeEncoding is specified like:
<type name="blockLength" primitiveType="uint16" presence="constant">0</type>

The unused generated decoder will correctly implement the constant presence, but the point of usage code will ignore constant presence. The two copies of the code will have incompatible size and offsets. This seems incorrect.

Would it be accurate to say that constant presence for blockLength is not supported? If so, would it make sense for a specification like this to cause an error, rather than generating unexpected code?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions