@@ -1382,6 +1382,7 @@ object JsonCodecMaker {
1382
1382
def genWriteConstantVal (value : String , out : Expr [JsonWriter ])(using Quotes ): Expr [Unit ] =
1383
1383
if (isEncodingRequired(value)) ' { $out.writeVal($ {Expr (value)}) }
1384
1384
else ' { $out.writeNonEscapedAsciiVal($ {Expr (value)}) }
1385
+
1385
1386
def genWriteArray [T : Type ](x : Expr [Iterable [T ]], writeVal : Quotes ?=> (Expr [JsonWriter ], Expr [T ]) => Expr [Unit ],
1386
1387
out : Expr [JsonWriter ])(using Quotes ): Expr [Unit ] = ' {
1387
1388
$out.writeArrayStart()
@@ -2600,7 +2601,7 @@ object JsonCodecMaker {
2600
2601
def cond (v : Expr [Array [_]])(using Quotes ): Expr [Boolean ] =
2601
2602
val da = d.asExprOf[Array [_]]
2602
2603
if (cfg.transientEmpty)
2603
- ' { $v.length > 0 && ! $ {withEqualsFor(fTpe, v, da)((x1, x2) => genArrayEquals(fTpe, x1, x2))} }
2604
+ ' { $v.length != 0 && ! $ {withEqualsFor(fTpe, v, da)((x1, x2) => genArrayEquals(fTpe, x1, x2))} }
2604
2605
else
2605
2606
' { ! $ {withEqualsFor(fTpe, v, da)((x1, x2) => genArrayEquals(fTpe, x1, x2))} }
2606
2607
@@ -2618,7 +2619,7 @@ object JsonCodecMaker {
2618
2619
def cond (v : Expr [IArray [ft1]])(using Quotes ): Expr [Boolean ] =
2619
2620
val da = d.asExprOf[IArray [ft1]]
2620
2621
if (cfg.transientEmpty)
2621
- ' { $v.length > 0 && ! $ {withEqualsFor(fTpe, v, da)((x1, x2) => genArrayEquals(fTpe, x1, x2))} }
2622
+ ' { $v.length != 0 && ! $ {withEqualsFor(fTpe, v, da)((x1, x2) => genArrayEquals(fTpe, x1, x2))} }
2622
2623
else
2623
2624
' { ! $ {withEqualsFor(fTpe, v, da)((x1, x2) => genArrayEquals(fTpe, x1, x2))} }
2624
2625
@@ -2662,7 +2663,7 @@ object JsonCodecMaker {
2662
2663
}
2663
2664
} else if (cfg.transientEmpty && fTpe <:< TypeRepr .of[Array [_]]) ' {
2664
2665
val v = $ {Select (x.asTerm, fieldInfo.getterOrField).asExprOf[ft & Array [_]]}
2665
- if (v.length > 0 ) {
2666
+ if (v.length != 0 ) {
2666
2667
$ {genWriteConstantKey(fieldInfo.mappedName, out)}
2667
2668
$ {genWriteVal(' v , fTpe :: types, fieldInfo.isStringified, None , out)}
2668
2669
}
@@ -2671,7 +2672,7 @@ object JsonCodecMaker {
2671
2672
fTpe1.asType match
2672
2673
case ' [ft1] => ' {
2673
2674
val v = $ {Select (x.asTerm, fieldInfo.getterOrField).asExprOf[IArray [ft1]]}
2674
- if (v.length > 0 ) {
2675
+ if (v.length != 0 ) {
2675
2676
$ {genWriteConstantKey(fieldInfo.mappedName, out)}
2676
2677
$ {genWriteVal(' v , fTpe :: types, fieldInfo.isStringified, None , out)}
2677
2678
}
0 commit comments