summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools
diff options
context:
space:
mode:
authorVlad Ureche <vlad.ureche@gmail.com>2012-08-13 13:08:22 -0700
committerVlad Ureche <vlad.ureche@gmail.com>2012-08-13 13:08:22 -0700
commit07f942971aefcd6829415c56022af8226f931772 (patch)
tree82e1644061791fc1f3a3fef7a3aeb2e2b176dd3b /src/compiler/scala/tools
parent8cfba0fb219a49cceeb0318a6562aa3a602d913c (diff)
parent5d4e4e29b90ae394f44bca4c1c7634f314b4f158 (diff)
downloadscala-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.
Diffstat (limited to 'src/compiler/scala/tools')
-rw-r--r--src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala5
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