Skip to content

Commit 667ffc7

Browse files
committed
Updated macros due to changes in scala/scala3#8601
1 parent 4dead2a commit 667ffc7

File tree

3 files changed

+33
-28
lines changed

3 files changed

+33
-28
lines changed

core/shared/src/main/scala-3/scodec/bits/BitVectorPlatform.scala

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ private[bits] object BitVectorFromDigits {
1515
digitsToBitVector(digits, radix)
1616
}
1717

18-
private def digitsToBitVector(digits: String, radix: Int): BitVector =
18+
def digitsToBitVector(digits: String, radix: Int): BitVector =
1919
if (radix == 16) ByteVector.fromValidHex(digits.tail).bits
2020
else throw FromDigits.MalformedNumber(s"unsupported radix $radix")
2121

@@ -25,17 +25,4 @@ private[bits] object BitVectorFromDigits {
2525
override inline def fromDigits(digits: String, radix: Int): BitVector =
2626
${digitsToBitVectorMacro('digits, 'radix)}
2727
}
28-
29-
private def digitsToBitVectorMacro(digits: Expr[String], radix: Expr[Int])(using qctx: QuoteContext): Expr[BitVector] =
30-
(digits, radix) match {
31-
case (Const(ds), Const(r)) =>
32-
if (r == 16) {
33-
'{ByteVector.fromValidHex($digits.tail).bits}
34-
} else {
35-
qctx.error(s"unsupported radix $r", radix)
36-
'{BitVector.empty}
37-
}
38-
case other =>
39-
'{digitsToBitVector($digits, $radix)}
40-
}
4128
}

core/shared/src/main/scala-3/scodec/bits/ByteVectorPlatform.scala

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ private[bits] object ByteVectorFromDigits {
1515
digitsToByteVector(digits, radix)
1616
}
1717

18-
private def digitsToByteVector(digits: String, radix: Int): ByteVector =
18+
def digitsToByteVector(digits: String, radix: Int): ByteVector =
1919
if (radix == 16) ByteVector.fromValidHex(digits.tail)
2020
else throw FromDigits.MalformedNumber(s"unsupported radix $radix")
2121

@@ -25,17 +25,4 @@ private[bits] object ByteVectorFromDigits {
2525
override inline def fromDigits(digits: String, radix: Int): ByteVector =
2626
${digitsToByteVectorMacro('digits, 'radix)}
2727
}
28-
29-
private def digitsToByteVectorMacro(digits: Expr[String], radix: Expr[Int])(using qctx: QuoteContext): Expr[ByteVector] =
30-
(digits, radix) match {
31-
case (Const(ds), Const(r)) =>
32-
if (r == 16) {
33-
'{ByteVector.fromValidHex($digits.tail)}
34-
} else {
35-
qctx.error(s"unsupported radix $r", radix)
36-
'{ByteVector.empty}
37-
}
38-
case other =>
39-
'{digitsToByteVector($digits, $radix)}
40-
}
4128
}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package scodec.bits
2+
3+
import scala.quoted._
4+
import scala.quoted.matching._
5+
6+
def digitsToBitVectorMacro(digits: Expr[String], radix: Expr[Int])(using qctx: QuoteContext): Expr[BitVector] =
7+
(digits, radix) match {
8+
case (Const(ds), Const(r)) =>
9+
if (r == 16) {
10+
'{ByteVector.fromValidHex($digits.tail).bits}
11+
} else {
12+
qctx.error(s"unsupported radix $r", radix)
13+
'{BitVector.empty}
14+
}
15+
case other =>
16+
'{BitVectorFromDigits.digitsToBitVector($digits, $radix)}
17+
}
18+
19+
def digitsToByteVectorMacro(digits: Expr[String], radix: Expr[Int])(using qctx: QuoteContext): Expr[ByteVector] =
20+
(digits, radix) match {
21+
case (Const(ds), Const(r)) =>
22+
if (r == 16) {
23+
'{ByteVector.fromValidHex($digits.tail)}
24+
} else {
25+
qctx.error(s"unsupported radix $r", radix)
26+
'{ByteVector.empty}
27+
}
28+
case other =>
29+
'{ByteVectorFromDigits.digitsToByteVector($digits, $radix)}
30+
}
31+

0 commit comments

Comments
 (0)