File tree 3 files changed +33
-28
lines changed
core/shared/src/main/scala-3/scodec/bits 3 files changed +33
-28
lines changed Original file line number Diff line number Diff line change @@ -15,7 +15,7 @@ private[bits] object BitVectorFromDigits {
15
15
digitsToBitVector(digits, radix)
16
16
}
17
17
18
- private def digitsToBitVector (digits : String , radix : Int ): BitVector =
18
+ def digitsToBitVector (digits : String , radix : Int ): BitVector =
19
19
if (radix == 16 ) ByteVector .fromValidHex(digits.tail).bits
20
20
else throw FromDigits .MalformedNumber (s " unsupported radix $radix" )
21
21
@@ -25,17 +25,4 @@ private[bits] object BitVectorFromDigits {
25
25
override inline def fromDigits (digits : String , radix : Int ): BitVector =
26
26
$ {digitsToBitVectorMacro(' digits , ' radix )}
27
27
}
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
- }
41
28
}
Original file line number Diff line number Diff line change @@ -15,7 +15,7 @@ private[bits] object ByteVectorFromDigits {
15
15
digitsToByteVector(digits, radix)
16
16
}
17
17
18
- private def digitsToByteVector (digits : String , radix : Int ): ByteVector =
18
+ def digitsToByteVector (digits : String , radix : Int ): ByteVector =
19
19
if (radix == 16 ) ByteVector .fromValidHex(digits.tail)
20
20
else throw FromDigits .MalformedNumber (s " unsupported radix $radix" )
21
21
@@ -25,17 +25,4 @@ private[bits] object ByteVectorFromDigits {
25
25
override inline def fromDigits (digits : String , radix : Int ): ByteVector =
26
26
$ {digitsToByteVectorMacro(' digits , ' radix )}
27
27
}
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
- }
41
28
}
Original file line number Diff line number Diff line change
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
+
You can’t perform that action at this time.
0 commit comments