Build: #228 was successful Changes by Steve Lawrence
Code commits
daffodil
-
Steve Lawrence 9311c70d22e499b701a9900132d9a1e50d91283e
Ensure Bit/ByteOrderChange parsers always exist at root
If the dfdl:byteOrder or dfdl:bitOrder properties were not provided,
Daffodil did not complain, and it would not insert a Bit/ByteOrderChange
parser at root. This meant that Daffodil would use a default value,
which in some cases caused incorrect behavior. It also meant that the
check for valid bit and byte orders (e.g. not bigEndian &
leastSignificantBitFirst) never occurred since that only happend in
ByteOrderChange parsers, meaning it could allow invalid bit/byte order
combinations.
This changes Daffodil so the root element will always insert Bit and
ByteOrderChange parsers, ensuring that the validity of the properties
are correct and ensuring correct parsing/unparsing. This means that
byteOrder is now always required, even in some cases where it might not
technically be needed.
This also modifies the initial UState/PState creation to not set
bit/byte order, but to instead rely on the Bit/ByteOrderChange parsers
to always be inserted first thing.
DFDL-1835- daffodil-core/src/main/scala/edu/illinois/ncsa/daffodil/grammar/BitOrderMixin.scala (version 9311c70d22e499b701a9900132d9a1e50d91283e) (diffs)
- daffodil-core/src/main/scala/edu/illinois/ncsa/daffodil/grammar/ByteOrderMixin.scala (version 9311c70d22e499b701a9900132d9a1e50d91283e) (diffs)
- daffodil-io/src/main/scala/edu/illinois/ncsa/daffodil/io/ByteBufferDataInputStream.scala (version 9311c70d22e499b701a9900132d9a1e50d91283e) (diffs)
- daffodil-runtime1/src/main/scala/edu/illinois/ncsa/daffodil/processors/Runtime.scala (version 9311c70d22e499b701a9900132d9a1e50d91283e) (diffs)
- daffodil-runtime1/src/main/scala/edu/illinois/ncsa/daffodil/processors/parsers/PState.scala (version 9311c70d22e499b701a9900132d9a1e50d91283e) (diffs)
- daffodil-test/src/test/resources/edu/illinois/ncsa/daffodil/ibm-tests/dpaflsenc101_04_01.dfdl.xsd (version 9311c70d22e499b701a9900132d9a1e50d91283e) (diffs)
- daffodil-test/src/test/resources/edu/illinois/ncsa/daffodil/section05/simple_types/BitOrder.tdml (version 9311c70d22e499b701a9900132d9a1e50d91283e) (diffs)
- daffodil-test/src/test/resources/edu/illinois/ncsa/daffodil/section06/namespaces/multi_A_03.dfdl.xsd (version 9311c70d22e499b701a9900132d9a1e50d91283e) (diffs)
- daffodil-test/src/test/resources/edu/illinois/ncsa/daffodil/section06/namespaces/multi_B_08.dfdl.xsd (version 9311c70d22e499b701a9900132d9a1e50d91283e) (diffs)
- daffodil-test/src/test/resources/edu/illinois/ncsa/daffodil/section06/namespaces/multi_base_03.dfdl.xsd (version 9311c70d22e499b701a9900132d9a1e50d91283e) (diffs)
- daffodil-test/src/test/resources/edu/illinois/ncsa/daffodil/section13/text_number_props/TextNumberProps.tdml (version 9311c70d22e499b701a9900132d9a1e50d91283e) (diffs)
- daffodil-test/src/test/resources/edu/illinois/ncsa/daffodil/section15/choice_groups/choice.dfdl.xsd (version 9311c70d22e499b701a9900132d9a1e50d91283e) (diffs)
- daffodil-test/src/test/resources/edu/illinois/ncsa/daffodil/section16/array_optional_elem/arrays_optional_elements.dfdl.xsd (version 9311c70d22e499b701a9900132d9a1e50d91283e) (diffs)
-
Steve Lawrence 5a335fbe656a5b4995b97054c1b28cf0b68f071c
Calculate the approximate length of delimited and pattern lengthKinds for alignment
By assuming the length of delimited and pattern lengthKinds was 1,
Daffodil was unable to optimize out some alignment unparsers, which
could lead to deadlocks.
This changes that so the length of delimited or pattern lengthKinds is a
multiple of the length of the encoding. This allows Daffodil to optimize
out some alignment unparsers and prevent deadlocks.
DFDL-1836