diff options
author | Lukas Rytz <lukas.rytz@typesafe.com> | 2016-07-13 08:54:13 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-07-13 08:54:13 +0200 |
commit | d388884e4f0f0d0fef600ce9b087782d4339438c (patch) | |
tree | 3479175f32a702c5ac5cb12840539b28605fe9b8 | |
parent | 09d689b8f0ea185077e60d6cf22092dd10da1387 (diff) | |
parent | d33f2993782c259831e10beacc8274424b3a6250 (diff) | |
download | scala-d388884e4f0f0d0fef600ce9b087782d4339438c.tar.gz scala-d388884e4f0f0d0fef600ce9b087782d4339438c.tar.bz2 scala-d388884e4f0f0d0fef600ce9b087782d4339438c.zip |
Merge pull request #5269 from lrytz/t9849
SI-9849 set privateWithin on default getters
-rw-r--r-- | src/compiler/scala/tools/nsc/typechecker/Namers.scala | 2 | ||||
-rw-r--r-- | test/files/neg/t9849.check | 7 | ||||
-rw-r--r-- | test/files/neg/t9849.scala | 16 |
3 files changed, 24 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Namers.scala b/src/compiler/scala/tools/nsc/typechecker/Namers.scala index 9c1ba7ced1..ad9377f8b4 100644 --- a/src/compiler/scala/tools/nsc/typechecker/Namers.scala +++ b/src/compiler/scala/tools/nsc/typechecker/Namers.scala @@ -1346,7 +1346,7 @@ trait Namers extends MethodSynthesis { val defRhs = rvparam.rhs val defaultTree = atPos(vparam.pos.focus) { - DefDef(Modifiers(paramFlagsToDefaultGetter(meth.flags)) | oflag, name, defTparams, defVparamss, defTpt, defRhs) + DefDef(Modifiers(paramFlagsToDefaultGetter(meth.flags), ddef.mods.privateWithin) | oflag, name, defTparams, defVparamss, defTpt, defRhs) } if (!isConstr) methOwner.resetFlag(INTERFACE) // there's a concrete member now diff --git a/test/files/neg/t9849.check b/test/files/neg/t9849.check new file mode 100644 index 0000000000..7b47150846 --- /dev/null +++ b/test/files/neg/t9849.check @@ -0,0 +1,7 @@ +t9849.scala:14: error: method h in object O cannot be accessed in object p.O + O.h() + ^ +t9849.scala:15: error: method h$default$1 in object O cannot be accessed in object p.O + O.h$default$1 + ^ +two errors found diff --git a/test/files/neg/t9849.scala b/test/files/neg/t9849.scala new file mode 100644 index 0000000000..bcd18b6916 --- /dev/null +++ b/test/files/neg/t9849.scala @@ -0,0 +1,16 @@ +package p + +object O { + protected[p] def f(x: Int = 1) = x + private[p] def g(x: Int = 1) = x + private def h(x: Int = 1) = x +} + +object Test { + O.f() + O.f$default$1 + O.g() + O.g$default$1 + O.h() + O.h$default$1 +} |