diff options
author | Vlad Ureche <vlad.ureche@gmail.com> | 2012-08-13 13:08:22 -0700 |
---|---|---|
committer | Vlad Ureche <vlad.ureche@gmail.com> | 2012-08-13 13:08:22 -0700 |
commit | 07f942971aefcd6829415c56022af8226f931772 (patch) | |
tree | 82e1644061791fc1f3a3fef7a3aeb2e2b176dd3b | |
parent | 8cfba0fb219a49cceeb0318a6562aa3a602d913c (diff) | |
parent | 5d4e4e29b90ae394f44bca4c1c7634f314b4f158 (diff) | |
download | scala-07f942971aefcd6829415c56022af8226f931772.tar.gz scala-07f942971aefcd6829415c56022af8226f931772.tar.bz2 scala-07f942971aefcd6829415c56022af8226f931772.zip |
Merge pull request #1121 from odersky/topic/inline2
Added make not private logic for @inline accesses back to ExplicitOuter.
-rw-r--r-- | src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala b/src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala index 8e928dc9e6..a06c3f78ea 100644 --- a/src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala +++ b/src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala @@ -497,7 +497,10 @@ abstract class ExplicitOuter extends InfoTransform else atPos(tree.pos)(outerPath(outerValue, currentClass.outerClass, sym)) // (5) case Select(qual, name) => - if (currentClass != sym.owner) + // make not private symbol acessed from inner classes, as well as + // symbols accessed from @inline methods + if (currentClass != sym.owner || + (sym.owner.enclMethod hasAnnotation ScalaInlineClass)) sym.makeNotPrivate(sym.owner) val qsym = qual.tpe.widen.typeSymbol |