@@ -436,6 +436,8 @@ object desugar {
436436 // new C[Ts](paramss)
437437 lazy val creatorExpr = New (classTypeRef, constrVparamss nestedMap refOfDef)
438438
439+ val copiedAccessFlags = if (ctx.scala2Setting) EmptyFlags else AccessFlags
440+
439441 // Methods to add to a case class C[..](p1: T1, ..., pN: Tn)(moreParams)
440442 // def _1: T1 = this.p1
441443 // ...
@@ -475,7 +477,7 @@ object desugar {
475477 val copyRestParamss = derivedVparamss.tail.nestedMap(vparam =>
476478 cpy.ValDef (vparam)(rhs = EmptyTree ))
477479 DefDef (nme.copy, derivedTparams, copyFirstParams :: copyRestParamss, TypeTree (), creatorExpr)
478- .withMods(synthetic ) :: Nil
480+ .withFlags( Synthetic | constr1.mods.flags & copiedAccessFlags ) :: Nil
479481 }
480482 }
481483
@@ -580,7 +582,7 @@ object desugar {
580582 if (mods is Abstract ) Nil
581583 else
582584 DefDef (nme.apply, derivedTparams, derivedVparamss, applyResultTpt, widenedCreatorExpr)
583- .withFlags(Synthetic | ( constr1.mods.flags & DefaultParameterized )) :: widenDefs
585+ .withFlags(Synthetic | constr1.mods.flags & ( DefaultParameterized | copiedAccessFlags )) :: widenDefs
584586 val unapplyMeth = {
585587 val unapplyParam = makeSyntheticParameter(tpt = classTypeRef)
586588 val unapplyRHS = if (arity == 0 ) Literal (Constant (true )) else Ident (unapplyParam.name)
@@ -664,8 +666,6 @@ object desugar {
664666 flatTree(cdef1 :: companions ::: implicitWrappers)
665667 }
666668
667- val AccessOrSynthetic : FlagSet = AccessFlags | Synthetic
668-
669669 /** Expand
670670 *
671671 * object name extends parents { self => body }
0 commit comments