aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/ast/tpd.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2015-06-12 18:57:18 +0200
committerMartin Odersky <odersky@gmail.com>2015-06-19 12:11:18 +0200
commitb8628c13a56db5335249a79ccd7772c3245999db (patch)
tree5236f85d2eacad928053b1ee2168e8d480ef238b /src/dotty/tools/dotc/ast/tpd.scala
parent321f04e9caf04589320a99a897441d4e1baefff9 (diff)
downloaddotty-b8628c13a56db5335249a79ccd7772c3245999db.tar.gz
dotty-b8628c13a56db5335249a79ccd7772c3245999db.tar.bz2
dotty-b8628c13a56db5335249a79ccd7772c3245999db.zip
References to trait parameter accessors do not have an elidable prefix.
Reason: The ParamAccessor flag will be reset later in Mixin. We do not want to rewrite the references to a trait parameter accessor then, so it's better to generate all references with a `this.` prefix from the start.
Diffstat (limited to 'src/dotty/tools/dotc/ast/tpd.scala')
-rw-r--r--src/dotty/tools/dotc/ast/tpd.scala2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/ast/tpd.scala b/src/dotty/tools/dotc/ast/tpd.scala
index defcf4838..51011f90b 100644
--- a/src/dotty/tools/dotc/ast/tpd.scala
+++ b/src/dotty/tools/dotc/ast/tpd.scala
@@ -302,7 +302,7 @@ object tpd extends Trees.Instance[Type] with TypedTreeInfo {
true
case pre: ThisType =>
pre.cls.isStaticOwner ||
- tp.symbol.is(ParamOrAccessor) && ctx.owner.enclosingClass == pre.cls
+ tp.symbol.is(ParamOrAccessor) && !pre.cls.is(Trait) && ctx.owner.enclosingClass == pre.cls
// was ctx.owner.enclosingClass.derivesFrom(pre.cls) which was not tight enough
// and was spuriously triggered in case inner class would inherit from outer one
// eg anonymous TypeMap inside TypeMap.andThen