This is an automated email from the ASF dual-hosted git repository.

mbeckerle pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-daffodil.git


The following commit(s) were added to refs/heads/master by this push:
     new 17a381f  RuntimeData objects should not carry namespaces
17a381f is described below

commit 17a381f08a0dd77fd423c87a23625870382d9ca3
Author: John Interrante <[email protected]>
AuthorDate: Fri Apr 17 09:04:09 2020 -0400

    RuntimeData objects should not carry namespaces
    
    Ensure RuntimeData and derived classes get their namespaces from their
    DPathCompileInfo objects, preventing redundant storage of the
    DPathCompileInfo objects' namespaces.  Make sure callers like
    ChoiceTermRuntine1Mixin, ElementBaseRuntime1Mixin,
    SequenceTermRuntime1Mixin pass just DPathCompileInfo objects, not
    namespaces as well.
    
    DAFFODIL-1326
---
 .../apache/daffodil/runtime1/ChoiceTermRuntime1Mixin.scala   |  1 -
 .../apache/daffodil/runtime1/ElementBaseRuntime1Mixin.scala  |  1 -
 .../apache/daffodil/runtime1/SequenceTermRuntime1Mixin.scala |  2 --
 .../org/apache/daffodil/debugger/InteractiveDebugger.scala   |  4 ++--
 .../scala/org/apache/daffodil/processors/RuntimeData.scala   | 12 ++++--------
 5 files changed, 6 insertions(+), 14 deletions(-)

diff --git 
a/daffodil-core/src/main/scala/org/apache/daffodil/runtime1/ChoiceTermRuntime1Mixin.scala
 
