Skip to content

Commit f487790

Browse files
committed
Fix Deprecated Early Initializers
- use companion objects and pass the values into classes instead DAFFODIL-2152
1 parent 2a56cc4 commit f487790

File tree

24 files changed

+284
-319
lines changed

24 files changed

+284
-319
lines changed

daffodil-core/src/main/scala/org/apache/daffodil/core/dpath/Expression.scala

+34-12
Original file line numberDiff line numberDiff line change
@@ -2686,26 +2686,48 @@ case class FNTwoArgsExprInferedArgType(
26862686
resultType: NodeInfo.Kind,
26872687
arg1Type: NodeInfo.Kind,
26882688
arg2Type: NodeInfo.Kind,
2689-
constructor: List[(CompiledDPath, NodeInfo.Kind)] => RecipeOp
2690-
) extends {
2691-
private val constructor_ : List[CompiledDPath] => RecipeOp =
2692-
(subExprs: List[CompiledDPath]) => {
2693-
Assert.invariant(subExprs.length == args.length)
2694-
val types = args.map(_.targetType)
2695-
val typedSubExprs = subExprs.zip(types)
2696-
constructor(typedSubExprs)
2697-
}
2698-
}
2699-
with FNTwoArgsExprBase(
2689+
constructor: List[(CompiledDPath, NodeInfo.Kind)] => RecipeOp,
2690+
constructorForTypedSubExprs: List[CompiledDPath] => RecipeOp
2691+
) extends FNTwoArgsExprBase(
27002692
nameAsParsed,
27012693
fnQName,
27022694
args,
27032695
resultType,
27042696
arg1Type,
27052697
arg2Type,
2706-
constructor_
2698+
constructorForTypedSubExprs
27072699
)
27082700

