diff options
author | Martin Odersky <odersky@gmail.com> | 2013-12-31 12:49:23 +0100 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2013-12-31 12:49:54 +0100 |
commit | e56b26b55de6459ae74ff86e2a62dd2d00436ab2 (patch) | |
tree | 2255d91ad0e309acf3df925dd329b9ea2feaabc3 /src/dotty/tools/dotc/ast/Desugar.scala | |
parent | 3edab6ec1444b19203381612fba3e16ca1bafc95 (diff) | |
download | dotty-e56b26b55de6459ae74ff86e2a62dd2d00436ab2.tar.gz dotty-e56b26b55de6459ae74ff86e2a62dd2d00436ab2.tar.bz2 dotty-e56b26b55de6459ae74ff86e2a62dd2d00436ab2.zip |
Fixing the type of a named self reference.
This was previously
C.this.self
but it should be
C.this
Diffstat (limited to 'src/dotty/tools/dotc/ast/Desugar.scala')
-rw-r--r-- | src/dotty/tools/dotc/ast/Desugar.scala | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/dotty/tools/dotc/ast/Desugar.scala b/src/dotty/tools/dotc/ast/Desugar.scala index e52809bd2..e21ec609d 100644 --- a/src/dotty/tools/dotc/ast/Desugar.scala +++ b/src/dotty/tools/dotc/ast/Desugar.scala @@ -288,9 +288,10 @@ object desugar { } else Nil + val selfType = if (self.tpt.isEmpty) classTypeRef else self.tpt val self1 = - if (self.isEmpty || !self.tpt.isEmpty) self - else cpy.ValDef(self, self.mods, self.name, classTypeRef, self.rhs) + if (self.isEmpty) self + else cpy.ValDef(self, self.mods | SelfName, self.name, selfType, self.rhs) val cdef1 = cpy.TypeDef(cdef, mods, name, cpy.Template(impl, constr, parents1, self1, |