b/daffodil-core/src/main/scala/org/apache/daffodil/runtime1/ChoiceTermRuntime1Mixin.scala
index 1e9adea..a50420a 100644
--- 
a/daffodil-core/src/main/scala/org/apache/daffodil/runtime1/ChoiceTermRuntime1Mixin.scala
+++ 
b/daffodil-core/src/main/scala/org/apache/daffodil/runtime1/ChoiceTermRuntime1Mixin.scala
@@ -186,7 +186,6 @@ trait ChoiceTermRuntime1Mixin { self: ChoiceTermBase =>
       dpathCompileInfo,
       diagnosticDebugName,
       path,
-      namespaces,
       defaultBitOrder,
       groupMembersRuntimeData,
       isRepresented,
diff --git 
a/daffodil-core/src/main/scala/org/apache/daffodil/runtime1/ElementBaseRuntime1Mixin.scala
 
b/daffodil-core/src/main/scala/org/apache/daffodil/runtime1/ElementBaseRuntime1Mixin.scala
index 4a38540..36e8ef1 100644
--- 
a/daffodil-core/src/main/scala/org/apache/daffodil/runtime1/ElementBaseRuntime1Mixin.scala
+++ 
b/daffodil-core/src/main/scala/org/apache/daffodil/runtime1/ElementBaseRuntime1Mixin.scala
@@ -175,7 +175,6 @@ trait ElementBaseRuntime1Mixin { self: ElementBase =>
       schemaFileLocation,
       diagnosticDebugName,
       path,
-      namespaces,
       minimizedScope,
       defaultBitOrder,
       optPrimType,
diff --git 
a/daffodil-core/src/main/scala/org/apache/daffodil/runtime1/SequenceTermRuntime1Mixin.scala
 
b/daffodil-core/src/main/scala/org/apache/daffodil/runtime1/SequenceTermRuntime1Mixin.scala
index fe760e9..711ac92 100644
--- 
a/daffodil-core/src/main/scala/org/apache/daffodil/runtime1/SequenceTermRuntime1Mixin.scala
+++ 
b/daffodil-core/src/main/scala/org/apache/daffodil/runtime1/SequenceTermRuntime1Mixin.scala
@@ -37,7 +37,6 @@ trait SequenceTermRuntime1Mixin { self: SequenceTermBase =>
       dpathCompileInfo,
       diagnosticDebugName,
       path,
-      namespaces,
       defaultBitOrder,
       groupMembersRuntimeData,
       isRepresented,
@@ -64,7 +63,6 @@ trait ChoiceBranchImpliedSequenceRuntime1Mixin { self: 
ChoiceBranchImpliedSequen
       dpathCompileInfo,
       diagnosticDebugName,
       path,
-      namespaces,
       defaultBitOrder,
       groupMembersRuntimeData,
       isRepresented,
diff --git 
a/daffodil-runtime1/src/main/scala/org/apache/daffodil/debugger/InteractiveDebugger.scala
 
b/daffodil-runtime1/src/main/scala/org/apache/daffodil/debugger/InteractiveDebugger.scala
index 5aaddf3..c475cf8 100644
--- 
a/daffodil-runtime1/src/main/scala/org/apache/daffodil/debugger/InteractiveDebugger.scala
+++ 
b/daffodil-runtime1/src/main/scala/org/apache/daffodil/debugger/InteractiveDebugger.scala
@@ -303,7 +303,7 @@ class InteractiveDebugger(runner: 
InteractiveDebuggerRunner, eCompilers: Express
         val hostForDiags = new DebuggerHost(state.tunable)
         val ce = eCompilers.JBoolean.compileExpression(
           debuggerQName,
-          NodeInfo.Boolean, expression, processor.context.namespaces, 
context.dpathCompileInfo, false,
+          NodeInfo.Boolean, expression, context.dpathCompileInfo.namespaces, 
context.dpathCompileInfo, false,
           hostForDiags, context.dpathCompileInfo)
         val warnings = hostForDiags.getDiagnostics.filterNot(_.isError)
         warnings.foreach {
@@ -1039,7 +1039,7 @@ class InteractiveDebugger(runner: 
InteractiveDebuggerRunner, eCompilers: Express
           if ((element.parent eq null) && (expression == "..")) "."
           else expression
         val context = state.getContext()
-        val namespaces = context.namespaces
+        val namespaces = context.dpathCompileInfo.namespaces
         val expressionWithBraces =
           if (!DPathUtil.isExpression(adjustedExpression)) "{ " + 
adjustedExpression + " }"
           else adjustedExpression
diff --git 
a/daffodil-runtime1/src/main/scala/org/apache/daffodil/processors/RuntimeData.scala
 
b/daffodil-runtime1/src/main/scala/org/apache/daffodil/processors/RuntimeData.scala
index c4b9c02..22484c6 100644
--- 
a/daffodil-runtime1/src/main/scala/org/apache/daffodil/processors/RuntimeData.scala
+++ 
b/daffodil-runtime1/src/main/scala/org/apache/daffodil/processors/RuntimeData.scala
@@ -78,7 +78,6 @@ sealed trait RuntimeData
   def schemaFileLocation: SchemaFileLocation
   def diagnosticDebugName: String
   def path: String
-  def namespaces: NamespaceBinding
 
   def variableMap: VariableMap
   override def toString = diagnosticDebugName
@@ -557,7 +556,6 @@ sealed class ElementRuntimeData(
   val schemaFileLocation: SchemaFileLocation,
   val diagnosticDebugName: String,
   val path: String,
-  val namespaces: NamespaceBinding,
   @TransientParam minimizedScopeArg: => NamespaceBinding,
   defaultBitOrderArg: BitOrder,
   @TransientParam optPrimTypeArg: => Option[PrimType],
@@ -609,6 +607,7 @@ sealed class ElementRuntimeData(
     maybeCheckBitOrderAndCharsetEvArg) {
 
   override def isRequiredScalar = !isArray && isRequiredInUnparseInfoset
+  override def namespaces: NamespaceBinding = 
dpathElementCompileInfo.namespaces
 
   lazy val children = childrenArg
   lazy val variableMap = variableMapArg
@@ -740,7 +739,6 @@ sealed abstract class ErrorERD(local: String, namespaceURI: 
String)
     null, // SchemaFileLocation
     local, // diagnosticDebugName: String,
     local, // pathArg: => String,
-    null, //  namespacesArg: => NamespaceBinding,
     null, // minimizedScopeArg: => NamespaceBinding,
     null, //defaultBitOrderArg: => BitOrder,
     None, // optPrimTypeArg: => Option[PrimType],
@@ -846,7 +844,6 @@ sealed abstract class ModelGroupRuntimeData(
   @TransientParam ciArg: => DPathCompileInfo,
   val diagnosticDebugName:  String,
   val path:  String,
-  val namespaces:  NamespaceBinding,
   defaultBitOrderArg: BitOrder,
   @TransientParam groupMembersArg: => Seq[TermRuntimeData],
   isRepresentedArg: Boolean,
@@ -866,6 +863,7 @@ sealed abstract class ModelGroupRuntimeData(
 
   final override def isRequiredScalar = true
   final override def isArray = false
+  override def namespaces: NamespaceBinding = ci.namespaces
 
   lazy val variableMap = variableMapArg
   lazy val encInfo = encInfoArg
@@ -901,7 +899,6 @@ final class SequenceRuntimeData(
   @TransientParam ciArg: => DPathCompileInfo,
   diagnosticDebugNameArg: String,
   pathArg:  String,
-  namespacesArg: NamespaceBinding,
   defaultBitOrderArg: BitOrder,
   @TransientParam groupMembersArg: => Seq[TermRuntimeData],
   isRepresentedArg: Boolean,
@@ -913,7 +910,7 @@ final class SequenceRuntimeData(
   @TransientParam maybeCheckByteAndBitOrderEvArg: => 
Maybe[CheckByteAndBitOrderEv],
   @TransientParam maybeCheckBitOrderAndCharsetEvArg: => 
Maybe[CheckBitOrderAndCharsetEv])
   extends ModelGroupRuntimeData(positionArg, partialNextElementResolverArg,
-    variableMapArg, encInfoArg, schemaFileLocationArg, ciArg, 
diagnosticDebugNameArg, pathArg, namespacesArg, defaultBitOrderArg, 
groupMembersArg,
+    variableMapArg, encInfoArg, schemaFileLocationArg, ciArg, 
diagnosticDebugNameArg, pathArg, defaultBitOrderArg, groupMembersArg,
     isRepresentedArg, couldHaveTextArg, alignmentValueInBitsArg, 
hasNoSkipRegionsArg, optIgnoreCaseArg,
     maybeFillByteEvArg,
     maybeCheckByteAndBitOrderEvArg,
@@ -937,7 +934,6 @@ final class ChoiceRuntimeData(
   @TransientParam ciArg: => DPathCompileInfo,
   diagnosticDebugNameArg: String,
   pathArg: String,
-  namespacesArg: NamespaceBinding,
   defaultBitOrderArg: BitOrder,
   @TransientParam groupMembersArg: => Seq[TermRuntimeData],
   isRepresentedArg: Boolean,
@@ -949,7 +945,7 @@ final class ChoiceRuntimeData(
   @TransientParam maybeCheckByteAndBitOrderEvArg: => 
Maybe[CheckByteAndBitOrderEv],
   @TransientParam maybeCheckBitOrderAndCharsetEvArg: => 
Maybe[CheckBitOrderAndCharsetEv])
   extends ModelGroupRuntimeData(positionArg, partialNextElementResolverArg,
-    variableMapArg, encInfoArg, schemaFileLocationArg, ciArg, 
diagnosticDebugNameArg, pathArg, namespacesArg, defaultBitOrderArg, 
groupMembersArg,
+    variableMapArg, encInfoArg, schemaFileLocationArg, ciArg, 
diagnosticDebugNameArg, pathArg, defaultBitOrderArg, groupMembersArg,
     isRepresentedArg, couldHaveTextArg, alignmentValueInBitsArg, 
hasNoSkipRegionsArg, optIgnoreCaseArg, maybeFillByteEvArg,
     maybeCheckByteAndBitOrderEvArg,
     maybeCheckBitOrderAndCharsetEvArg)

Reply via email to