Github user stevedlawrence commented on a diff in the pull request:
https://github.com/apache/incubator-daffodil/pull/12#discussion_r154090337
--- Diff:
daffodil-core/src/main/scala/edu/illinois/ncsa/daffodil/dsom/RuntimePropertyMixins.scala
---
@@ -252,11 +265,20 @@ trait ElementRuntimeValuedPropertiesMixin
ExpressionCompilers.String.compile(qn, NodeInfo.NonEmptyString,
byteOrderRaw)
}.value
- final lazy val byteOrderEv = LV('byteOrderEv) {
- val ev = new ByteOrderEv(byteOrderExpr, elementRuntimeData)
- ev.compile()
- ev
- }.value
+ final lazy val byteOrderEv = {
+ byteOrderRaw // must be defined
--- End diff --
This is different than fillByteEv and binaryFloatRepEv. Those just do a get
without calling the raw to make sure it exists. Should fillByte and
binaryFloatRepEv be doing the same thing as this? Are the maybe versions even
necessary? Looks like they're just always calling .get without checking if they
are Nope or not.
---