aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/pickling/UnPickler.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2013-08-05 17:48:02 +0200
committerMartin Odersky <odersky@gmail.com>2013-08-05 17:48:02 +0200
commit71e59bb45db6f9f8abd8d42041583d56c88fe289 (patch)
tree2949e726e1af700aa30decc1389ea9a64b8cf65c /src/dotty/tools/dotc/core/pickling/UnPickler.scala
parenta326e86d7d8389e8049a77b2cd75458f4573e294 (diff)
downloaddotty-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.scala5
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()