diff options
author | Martin Odersky <odersky@gmail.com> | 2014-03-10 22:42:39 +0100 |
---|---|---|
committer | Tobias Schlatter <tobias@meisch.ch> | 2014-03-20 20:25:05 +0100 |
commit | 5b687fbee23060fbed285f090e3592f2b8cb6beb (patch) | |
tree | 85b63c2f90e813db42adb3b327f542e389640b20 /src/dotty/tools/dotc/typer/Namer.scala | |
parent | 3ba0931636a5d34ca2da9588f2952af709d41ace (diff) | |
download | dotty-5b687fbee23060fbed285f090e3592f2b8cb6beb.tar.gz dotty-5b687fbee23060fbed285f090e3592f2b8cb6beb.tar.bz2 dotty-5b687fbee23060fbed285f090e3592f2b8cb6beb.zip |
Generalize derived type tree scheme.
To get truly hygienic desugared trees, we need a derived type tree scheme that's more
flexible than just the previous two choices of info-of-symbol and typeref-of-symbol.
The new scheme based on DerivedTypeTrees allows arbitrary methods to derive the type tree's type.
Diffstat (limited to 'src/dotty/tools/dotc/typer/Namer.scala')
-rw-r--r-- | src/dotty/tools/dotc/typer/Namer.scala | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/dotty/tools/dotc/typer/Namer.scala b/src/dotty/tools/dotc/typer/Namer.scala index 21b87aee4..162e13bbc 100644 --- a/src/dotty/tools/dotc/typer/Namer.scala +++ b/src/dotty/tools/dotc/typer/Namer.scala @@ -458,6 +458,8 @@ class Namer { typer: Typer => index(constr) index(rest)(inClassContext(selfInfo)) denot.info = ClassInfo(cls.owner.thisType, cls, parentRefs, decls, selfInfo) + // make sure constr parameters are all entered because we refer to them in desugarings: + symbolOfTree(constr).ensureCompleted() } } |