You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@daffodil.apache.org by ol...@apache.org on 2025/04/04 20:31:32 UTC
(daffodil) branch main updated: Fix overriding non-lazy val with lazy val
This is an automated email from the ASF dual-hosted git repository.
olabusayo pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/daffodil.git
The following commit(s) were added to refs/heads/main by this push:
new 7b4775d05 Fix overriding non-lazy val with lazy val
7b4775d05 is described below
commit 7b4775d05846250bff5378ed675e119d8f41f877
Author: olabusayoT <50...@users.noreply.github.com>
AuthorDate: Tue Apr 1 17:13:36 2025 -0400
Fix overriding non-lazy val with lazy val
- make non-lazy val a def since lazy vals cannot be abstract
- scala 3 no longer allows a lazy value of type Unit to override a def of type unit (warning: lazy value X of type Unit no longer has compatible type scala)
- scala 3 no longer allows overriding a val parameter (warning: overriding val parameter value X in class Y is deprecated, will be illegal in a future version)
- remove ambiguity causing abstract definitions
DAFFODIL-2975
---
.../src/main/scala/org/apache/daffodil/core/dsom/Nesting.scala | 3 ---
.../scala/org/apache/daffodil/core/dsom/ParticleMixin.scala | 4 ----
.../org/apache/daffodil/core/dsom/SchemaComponentFactory.scala | 6 ------
.../daffodil/core/dsom/SchemaDocIncludesAndImportsMixin.scala | 2 --
.../daffodil/core/runtime1/ElementBaseRuntime1Mixin.scala | 2 +-
.../io/processors/charset/BitsCharsetNonByteSize.scala | 4 ++--
.../src/main/scala/org/apache/daffodil/lib/api/Validator.scala | 4 ++--
.../apache/daffodil/lib/exceptions/SchemaFileLocatable.scala | 9 ++++-----
.../daffodil/lib/schema/annotation/props/Properties.scala | 2 +-
.../org/apache/daffodil/lib/validation/TestValidatorsSPI.scala | 10 +++++-----
.../apache/daffodil/lib/validation/TestXercesValidator.scala | 4 ++--
.../org/apache/daffodil/runtime1/api/DFDLParserUnparser.scala | 2 +-
.../daffodil/runtime1/debugger/InteractiveDebugger.scala | 2 +-
.../apache/daffodil/runtime1/dsom/CompiledExpression1.scala | 3 ++-
.../org/apache/daffodil/runtime1/infoset/InfosetInputter.scala | 2 +-
.../apache/daffodil/runtime1/processors/DataProcessor.scala | 4 ++--
.../processors/parsers/ExpressionEvaluatingParsers.scala | 4 +++-
.../daffodil/validation/schematron/TestBasicValidation.scala | 10 +++++-----
.../apache/daffodil/validation/schematron/TestSpiLoading.scala | 4 ++--
.../main/scala/org/apache/daffodil/junit/tdml/TdmlSuite.scala | 2 +-
20 files changed, 35 insertions(+), 48 deletions(-)
diff --git a/daffodil-core/src/main/scala/org/apache/daffodil/core/dsom/Nesting.scala b/daffodil-core/src/main/scala/org/apache/daffodil/core/dsom/Nesting.scala
index 1e9060ceb..a0a8cbf5d 100644
--- a/daffodil-core/src/main/scala/org/apache/daffodil/core/dsom/Nesting.scala
+++ b/daffodil-core/src/main/scala/org/apache/daffodil/core/dsom/Nesting.scala
@@ -30,9 +30,6 @@ case class EnclosingComponentDef(encloser: SchemaComponent, lexicalPosition: Int
trait NestingLexicalMixin { self: SchemaComponent =>
- /** The lexically enclosing schema component */
- def optLexicalParent: Option[SchemaComponent]
-
def shortSchemaComponentDesignator: String
private def usageErr(sc: SchemaComponent) =
diff --git a/daffodil-core/src/main/scala/org/apache/daffodil/core/dsom/ParticleMixin.scala b/daffodil-core/src/main/scala/org/apache/daffodil/core/dsom/ParticleMixin.scala
index f03cf9bfe..55b09f2cd 100644
--- a/daffodil-core/src/main/scala/org/apache/daffodil/core/dsom/ParticleMixin.scala
+++ b/daffodil-core/src/main/scala/org/apache/daffodil/core/dsom/ParticleMixin.scala
@@ -22,10 +22,6 @@ import org.apache.daffodil.lib.exceptions.Assert
import org.apache.daffodil.lib.schema.annotation.props.gen._
trait RequiredOptionalMixin { self: ElementBase =>
-
- def minOccurs: Int
- def maxOccurs: Int
-
final override lazy val isScalar = minOccurs == 1 && maxOccurs == 1
/**
diff --git a/daffodil-core/src/main/scala/org/apache/daffodil/core/dsom/SchemaComponentFactory.scala b/daffodil-core/src/main/scala/org/apache/daffodil/core/dsom/SchemaComponentFactory.scala
index 9012efc90..188e7c7ee 100644
--- a/daffodil-core/src/main/scala/org/apache/daffodil/core/dsom/SchemaComponentFactory.scala
+++ b/daffodil-core/src/main/scala/org/apache/daffodil/core/dsom/SchemaComponentFactory.scala
@@ -27,8 +27,6 @@ import org.apache.daffodil.lib.xml.XMLUtils
trait SchemaFileLocatableImpl extends SchemaFileLocatable { self: SchemaComponent =>
- def xml: scala.xml.Node
- def schemaFile: Option[DFDLSchemaFile]
def optLexicalParent: Option[SchemaComponent]
/**
@@ -61,8 +59,6 @@ trait SchemaFileLocatableImpl extends SchemaFileLocatable { self: SchemaComponen
trait CommonContextMixin extends NestingLexicalMixin with CommonContextView {
self: SchemaComponent =>
- def optLexicalParent: Option[SchemaComponent]
-
lazy val schemaFile: Option[DFDLSchemaFile] = optLexicalParent.flatMap { _.schemaFile }
final lazy val schemaSet: SchemaSet = optLexicalParent match {
case Some(s) => s.schemaSet
@@ -79,8 +75,6 @@ trait CommonContextMixin extends NestingLexicalMixin with CommonContextView {
def uriString: String = optLexicalParent.get.uriString
def diagnosticFile: File = optLexicalParent.get.diagnosticFile
- def xml: scala.xml.Node
-
/**
* Namespace scope for resolving QNames.
*
diff --git a/daffodil-core/src/main/scala/org/apache/daffodil/core/dsom/SchemaDocIncludesAndImportsMixin.scala b/daffodil-core/src/main/scala/org/apache/daffodil/core/dsom/SchemaDocIncludesAndImportsMixin.scala
index 92826809c..42fdcb9f2 100644
--- a/daffodil-core/src/main/scala/org/apache/daffodil/core/dsom/SchemaDocIncludesAndImportsMixin.scala
+++ b/daffodil-core/src/main/scala/org/apache/daffodil/core/dsom/SchemaDocIncludesAndImportsMixin.scala
@@ -188,8 +188,6 @@ trait SchemaDocIncludesAndImportsMixin { self: XMLSchemaDocument =>
self.schemaSet.diagnosticFile
}
- protected def seenBefore: IIMap
-
// val iiXML: Node = xml // override in SchemaSet
lazy val impNodes = (xml \ "import")
diff --git a/daffodil-core/src/main/scala/org/apache/daffodil/core/runtime1/ElementBaseRuntime1Mixin.scala b/daffodil-core/src/main/scala/org/apache/daffodil/core/runtime1/ElementBaseRuntime1Mixin.scala
index 60a48494c..b17c2b4d1 100644
--- a/daffodil-core/src/main/scala/org/apache/daffodil/core/runtime1/ElementBaseRuntime1Mixin.scala
+++ b/daffodil-core/src/main/scala/org/apache/daffodil/core/runtime1/ElementBaseRuntime1Mixin.scala
@@ -36,7 +36,7 @@ trait ElementBaseRuntime1Mixin { self: ElementBase =>
// initialize cyclic structure
requiredEvaluationsIfActivated(
- dpathElementCompileInfo.initialize
+ dpathElementCompileInfo.initialize()
)
// initialize cyclic structure
diff --git a/daffodil-io/src/main/scala/org/apache/daffodil/io/processors/charset/BitsCharsetNonByteSize.scala b/daffodil-io/src/main/scala/org/apache/daffodil/io/processors/charset/BitsCharsetNonByteSize.scala
index ca18dce72..00eac4fba 100644
--- a/daffodil-io/src/main/scala/org/apache/daffodil/io/processors/charset/BitsCharsetNonByteSize.scala
+++ b/daffodil-io/src/main/scala/org/apache/daffodil/io/processors/charset/BitsCharsetNonByteSize.scala
@@ -51,9 +51,9 @@ import org.apache.daffodil.lib.util.MaybeInt
trait BitsCharsetNonByteSize extends BitsCharset {
- protected val decodeString: String
+ protected def decodeString: String
- val replacementCharCode: Int
+ def replacementCharCode: Int
def averageCharsPerByte() = averageCharsPerBit() * 8.0f
def averageCharsPerBit() = 1.0f / bitWidthOfACodeUnit
diff --git a/daffodil-lib/src/main/scala/org/apache/daffodil/lib/api/Validator.scala b/daffodil-lib/src/main/scala/org/apache/daffodil/lib/api/Validator.scala
index 5730a300d..10fc601a2 100644
--- a/daffodil-lib/src/main/scala/org/apache/daffodil/lib/api/Validator.scala
+++ b/daffodil-lib/src/main/scala/org/apache/daffodil/lib/api/Validator.scala
@@ -59,8 +59,8 @@ trait ValidatorFactory extends SimpleNamedLoadableService {
* Results of a validation execution
*/
trait ValidationResult {
- def warnings(): java.util.Collection[ValidationWarning]
- def errors(): java.util.Collection[ValidationFailure]
+ val warnings: java.util.Collection[ValidationWarning]
+ val errors: java.util.Collection[ValidationFailure]
}
object ValidationResult {
diff --git a/daffodil-lib/src/main/scala/org/apache/daffodil/lib/exceptions/SchemaFileLocatable.scala b/daffodil-lib/src/main/scala/org/apache/daffodil/lib/exceptions/SchemaFileLocatable.scala
index 86b8a2cd9..411b7a3e5 100644
--- a/daffodil-lib/src/main/scala/org/apache/daffodil/lib/exceptions/SchemaFileLocatable.scala
+++ b/daffodil-lib/src/main/scala/org/apache/daffodil/lib/exceptions/SchemaFileLocatable.scala
@@ -127,12 +127,11 @@ class XercesSchemaFileLocation(
(if (xercesError.getColumnNumber > 0) Some(xercesError.getColumnNumber.toString) else None),
schemaFileLocation.diagnosticFile,
schemaFileLocation.toString,
- schemaFileLocation.diagnosticDebugName
+ // we set this to blank string instead of "Schema File" since we don't have access to the element
+ // that causes this error from Xerces and "Schema File" doesn't really add much more info compared
+ // to the blank string
+ ""
) {
- // we set this to blank string instead of "Schema File" since we don't have access to the element
- // that causes this error from Xerces and "Schema File" doesn't really add much more info compared
- // to the blank string
- override val diagnosticDebugName = ""
// we have to override equals and hashCode because the OOlag error checks for duplicates in its error list
override def equals(obj: Any): Boolean = {
diff --git a/daffodil-lib/src/main/scala/org/apache/daffodil/lib/schema/annotation/props/Properties.scala b/daffodil-lib/src/main/scala/org/apache/daffodil/lib/schema/annotation/props/Properties.scala
index 2ad905040..ca82f4c95 100644
--- a/daffodil-lib/src/main/scala/org/apache/daffodil/lib/schema/annotation/props/Properties.scala
+++ b/daffodil-lib/src/main/scala/org/apache/daffodil/lib/schema/annotation/props/Properties.scala
@@ -86,7 +86,7 @@ abstract class EnumValueBase extends Serializable
abstract class Enum[A] extends EnumBase with Converter[String, A] {
def toPropName(prop: A) = prop.toString
- val values: Array[A]
+ def values: Array[A]
/**
* This is invoked at runtime to compare expression results to see if they
diff --git a/daffodil-lib/src/test/scala/org/apache/daffodil/lib/validation/TestValidatorsSPI.scala b/daffodil-lib/src/test/scala/org/apache/daffodil/lib/validation/TestValidatorsSPI.scala
index e3d3646a1..ed6926c06 100644
--- a/daffodil-lib/src/test/scala/org/apache/daffodil/lib/validation/TestValidatorsSPI.scala
+++ b/daffodil-lib/src/test/scala/org/apache/daffodil/lib/validation/TestValidatorsSPI.scala
@@ -53,8 +53,8 @@ class TestValidatorsSPI {
val v = f.make(XercesValidatorFactory.makeConfig(Seq(schema)))
val r = v.validateXML(infoset)
- assertTrue(r.warnings().isEmpty)
- assertTrue(r.errors().isEmpty)
+ assertTrue(r.warnings.isEmpty)
+ assertTrue(r.errors.isEmpty)
}
@Test def testFailingValidator(): Unit = {
@@ -62,9 +62,9 @@ class TestValidatorsSPI {
val v = f.make(XercesValidatorFactory.makeConfig(Seq(schema)))
val r = v.validateXML(infoset)
- assertTrue(r.warnings().isEmpty)
- assertFalse(r.errors().isEmpty)
+ assertTrue(r.warnings.isEmpty)
+ assertFalse(r.errors.isEmpty)
- assertEquals(r.errors().iterator().next().getMessage, "boom")
+ assertEquals(r.errors.iterator().next().getMessage, "boom")
}
}
diff --git a/daffodil-lib/src/test/scala/org/apache/daffodil/lib/validation/TestXercesValidator.scala b/daffodil-lib/src/test/scala/org/apache/daffodil/lib/validation/TestXercesValidator.scala
index aa004a956..1c6184c39 100644
--- a/daffodil-lib/src/test/scala/org/apache/daffodil/lib/validation/TestXercesValidator.scala
+++ b/daffodil-lib/src/test/scala/org/apache/daffodil/lib/validation/TestXercesValidator.scala
@@ -29,7 +29,7 @@ class TestXercesValidator {
val v = f.make(XercesValidatorFactory.makeConfig(Seq(schema)))
val r = v.validateXML(infoset)
- assertTrue(r.warnings().isEmpty)
- assertTrue(r.errors().isEmpty)
+ assertTrue(r.warnings.isEmpty)
+ assertTrue(r.errors.isEmpty)
}
}
diff --git a/daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/api/DFDLParserUnparser.scala b/daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/api/DFDLParserUnparser.scala
index 69b869f5d..ef9d8502f 100644
--- a/daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/api/DFDLParserUnparser.scala
+++ b/daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/api/DFDLParserUnparser.scala
@@ -244,7 +244,7 @@ object DFDL {
trait ParseResult extends Result with WithDiagnostics {
def resultState: State
- def validationResult(): Option[ValidationResult]
+ val validationResult: Option[ValidationResult]
}
trait UnparseResult extends Result with WithDiagnostics {
diff --git a/daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/debugger/InteractiveDebugger.scala b/daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/debugger/InteractiveDebugger.scala
index bfc15e1e1..b868c53b6 100644
--- a/daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/debugger/InteractiveDebugger.scala
+++ b/daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/debugger/InteractiveDebugger.scala
@@ -494,7 +494,7 @@ class InteractiveDebugger(
/**********************************/
abstract class DebugCommand {
- val name: String
+ def name: String
lazy val short: String = name(0).toString
val desc: String
val longDesc: String
diff --git a/daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/dsom/CompiledExpression1.scala b/daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/dsom/CompiledExpression1.scala
index f976b8df1..2aabdb009 100644
--- a/daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/dsom/CompiledExpression1.scala
+++ b/daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/dsom/CompiledExpression1.scala
@@ -367,10 +367,11 @@ class DPathElementCompileInfo(
/**
* Cyclic objects require initialization
*/
- override lazy val initialize: Unit = {
+ private lazy val init_ : Unit = {
parents
elementChildrenCompileInfo
}
+ override def initialize(): Unit = init_
override def serializeParents(oos: java.io.ObjectOutputStream): Unit = {
super.serializeParents(oos)
diff --git a/daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/infoset/InfosetInputter.scala b/daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/infoset/InfosetInputter.scala
index 8947a1543..3e288b057 100644
--- a/daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/infoset/InfosetInputter.scala
+++ b/daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/infoset/InfosetInputter.scala
@@ -149,7 +149,7 @@ abstract class InfosetInputter
* some infoset representations may fail to unparse if the schema depends on
* namespace information to differentiate between elements.
*/
- val supportsNamespaces: Boolean
+ def supportsNamespaces: Boolean
final override lazy val advanceAccessor = InfosetAccessor()
final override lazy val inspectAccessor = InfosetAccessor()
diff --git a/daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/processors/DataProcessor.scala b/daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/processors/DataProcessor.scala
index 3c12d8887..be29b9779 100644
--- a/daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/processors/DataProcessor.scala
+++ b/daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/processors/DataProcessor.scala
@@ -412,8 +412,8 @@ class DataProcessor(
val vr = maybeValidationBytes.toOption.map { bytes =>
val bis = new java.io.ByteArrayInputStream(bytes.toByteArray)
val res = validator.validateXML(bis)
- res.warnings().forEach { w => state.validationError(w.getMessage) }
- res.errors().forEach {
+ res.warnings.forEach { w => state.validationError(w.getMessage) }
+ res.errors.forEach {
case e: ValidationException =>
state.validationErrorNoContext(e.getCause)
case f: ValidationFailure =>
diff --git a/daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/processors/parsers/ExpressionEvaluatingParsers.scala b/daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/processors/parsers/ExpressionEvaluatingParsers.scala
index 2f3efaa66..4d53bdf15 100644
--- a/daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/processors/parsers/ExpressionEvaluatingParsers.scala
+++ b/daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/processors/parsers/ExpressionEvaluatingParsers.scala
@@ -37,9 +37,11 @@ import org.apache.daffodil.runtime1.processors.VariableRuntimeData
*/
abstract class ExpressionEvaluationParser(
expr: CompiledExpression[AnyRef],
- override val context: RuntimeData
+ contextParam: RuntimeData
) extends PrimParserNoData {
+ override val context: RuntimeData = contextParam
+
override def runtimeDependencies = Vector()
override def childProcessors = Vector()
diff --git a/daffodil-schematron/src/test/scala/org/apache/daffodil/validation/schematron/TestBasicValidation.scala b/daffodil-schematron/src/test/scala/org/apache/daffodil/validation/schematron/TestBasicValidation.scala
index ef964fc58..fb8d0bb6a 100644
--- a/daffodil-schematron/src/test/scala/org/apache/daffodil/validation/schematron/TestBasicValidation.scala
+++ b/daffodil-schematron/src/test/scala/org/apache/daffodil/validation/schematron/TestBasicValidation.scala
@@ -44,7 +44,7 @@ class TestBasicValidation {
)
val result = p.validateXML(new ByteArrayInputStream(xml.getBytes))
- assert(result.errors().isEmpty)
+ assert(result.errors.isEmpty)
}
@Test def testInvalidXML(): Unit = {
@@ -59,8 +59,8 @@ class TestBasicValidation {
)
val result = p.validateXML(new ByteArrayInputStream(xml.getBytes))
- result.errors().forEach(e => println(s"Fail: ${e.getMessage}"))
- assert(result.errors().size() == 2)
+ result.errors.forEach(e => println(s"Fail: ${e.getMessage}"))
+ assert(result.errors.size() == 2)
}
@Test def testInvalidXML2(): Unit = {
@@ -75,8 +75,8 @@ class TestBasicValidation {
)
val result = p.validateXML(new ByteArrayInputStream(xml.getBytes))
- result.errors().forEach(e => println(s"Fail: ${e.getMessage}"))
- assert(result.errors().size() == 1)
+ result.errors.forEach(e => println(s"Fail: ${e.getMessage}"))
+ assert(result.errors.size() == 1)
}
@Test def testInstantiateAnInstanceOfTemplates(): Unit = {
diff --git a/daffodil-schematron/src/test/scala/org/apache/daffodil/validation/schematron/TestSpiLoading.scala b/daffodil-schematron/src/test/scala/org/apache/daffodil/validation/schematron/TestSpiLoading.scala
index a78986c41..0e3b02cfb 100644
--- a/daffodil-schematron/src/test/scala/org/apache/daffodil/validation/schematron/TestSpiLoading.scala
+++ b/daffodil-schematron/src/test/scala/org/apache/daffodil/validation/schematron/TestSpiLoading.scala
@@ -34,7 +34,7 @@ class TestSpiLoading {
val xml = Source.fromResource("xml/article-2.xml").mkString
val result = v.validateXML(new ByteArrayInputStream(xml.getBytes))
- result.errors().forEach(e => println(s"Fail: ${e.getMessage}"))
- assert(result.errors().size() == 2)
+ result.errors.forEach(e => println(s"Fail: ${e.getMessage}"))
+ assert(result.errors.size() == 2)
}
}
diff --git a/daffodil-tdml-junit/src/main/scala/org/apache/daffodil/junit/tdml/TdmlSuite.scala b/daffodil-tdml-junit/src/main/scala/org/apache/daffodil/junit/tdml/TdmlSuite.scala
index abeefe9e2..8a0931d4d 100644
--- a/daffodil-tdml-junit/src/main/scala/org/apache/daffodil/junit/tdml/TdmlSuite.scala
+++ b/daffodil-tdml-junit/src/main/scala/org/apache/daffodil/junit/tdml/TdmlSuite.scala
@@ -33,7 +33,7 @@ trait TdmlSuite {
/**
* Resource path to the TDML file to use for this JUnit suite
*/
- val tdmlResource: String
+ def tdmlResource: String
/**
* Function to get the directory containing tdmlResource. Useful if createRunner is overridden