2701+
object FNTwoArgsExprInferedArgType {
2702+
def apply(
2703+
nameAsParsed: String,
2704+
fnQName: RefQName,
2705+
args: List[Expression],
2706+
resultType: NodeInfo.Kind,
2707+
arg1Type: NodeInfo.Kind,
2708+
arg2Type: NodeInfo.Kind,
2709+
constructor: List[(CompiledDPath, NodeInfo.Kind)] => RecipeOp
2710+
): FNTwoArgsExprInferedArgType = {
2711+
val constructorForTypedSubExprs: List[CompiledDPath] => RecipeOp =
2712+
(subExprs: List[CompiledDPath]) => {
2713+
Assert.invariant(subExprs.length == args.length)
2714+
val types = args.map(_.targetType)
2715+
val typedSubExprs = subExprs.zip(types)
2716+
constructor(typedSubExprs)
2717+
}
2718+
FNTwoArgsExprInferedArgType(
2719+
nameAsParsed,
2720+
fnQName,
2721+
args,
2722+
resultType,
2723+
arg1Type,
2724+
arg2Type,
2725+
constructor,
2726+
constructorForTypedSubExprs
2727+
)
2728+
}
2729+
}
2730+
27092731
sealed abstract class LengthExprBase(
27102732
nameAsParsed: String,
27112733
fnQName: RefQName,

daffodil-io/src/main/scala/org/apache/daffodil/io/processors/charset/Base4.scala

+14-18
Original file line numberDiff line numberDiff line change
@@ -23,26 +23,22 @@ import org.apache.daffodil.lib.schema.annotation.props.gen.BitOrder
2323
* Base 4 aka Quarternary
2424
*/
2525

26-
object BitsCharsetBase4LSBF
27-
extends {
28-
override val name = "X-DFDL-BASE4-LSBF"
29-
override val bitWidthOfACodeUnit = 2
30-
override val decodeString = "0123"
31-
override val replacementCharCode = 0x0
32-
override val requiredBitOrder = BitOrder.LeastSignificantBitFirst
33-
}
34-
with BitsCharsetNonByteSize
26+
object BitsCharsetBase4LSBF extends BitsCharsetNonByteSize {
27+
override lazy val name = "X-DFDL-BASE4-LSBF"
28+
override lazy val bitWidthOfACodeUnit = 2
29+
override lazy val decodeString = "0123"
30+
override lazy val replacementCharCode = 0x0
31+
override lazy val requiredBitOrder = BitOrder.LeastSignificantBitFirst
32+
}
3533

3634
final class BitsCharsetBase4LSBFDefinition extends BitsCharsetDefinition(BitsCharsetBase4LSBF)
3735

38-
object BitsCharsetBase4MSBF
39-
extends {
40-
override val name = "X-DFDL-BASE4-MSBF"
41-
override val bitWidthOfACodeUnit = 2
42-
override val decodeString = "0123"
43-
override val replacementCharCode = 0x0
44-
override val requiredBitOrder = BitOrder.MostSignificantBitFirst
45-
}
46-
with BitsCharsetNonByteSize
36+
object BitsCharsetBase4MSBF extends BitsCharsetNonByteSize {
37+
override lazy val name = "X-DFDL-BASE4-MSBF"
38+
override lazy val bitWidthOfACodeUnit = 2
39+
override lazy val decodeString = "0123"
40+
override lazy val replacementCharCode = 0x0
41+
override lazy val requiredBitOrder = BitOrder.MostSignificantBitFirst
42+
}
4743

4844
final class BitsCharsetBase4MSBFDefinition extends BitsCharsetDefinition(BitsCharsetBase4MSBF)

daffodil-io/src/main/scala/org/apache/daffodil/io/processors/charset/Binary.scala

+14-18
Original file line numberDiff line numberDiff line change
@@ -23,30 +23,26 @@ import org.apache.daffodil.lib.schema.annotation.props.gen.BitOrder
2323
* X-DFDL-BITS-LSBF occupies only 1 bit with each
2424
* code unit.
2525
*/
26-
object BitsCharsetBinaryLSBF
27-
extends {
28-
override val name = "X-DFDL-BITS-LSBF"
29-
override val bitWidthOfACodeUnit = 1
30-
override val decodeString = "01"
31-
override val replacementCharCode = 0x0
32-
override val requiredBitOrder = BitOrder.LeastSignificantBitFirst
33-
}
34-
with BitsCharsetNonByteSize
26+
object BitsCharsetBinaryLSBF extends BitsCharsetNonByteSize {
27+
override lazy val name = "X-DFDL-BITS-LSBF"
28+
override lazy val bitWidthOfACodeUnit = 1
29+
override lazy val decodeString = "01"
30+
override lazy val replacementCharCode = 0x0
31+
override lazy val requiredBitOrder = BitOrder.LeastSignificantBitFirst
32+
}
3533

3634
final class BitsCharsetBinaryLSBFDefinition extends BitsCharsetDefinition(BitsCharsetBinaryLSBF)
3735

3836
/**
3937
* X-DFDL-BITS-MSBF occupies only 1 bit with each
4038
* code unit.
4139
*/
42-
object BitsCharsetBinaryMSBF
43-
extends {
44-
override val name = "X-DFDL-BITS-MSBF"
45-
override val bitWidthOfACodeUnit = 1
46-
override val decodeString = "01"
47-
override val replacementCharCode = 0x0
48-
override val requiredBitOrder = BitOrder.MostSignificantBitFirst
49-
}
50-
with BitsCharsetNonByteSize
40+
object BitsCharsetBinaryMSBF extends BitsCharsetNonByteSize {
41+
override lazy val name = "X-DFDL-BITS-MSBF"
42+
override lazy val bitWidthOfACodeUnit = 1
43+
override lazy val decodeString = "01"
44+
override lazy val replacementCharCode = 0x0
45+
override lazy val requiredBitOrder = BitOrder.MostSignificantBitFirst
46+
}
5147

5248
final class BitsCharsetBinaryMSBFDefinition extends BitsCharsetDefinition(BitsCharsetBinaryMSBF)

daffodil-io/src/main/scala/org/apache/daffodil/io/processors/charset/Hex.scala

+14-18
Original file line numberDiff line numberDiff line change
@@ -23,30 +23,26 @@ import org.apache.daffodil.lib.schema.annotation.props.gen.BitOrder
2323
* X-DFDL-HEX-LSBF occupies only 4 bits with each
2424
* code unit.
2525
*/
26-
object BitsCharsetHexLSBF
27-
extends {
28-
override val name = "X-DFDL-HEX-LSBF"
29-
override val bitWidthOfACodeUnit = 4
30-
override val decodeString = """0123456789ABCDEF"""
31-
override val replacementCharCode = 0x00
32-
override val requiredBitOrder = BitOrder.LeastSignificantBitFirst
33-
}
34-
with BitsCharsetNonByteSize
26+
object BitsCharsetHexLSBF extends BitsCharsetNonByteSize {
27+
override lazy val name = "X-DFDL-HEX-LSBF"
28+
override lazy val bitWidthOfACodeUnit = 4
29+
override lazy val decodeString = """0123456789ABCDEF"""
30+
override lazy val replacementCharCode = 0x00
31+
override lazy val requiredBitOrder = BitOrder.LeastSignificantBitFirst
32+
}
3533

3634
final class BitsCharsetHexLSBFDefinition extends BitsCharsetDefinition(BitsCharsetHexLSBF)
3735

3836
/**
3937
* X-DFDL-HEX-MSBF occupies only 4 bits with each
4038
* code unit.
4139
*/
42-
object BitsCharsetHexMSBF
43-
extends {
44-
override val name = "X-DFDL-HEX-MSBF"
45-
override val bitWidthOfACodeUnit = 4
46-
override val decodeString = """0123456789ABCDEF"""
47-
override val replacementCharCode = 0x00
48-
override val requiredBitOrder = BitOrder.MostSignificantBitFirst
49-
}
50-
with BitsCharsetNonByteSize
40+
object BitsCharsetHexMSBF extends BitsCharsetNonByteSize {
41+
override lazy val name = "X-DFDL-HEX-MSBF"
42+
override lazy val bitWidthOfACodeUnit = 4
43+
override lazy val decodeString = """0123456789ABCDEF"""
44+
override lazy val replacementCharCode = 0x00
45+
override lazy val requiredBitOrder = BitOrder.MostSignificantBitFirst
46+
}
5147

5248
final class BitsCharsetHexMSBFDefinition extends BitsCharsetDefinition(BitsCharsetHexMSBF)

daffodil-io/src/main/scala/org/apache/daffodil/io/processors/charset/IBM037.scala

+3-5
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,9 @@ package org.apache.daffodil.io.processors.charset
2020
import org.apache.daffodil.io.FormatInfo
2121
import org.apache.daffodil.io.InputSourceDataInputStream
2222

23-
object BitsCharsetIBM037
24-
extends {
25-
override val name = "IBM037"
26-
}
27-
with BitsCharsetJava {
23+
object BitsCharsetIBM037 extends BitsCharsetJava {
24+
25+
lazy val name = "IBM037"
2826

2927
val decodeStringTable =
3028
"\u0000\u0001\u0002\u0003\u009C\u0009\u0086\u007F\u0097\u008D\u008E\u000B\u000C\u000D\u000E\u000F" +

daffodil-io/src/main/scala/org/apache/daffodil/io/processors/charset/ISO88591.scala

+3-5
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,9 @@ package org.apache.daffodil.io.processors.charset
2020
import org.apache.daffodil.io.FormatInfo
2121
import org.apache.daffodil.io.InputSourceDataInputStream
2222

23-
object BitsCharsetISO88591
24-
extends {
25-
override val name = "ISO-8859-1"
26-
}
27-
with BitsCharsetJava {
23+
object BitsCharsetISO88591 extends BitsCharsetJava {
24+
25+
override lazy val name = "ISO-8859-1"
2826

2927
override def newDecoder() = new BitsCharsetDecoderISO88591()
3028
}

daffodil-io/src/main/scala/org/apache/daffodil/io/processors/charset/ISO885918BitPacked.scala

+14-18
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,13 @@ import org.apache.daffodil.lib.schema.annotation.props.gen.BitOrder
2323
* X-DFDL-ISO-88591-8-BIT-PACKED-LSB-FIRST occupies only 8 bits with each
2424
* code unit.
2525
*/
26-
object BitsCharsetISO885918BitPackedLSBF
27-
extends {
28-
override val name = "X-DFDL-ISO-88591-8-BIT-PACKED-LSB-FIRST"
29-
override val bitWidthOfACodeUnit = 8
30-
override val decodeString = (0 to 255).map { _.toChar }.mkString
31-
override val replacementCharCode = 0x3f
32-
override val requiredBitOrder = BitOrder.LeastSignificantBitFirst
33-
}
34-
with BitsCharsetNonByteSize
26+
object BitsCharsetISO885918BitPackedLSBF extends BitsCharsetNonByteSize {
27+
override lazy val name = "X-DFDL-ISO-88591-8-BIT-PACKED-LSB-FIRST"
28+
override lazy val bitWidthOfACodeUnit = 8
29+
override lazy val decodeString = (0 to 255).map { _.toChar }.mkString
30+
override lazy val replacementCharCode = 0x3f
31+
override lazy val requiredBitOrder = BitOrder.LeastSignificantBitFirst
32+
}
3533

3634
final class BitsCharsetISO885918BitPackedLSBFDefinition
3735
extends BitsCharsetDefinition(BitsCharsetISO885918BitPackedLSBF)
@@ -40,15 +38,13 @@ final class BitsCharsetISO885918BitPackedLSBFDefinition
4038
* X-DFDL-ISO-88591-8-BIT-PACKED-MSB-FIRST occupies only 8 bits with each
4139
* code unit.
4240
*/
43-
object BitsCharsetISO885918BitPackedMSBF
44-
extends {
45-
override val name = "X-DFDL-ISO-88591-8-BIT-PACKED-MSB-FIRST"
46-
override val bitWidthOfACodeUnit = 8
47-
override val decodeString = (0 to 255).map { _.toChar }.mkString
48-
override val replacementCharCode = 0x3f
49-
override val requiredBitOrder = BitOrder.MostSignificantBitFirst
50-
}
51-
with BitsCharsetNonByteSize
41+
object BitsCharsetISO885918BitPackedMSBF extends BitsCharsetNonByteSize {
42+
override lazy val name = "X-DFDL-ISO-88591-8-BIT-PACKED-MSB-FIRST"
43+
override lazy val bitWidthOfACodeUnit = 8
44+
override lazy val decodeString = (0 to 255).map { _.toChar }.mkString
45+
override lazy val replacementCharCode = 0x3f
46+
override lazy val requiredBitOrder = BitOrder.MostSignificantBitFirst
47+
}
5248

5349
final class BitsCharsetISO885918BitPackedMSBFDefinition
5450
extends BitsCharsetDefinition(BitsCharsetISO885918BitPackedMSBF)

daffodil-io/src/main/scala/org/apache/daffodil/io/processors/charset/Octal.scala

+14-18
Original file line numberDiff line numberDiff line change
@@ -23,30 +23,26 @@ import org.apache.daffodil.lib.schema.annotation.props.gen.BitOrder
2323
* X-DFDL-OCTAL-LSBF occupies only 3 bits with each
2424
* code unit.
2525
*/
26-
object BitsCharsetOctalLSBF
27-
extends {
28-
override val name = "X-DFDL-OCTAL-LSBF"
29-
override val bitWidthOfACodeUnit = 3
30-
override val decodeString = "01234567"
31-
override val replacementCharCode = 0x0
32-
override val requiredBitOrder = BitOrder.LeastSignificantBitFirst
33-
}
34-
with BitsCharsetNonByteSize
26+
object BitsCharsetOctalLSBF extends BitsCharsetNonByteSize {
27+
override lazy val name = "X-DFDL-OCTAL-LSBF"
28+
override lazy val bitWidthOfACodeUnit = 3
29+
override lazy val decodeString = "01234567"
30+
override lazy val replacementCharCode = 0x0
31+
override lazy val requiredBitOrder = BitOrder.LeastSignificantBitFirst
32+
}
3533

3634
final class BitsCharsetOctalLSBFDefinition extends BitsCharsetDefinition(BitsCharsetOctalLSBF)
3735

3836
/**
3937
* X-DFDL-OCTAL-MSBF occupies only 3 bits with each
4038
* code unit.
4139
*/
42-
object BitsCharsetOctalMSBF
43-
extends {
44-
override val name = "X-DFDL-OCTAL-MSBF"
45-
override val bitWidthOfACodeUnit = 3
46-
override val decodeString = "01234567"
47-
override val replacementCharCode = 0x0
48-
override val requiredBitOrder = BitOrder.MostSignificantBitFirst
49-
}
50-
with BitsCharsetNonByteSize
40+
object BitsCharsetOctalMSBF extends BitsCharsetNonByteSize {
41+
override lazy val name = "X-DFDL-OCTAL-MSBF"
42+
override lazy val bitWidthOfACodeUnit = 3
43+
override lazy val decodeString = "01234567"
44+
override lazy val replacementCharCode = 0x0
45+
override lazy val requiredBitOrder = BitOrder.MostSignificantBitFirst
46+
}
5147

5248
final class BitsCharsetOctalMSBFDefinition extends BitsCharsetDefinition(BitsCharsetOctalMSBF)

daffodil-io/src/main/scala/org/apache/daffodil/io/processors/charset/USASCII.scala

+2-5
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,8 @@ package org.apache.daffodil.io.processors.charset
2020
import org.apache.daffodil.io.FormatInfo
2121
import org.apache.daffodil.io.InputSourceDataInputStream
2222

23-
object BitsCharsetUSASCII
24-
extends {
25-
override val name = "US-ASCII"
26-
}
27-
with BitsCharsetJava {
23+
object BitsCharsetUSASCII extends BitsCharsetJava {
24+
override lazy val name = "US-ASCII"
2825

2926
override def newDecoder() = new BitsCharsetDecoderUSASCII()
3027
}

daffodil-io/src/main/scala/org/apache/daffodil/io/processors/charset/USASCII5BitPacked.scala

+7-9
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,13 @@ import org.apache.daffodil.lib.util.MaybeInt
2424
* X-DFDL-5-BIT-PACKED-LSBF occupies only 5 bits with each
2525
* code unit.
2626
*/
27-
object BitsCharset5BitPackedLSBF
28-
extends {
29-
override val name = "X-DFDL-5-BIT-PACKED-LSBF"
30-
override val bitWidthOfACodeUnit = 5
31-
override val decodeString = """01234567ABCDEFGHJKLMNPQRSTUVWXYZ"""
32-
override val replacementCharCode = 0x1d
33-
override val requiredBitOrder = BitOrder.LeastSignificantBitFirst
34-
}
35-
with BitsCharsetNonByteSize {
27+
object BitsCharset5BitPackedLSBF extends BitsCharsetNonByteSize {
28+
29+
override lazy val name = "X-DFDL-5-BIT-PACKED-LSBF"
30+
override lazy val bitWidthOfACodeUnit = 5
31+
override lazy val decodeString = """01234567ABCDEFGHJKLMNPQRSTUVWXYZ"""
32+
override lazy val replacementCharCode = 0x1d
33+
override lazy val requiredBitOrder = BitOrder.LeastSignificantBitFirst
3634

3735
override def charToCode(char: Char) = {
3836
if (char == 'I') MaybeInt(1)

daffodil-io/src/main/scala/org/apache/daffodil/io/processors/charset/USASCII6BitPacked.scala

+16-20
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,14 @@ import org.apache.daffodil.lib.schema.annotation.props.gen.BitOrder
2323
* X-DFDL-US-ASCII-6-BIT-PACKED occupies only 6 bits with each
2424
* code unit.
2525
*/
26-
object BitsCharsetUSASCII6BitPackedLSBF
27-
extends {
28-
override val name = "X-DFDL-US-ASCII-6-BIT-PACKED-LSB-FIRST"
29-
override val bitWidthOfACodeUnit = 6
30-
override val decodeString =
31-
"""@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ !"#$%&'()*+,-./0123456789:;<=>?"""
32-
override val replacementCharCode = 0x1f
33-
override val requiredBitOrder = BitOrder.LeastSignificantBitFirst
34-
}
35-
with BitsCharsetNonByteSize
26+
object BitsCharsetUSASCII6BitPackedLSBF extends BitsCharsetNonByteSize {
27+
override lazy val name = "X-DFDL-US-ASCII-6-BIT-PACKED-LSB-FIRST"
28+
override lazy val bitWidthOfACodeUnit = 6
29+
override lazy val decodeString =
30+
"""@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ !"#$%&'()*+,-./0123456789:;<=>?"""
31+
override lazy val replacementCharCode = 0x1f
32+
override lazy val requiredBitOrder = BitOrder.LeastSignificantBitFirst
33+
}
3634

3735
final class BitsCharsetUSASCII6BitPackedLSBFDefinition
3836
extends BitsCharsetDefinition(BitsCharsetUSASCII6BitPackedLSBF)
@@ -43,16 +41,14 @@ final class BitsCharsetUSASCII6BitPackedDefinition
4341
Some("X-DFDL-US-ASCII-6-BIT-PACKED")
4442
)
4543

46-
object BitsCharsetUSASCII6BitPackedMSBF
47-
extends {
48-
override val name = "X-DFDL-US-ASCII-6-BIT-PACKED-MSB-FIRST"
49-
override val bitWidthOfACodeUnit = 6
50-
override val decodeString =
51-
"""@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ !"#$%&'()*+,-./0123456789:;<=>?"""
52-
override val replacementCharCode = 0x1f
53-
override val requiredBitOrder = BitOrder.MostSignificantBitFirst
54-
}
55-
with BitsCharsetNonByteSize
44+
object BitsCharsetUSASCII6BitPackedMSBF extends BitsCharsetNonByteSize {
45+
override lazy val name = "X-DFDL-US-ASCII-6-BIT-PACKED-MSB-FIRST"
46+
override lazy val bitWidthOfACodeUnit = 6
47+
override lazy val decodeString =
48+
"""@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ !"#$%&'()*+,-./0123456789:;<=>?"""
49+
override lazy val replacementCharCode = 0x1f
50+
override lazy val requiredBitOrder = BitOrder.MostSignificantBitFirst
51+
}
5652

5753
final class BitsCharsetUSASCII6BitPackedMSBFDefinition
5854
extends BitsCharsetDefinition(BitsCharsetUSASCII6BitPackedMSBF)

0 commit comments

Comments
 (0)