aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/ast/Desugar.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2013-12-23 20:22:11 +0100
committerMartin Odersky <odersky@gmail.com>2013-12-23 20:22:11 +0100
commit93630a2097dd52f2b764a3a739887c2a71398578 (patch)
treef8ab689b999b4712b5206540ef2a72fc936c8e07 /src/dotty/tools/dotc/ast/Desugar.scala
parentb9b5e970f8c56d490101156c4fe849c1e952e490 (diff)
downloaddotty-93630a2097dd52f2b764a3a739887c2a71398578.tar.gz
dotty-93630a2097dd52f2b764a3a739887c2a71398578.tar.bz2
dotty-93630a2097dd52f2b764a3a739887c2a71398578.zip
Making default getters for constructor of a case class work also for its apply method.
Diffstat (limited to 'src/dotty/tools/dotc/ast/Desugar.scala')
-rw-r--r--src/dotty/tools/dotc/ast/Desugar.scala4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/ast/Desugar.scala b/src/dotty/tools/dotc/ast/Desugar.scala
index e6c43acbb..f8f5972d1 100644
--- a/src/dotty/tools/dotc/ast/Desugar.scala
+++ b/src/dotty/tools/dotc/ast/Desugar.scala
@@ -258,7 +258,9 @@ object desugar {
else (vparamss :\ classTypeRef) ((vparams, restpe) => Function(vparams map (_.tpt), restpe))
val applyMeths =
if (mods is Abstract) Nil
- else DefDef(synthetic, nme.apply, tparams, vparamss, TypeTree(), creatorExpr) :: Nil
+ else DefDef(
+ synthetic | (constr1.mods.flags & DefaultParameterized), nme.apply,
+ tparams, vparamss, TypeTree(), creatorExpr) :: Nil
val unapplyMeth = {
val unapplyParam = makeSyntheticParameter(tpt = classTypeRef)
DefDef(synthetic, nme.unapply, tparams, (unapplyParam :: Nil) :: Nil,