@@ -19,6 +19,7 @@ import printing.Formatting.hl
19
19
import config .Printers
20
20
21
21
import scala .annotation .internal .sharable
22
+ import scala .annotation .threadUnsafe
22
23
23
24
object desugar {
24
25
import untpd ._
@@ -487,6 +488,7 @@ object desugar {
487
488
def isNonEnumCase = ! isEnumCase && (isCaseClass || isCaseObject)
488
489
val isValueClass = parents.nonEmpty && isAnyVal(parents.head)
489
490
// This is not watertight, but `extends AnyVal` will be replaced by `inline` later.
491
+ val caseClassInScala2StdLib = isCaseClass && ctx.settings.Yscala2Stdlib .value
490
492
491
493
val originalTparams = constr1.leadingTypeParams
492
494
val originalVparamss = asTermOnly(constr1.trailingParamss)
@@ -662,9 +664,7 @@ object desugar {
662
664
// new C[...](p1, ..., pN)(moreParams)
663
665
val (caseClassMeths, enumScaffolding) = {
664
666
def syntheticProperty (name : TermName , tpt : Tree , rhs : Tree ) =
665
- val mods =
666
- if ctx.settings.Yscala2Stdlib .value then synthetic | Inline
667
- else synthetic
667
+ val mods = if caseClassInScala2StdLib then synthetic | Inline else synthetic
668
668
DefDef (name, Nil , tpt, rhs).withMods(mods)
669
669
670
670
def productElemMeths =
@@ -782,7 +782,7 @@ object desugar {
782
782
val unapplyParam = makeSyntheticParameter(tpt = classTypeRef)
783
783
val unapplyRHS =
784
784
if (arity == 0 ) Literal (Constant (true ))
785
- else if ctx.settings. Yscala2Stdlib .value then scala2LibCompatUnapplyRhs(unapplyParam.name)
785
+ else if caseClassInScala2StdLib then scala2LibCompatUnapplyRhs(unapplyParam.name)
786
786
else Ident (unapplyParam.name)
787
787
val unapplyResTp = if (arity == 0 ) Literal (Constant (true )) else TypeTree ()
788
788
0 commit comments