diff options
author | Martin Odersky <odersky@gmail.com> | 2013-08-05 17:48:02 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2013-08-05 17:48:02 +0200 |
commit | 71e59bb45db6f9f8abd8d42041583d56c88fe289 (patch) | |
tree | 2949e726e1af700aa30decc1389ea9a64b8cf65c /src/dotty/tools/dotc/core/pickling/UnPickler.scala | |
parent | a326e86d7d8389e8049a77b2cd75458f4573e294 (diff) | |
download | dotty-71e59bb45db6f9f8abd8d42041583d56c88fe289.tar.gz dotty-71e59bb45db6f9f8abd8d42041583d56c88fe289.tar.bz2 dotty-71e59bb45db6f9f8abd8d42041583d56c88fe289.zip |
Revised typed ClassDef construction.
Diffstat (limited to 'src/dotty/tools/dotc/core/pickling/UnPickler.scala')
-rw-r--r-- | src/dotty/tools/dotc/core/pickling/UnPickler.scala | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/core/pickling/UnPickler.scala b/src/dotty/tools/dotc/core/pickling/UnPickler.scala index 4c96c5e4b..23fb79f8f 100644 --- a/src/dotty/tools/dotc/core/pickling/UnPickler.scala +++ b/src/dotty/tools/dotc/core/pickling/UnPickler.scala @@ -897,7 +897,10 @@ class UnPickler(bytes: Array[Byte], classRoot: ClassDenotation, moduleClassRoot: setSymModsName() val impl = readTemplateRef() val tparams = until(end, readTypeDefRef) - ClassDef(symbol.asClass, tparams map (_.symbol.asType), ???, impl.body) // !!! TODO: pull out primary constructor + val cls = symbol.asClass + val ((constr: DefDef) :: Nil, stats) = + impl.body.partition(_.symbol == cls.primaryConstructor) + ClassDef(cls, constr, tparams ++ stats) case MODULEtree => setSymModsName() |