- combine_fields(+Fields:list, +MsgDict0, -MsgDict) is det[private]
- Combines the fields into a dict and sets missing fields to their default values.
If the field is marked as 'norepeat' (optional/required), then the last
occurrence is kept (as per the protobuf wire spec)
If the field is marked as 'repeat', then all the occurrences
are put into a list, in order.
This code assumes that fields normally occur all together, but can handle
(less efficiently) fields not occurring together, as is allowed
by the protobuf spec.