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: us...@infra.apache.org With regards, Apache Git Services