Github user mbeckerle commented on a diff in the pull request:
https://github.com/apache/incubator-daffodil/pull/5#discussion_r149841148
--- Diff:
daffodil-core/src/main/scala/edu/illinois/ncsa/daffodil/dsom/ModelGroup.scala
---
@@ -115,118 +170,47 @@ abstract class ModelGroup(xmlArg: Node, parentArg:
SchemaComponent, position: In
def modelGroupRuntimeData: ModelGroupRuntimeData
- final lazy val gRefNonDefault: Option[ChainPropProvider] = groupRef.map
{ _.nonDefaultFormatChain }
- final lazy val gRefDefault: Option[ChainPropProvider] = groupRef.map {
_.defaultFormatChain }
-
- final def nonDefaultPropertySources = LV('nonDefaultPropertySources) {
- val seq = (gRefNonDefault.toSeq ++
Seq(this.nonDefaultFormatChain)).distinct
- checkNonOverlap(seq)
- seq
- }.value
-
- final def defaultPropertySources = LV('defaultPropertySources) {
- val seq = (gRefDefault.toSeq ++ Seq(this.defaultFormatChain)).distinct
- seq
- }.value
+ protected final lazy val prettyBaseName = xml.label
- protected final lazy val prettyBaseName = xmlArg.label
+ def xmlChildren: Seq[Node]
- protected def xmlChildren: Seq[Node]
-
- private def goodXmlChildren = LV('goodXMLChildren) { xmlChildren.flatMap
{ removeNonInteresting(_) } }.value
- private lazy val positions = List.range(1, goodXmlChildren.length + 1)
// range is exclusive on 2nd arg. So +1.
- private lazy val pairs = goodXmlChildren zip positions
-
- final lazy val sequenceChildren = groupMembers.collect { case s:
Sequence => s }
- final lazy val choiceChildren = groupMembers.collect { case s: Choice =>
s }
+ final lazy val sequenceChildren = groupMembers.collect { case s:
SequenceBase => s }
+ final lazy val choiceChildren = groupMembers.collect { case s:
ChoiceBase => s }
final lazy val groupRefChildren = groupMembers.collect { case s:
GroupRef => s }
- final def group = this
-
- final lazy val groupMembers = {
- pairs.flatMap {
- case (n, i) =>
- termFactory(n, this, i)
- }
- }
+ def group = this
final override lazy val termChildren = groupMembers
--- End diff --
Try to get rid of these renamings. They just introduce additional names we
have to understand. In this case getting rid of termChildren is the right
thing. All the groupMembers are always Term, so there can't be any other kind
of children.
---