bsloane1650 commented on a change in pull request #324: WIP: DAFFODIL-1444 
Schema Compiler Space/Speed
URL: https://github.com/apache/incubator-daffodil/pull/324#discussion_r379465273
 
 

 ##########
 File path: 
daffodil-core/src/main/scala/org/apache/daffodil/dsom/AnnotatedSchemaComponent.scala
 ##########
 @@ -200,6 +202,41 @@ abstract class AnnotatedSchemaComponentImpl(
     this(xml, Option(lexicalParent))
 }
 
+/**
+ * Identifies the property environment of a term.
+ *
+ * If two terms have the same propEnv and same def/decl, then some things can 
be shared
+ * about their implementation.
+ *
+ * If they have different propEnv, then all bets are off.
+ *
+ * Can be used as a key for whether to create new instance in a factory, or 
whether one
+ * can be re-used because the property environment is the same.
+ *
+ * The trick is that the regular objects which carry properties have location 
information
+ * unique to where they originate (for diagnostic messaging purposes).
+ *
+ * What we want is pure value based - depends on the properties and their 
values only.
+ */
+case class PropEnv(localProps: Seq[Set[(String, String)]], defaultPropSource: 
Seq[Set[(String, String)]], optNext: Option[scala.xml.Node]) {
 
 Review comment:
   Can we document more explicitly what each of the fields are? Particularly, 
the Seq[Set[...]] surprises me; I would have expected just Set[...]

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to