mbeckerle commented on a change in pull request #259: Incremental progress on
schema compilation space/speed issue.
URL: https://github.com/apache/incubator-daffodil/pull/259#discussion_r301236902
##########
File path:
daffodil-core/src/main/scala/org/apache/daffodil/dsom/DFDLEscapeScheme.scala
##########
@@ -84,7 +84,8 @@ final class DFDLEscapeScheme(node: Node, decl:
AnnotatedSchemaComponent, defES:
final def escapeCharacterEv = LV('escapeCharacterEv) {
val qn = this.qNameForProperty("escapeCharacter")
- val expr = ExpressionCompilers.String.compileProperty(qn,
NodeInfo.NonEmptyString, escapeCharacterRaw, this, dpathCompileInfo)
+ val expr = ExpressionCompilers.String.compileProperty(qn,
NodeInfo.NonEmptyString, escapeCharacterRaw, this,
+ defES.pointOfUse.dpathCompileInfo)
Review comment:
Add doc. This use of the back pointer pointOfUse is *not* a problem to be
remedied, or at least is not a first-order concern for improving the schema
compiler. The expressions that are the escapeCharacter and
escapeEscapeCharacter, like all expressions, have to have the DPathCompileInfo
of the term where they apply, because they can contain relative paths, and
those relative paths affect compilation of the expression. So an escape scheme
object is effectively part of the state of the term which has that escape
scheme.
We could share more here if we instead just made the compileInfo of the
expressions passed in, rather than copying the whole object.
----------------------------------------------------------------
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:
[email protected]
With regards,
Apache Git Services