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)