diff options
author | Martin Odersky <odersky@gmail.com> | 2015-06-12 18:57:18 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2015-06-19 12:11:18 +0200 |
commit | b8628c13a56db5335249a79ccd7772c3245999db (patch) | |
tree | 5236f85d2eacad928053b1ee2168e8d480ef238b /src/dotty/tools/dotc/ast/tpd.scala | |
parent | 321f04e9caf04589320a99a897441d4e1baefff9 (diff) | |
download | dotty-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.scala | 2 |
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 |