Skip to content

Commit 80c884c

Browse files
committed
Revert " workarround against scala/scala3#14137"
This reverts commit d9db9ee.
1 parent a8a9f3a commit 80c884c

File tree

1 file changed

+11
-17
lines changed

1 file changed

+11
-17
lines changed

jsoniter-scala-macros/shared/src/main/scala-3/JsonCodeMaker.scala

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1657,7 +1657,7 @@ object JsonCodecMaker {
16571657
discriminator: Option[ReadDiscriminator],
16581658
in: Expr[JsonReader],
16591659
default: Expr[A],
1660-
)(using Quotes): Expr[A] = {
1660+
): Expr[A] = {
16611661
val tpe = types.head
16621662
val classInfo = getClassInfo(tpe)
16631663
checkFieldNameCollisions(tpe, cfg.discriminatorFieldName.fold(Seq.empty[String]) { n =>
@@ -1680,12 +1680,11 @@ object JsonCodecMaker {
16801680
val rhs = Literal(IntConstant(if (i == lastParamVarIndex) lastParamVarBits else -1))
16811681
ValDef(sym, Some(rhs))
16821682
}
1683-
1684-
val checkAndResetFieldPresenceFlags: Map[String, Quotes ?=> Expr[Int] => Expr[Unit]] = {
1683+
val checkAndResetFieldPresenceFlags:Map[String, Expr[Int] => Expr[Unit]] = {
16851684
classInfo.fields.zipWithIndex.map { case (f, i) =>
16861685
val n = Ref(paramVars(i >> 5).symbol).asExprOf[Int]
16871686
val m = Expr(1 << i)
1688-
(f.mappedName, (q: Quotes) ?=> (l:Expr[Int]) => '{
1687+
(f.mappedName, (l:Expr[Int]) => '{
16891688
if (($n & $m) != 0)
16901689
${Assign(n.asTerm , '{ $n ^ $m }.asTerm).asExprOf[Unit]}
16911690
else
@@ -1779,16 +1778,16 @@ object JsonCodecMaker {
17791778
val optDiscriminatorVar = discriminator.map{ _.valDef }
17801779

17811780

1782-
def blockWithVars[A:Type](next: Expr[A])(using Quotes): Expr[A] =
1781+
def blockWithVars(next: Term): Term =
17831782
Block(
17841783
readVars.toList ++
17851784
paramVars.toList ++
17861785
optDiscriminatorVar.toList,
1787-
next.asTerm
1788-
).asExprOf[A]
1786+
next
1787+
)
17891788

17901789
'{ if ($in.isNextToken('{')) {
1791-
${blockWithVars[A](
1790+
${blockWithVars(
17921791
'{if (!$in.isNextToken('}')) {
17931792
$in.rollbackToken()
17941793
var l = -1
@@ -1799,7 +1798,7 @@ object JsonCodecMaker {
17991798
if (!$in.isCurrentToken('}')) $in.objectEndOrCommaError()
18001799
}
18011800
${Block(checkReqVars.map(_.asTerm), construct).asExprOf[A]}
1802-
}).asExprOf[A]
1801+
}.asTerm).asExprOf[A]
18031802
}
18041803
} else $in.readNullOrTokenError($default, '{')
18051804
}
@@ -1881,7 +1880,7 @@ object JsonCodecMaker {
18811880
isStringified: Boolean,
18821881
optDiscriminator: Option[ReadDiscriminator],
18831882
in: Expr[JsonReader]
1884-
)(using Quotes): Expr[C] = {
1883+
): Expr[C] = {
18851884
val tpe = types.head
18861885
val implCodec = findImplicitValueCodec(types)
18871886
val methodKey = DecoderMethodKey(tpe, isStringified && (isCollection(tpe) || isOption(tpe)), optDiscriminator.isDefined)
@@ -2946,17 +2945,12 @@ object JsonCodecMaker {
29462945

29472946
val codec = rootTpe.asType match {
29482947
case '[rootType] =>
2949-
def codecExpr(using Quotes) = '{
2948+
val codecExpr = '{
29502949
new JsonValueCodec[rootType] {
29512950
def nullValue: rootType = ${genNullValue[rootType](rootTpe :: Nil)}
29522951

29532952
def decodeValue(in: JsonReader, default: rootType): rootType = {
2954-
${genReadVal(
2955-
rootTpe :: Nil,
2956-
'default,
2957-
cfg.isStringified,
2958-
None,
2959-
'in)}
2953+
${genReadVal(rootTpe :: Nil, 'default, cfg.isStringified, None, 'in)}
29602954
}
29612955

29622956
def encodeValue(x: rootType, out: JsonWriter): Unit = {

0 commit comments

Comments
 (0)