@@ -436,6 +436,8 @@ object desugar {
436
436
// new C[Ts](paramss)
437
437
lazy val creatorExpr = New (classTypeRef, constrVparamss nestedMap refOfDef)
438
438
439
+ val copiedAccessFlags = if (ctx.scala2Setting) EmptyFlags else AccessFlags
440
+
439
441
// Methods to add to a case class C[..](p1: T1, ..., pN: Tn)(moreParams)
440
442
// def _1: T1 = this.p1
441
443
// ...
@@ -475,7 +477,7 @@ object desugar {
475
477
val copyRestParamss = derivedVparamss.tail.nestedMap(vparam =>
476
478
cpy.ValDef (vparam)(rhs = EmptyTree ))
477
479
DefDef (nme.copy, derivedTparams, copyFirstParams :: copyRestParamss, TypeTree (), creatorExpr)
478
- .withMods(synthetic ) :: Nil
480
+ .withFlags( Synthetic | constr1.mods.flags & copiedAccessFlags ) :: Nil
479
481
}
480
482
}
481
483
@@ -580,7 +582,7 @@ object desugar {
580
582
if (mods is Abstract ) Nil
581
583
else
582
584
DefDef (nme.apply, derivedTparams, derivedVparamss, applyResultTpt, widenedCreatorExpr)
583
- .withFlags(Synthetic | ( constr1.mods.flags & DefaultParameterized )) :: widenDefs
585
+ .withFlags(Synthetic | constr1.mods.flags & ( DefaultParameterized | copiedAccessFlags )) :: widenDefs
584
586
val unapplyMeth = {
585
587
val unapplyParam = makeSyntheticParameter(tpt = classTypeRef)
586
588
val unapplyRHS = if (arity == 0 ) Literal (Constant (true )) else Ident (unapplyParam.name)
@@ -664,8 +666,6 @@ object desugar {
664
666
flatTree(cdef1 :: companions ::: implicitWrappers)
665
667
}
666
668
667
- val AccessOrSynthetic : FlagSet = AccessFlags | Synthetic
668
-
669
669
/** Expand
670
670
*
671
671
* object name extends parents { self => body }
0 commit comments