aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/ast/Desugar.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2013-12-31 12:49:23 +0100
committerMartin Odersky <odersky@gmail.com>2013-12-31 12:49:54 +0100
commite56b26b55de6459ae74ff86e2a62dd2d00436ab2 (patch)
tree2255d91ad0e309acf3df925dd329b9ea2feaabc3 /src/dotty/tools/dotc/ast/Desugar.scala
parent3edab6ec1444b19203381612fba3e16ca1bafc95 (diff)
downloaddotty-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.scala5
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,