diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2013-11-23 22:25:22 +0100 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2013-11-24 09:12:24 +0100 |
commit | 28bf4ada31119712b415b2b2f6aeb87f0431eb48 (patch) | |
tree | b4aad81d541a4fa1327b051c67f277554aa6aecc /src/compiler/scala/tools/nsc/typechecker/Namers.scala | |
parent | c243435f113615b2f7407fbd683c93ec16c73749 (diff) | |
download | scala-28bf4ada31119712b415b2b2f6aeb87f0431eb48.tar.gz scala-28bf4ada31119712b415b2b2f6aeb87f0431eb48.tar.bz2 scala-28bf4ada31119712b415b2b2f6aeb87f0431eb48.zip |
SI-8002 private access for local companions
We go through similar gymnastics to make companion implicits
work for local class/object pairings, so we ought to be consistent
when it comes to access
Diffstat (limited to 'src/compiler/scala/tools/nsc/typechecker/Namers.scala')
-rw-r--r-- | src/compiler/scala/tools/nsc/typechecker/Namers.scala | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Namers.scala b/src/compiler/scala/tools/nsc/typechecker/Namers.scala index e3d7bfd4f8..39e259fdfd 100644 --- a/src/compiler/scala/tools/nsc/typechecker/Namers.scala +++ b/src/compiler/scala/tools/nsc/typechecker/Namers.scala @@ -1695,4 +1695,11 @@ trait Namers extends MethodSynthesis { ) } } + + /** A version of `Symbol#linkedClassOfClass` that works with local companions, ala `companionSymbolOf`. */ + final def linkedClassOfClassOf(original: Symbol, ctx: Context): Symbol = + if (original.isModuleClass) + companionSymbolOf(original.sourceModule, ctx) + else + companionSymbolOf(original, ctx).moduleClass } |