aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/ast/Desugar.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2013-12-06 14:36:57 +0100
committerMartin Odersky <odersky@gmail.com>2013-12-06 14:37:04 +0100
commite3aa7d4042496a0e44f2086943ad3c29a7b8c8b8 (patch)
tree1add6850ac11c85d8658138537db7faf3c80eb1c /src/dotty/tools/dotc/ast/Desugar.scala
parentad37a192feb2eb0e2ab7415b9ec744310534f39d (diff)
downloaddotty-e3aa7d4042496a0e44f2086943ad3c29a7b8c8b8.tar.gz
dotty-e3aa7d4042496a0e44f2086943ad3c29a7b8c8b8.tar.bz2
dotty-e3aa7d4042496a0e44f2086943ad3c29a7b8c8b8.zip
Empty type trees in desugarings need a TypeTree(), not an EmptyTree
Diffstat (limited to 'src/dotty/tools/dotc/ast/Desugar.scala')
-rw-r--r--src/dotty/tools/dotc/ast/Desugar.scala8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/dotty/tools/dotc/ast/Desugar.scala b/src/dotty/tools/dotc/ast/Desugar.scala
index fc7486efa..7904a9388 100644
--- a/src/dotty/tools/dotc/ast/Desugar.scala
+++ b/src/dotty/tools/dotc/ast/Desugar.scala
@@ -206,7 +206,7 @@ object desugar {
if (mods is Case) {
val caseParams = vparamss.head.toArray
def syntheticProperty(name: TermName, rhs: Tree) =
- DefDef(synthetic, name, Nil, Nil, EmptyTree, rhs)
+ DefDef(synthetic, name, Nil, Nil, TypeTree(), rhs)
val isDefinedMeth = syntheticProperty(nme.isDefined, Literal(Constant(true)))
val productArityMeth = syntheticProperty(nme.productArity, Literal(Constant(caseParams.length)))
val productElemMeths = for (i <- 0 until caseParams.length) yield
@@ -218,7 +218,7 @@ object desugar {
cpy.ValDef(vparam, vparam.mods, vparam.name, vparam.tpt, refOfDef(vparam)))
val copyRestParamss = vparamss.tail.nestedMap(vparam =>
cpy.ValDef(vparam, vparam.mods, vparam.name, vparam.tpt, EmptyTree))
- DefDef(synthetic, nme.copy, tparams, copyFirstParams :: copyRestParamss, EmptyTree, creatorExpr) :: Nil
+ DefDef(synthetic, nme.copy, tparams, copyFirstParams :: copyRestParamss, TypeTree(), creatorExpr) :: Nil
}
copyMeths ::: isDefinedMeth :: productArityMeth :: productElemMeths.toList
}
@@ -254,11 +254,11 @@ 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, EmptyTree, creatorExpr) :: Nil
+ else DefDef(synthetic, nme.apply, tparams, vparamss, TypeTree(), creatorExpr) :: Nil
val unapplyMeth = {
val unapplyParam = makeSyntheticParameter(tpt = classTypeRef)
DefDef(synthetic, nme.unapply, tparams, (unapplyParam :: Nil) :: Nil,
- EmptyTree, Ident(unapplyParam.name))
+ TypeTree(), Ident(unapplyParam.name))
}
companionDefs(parent, applyMeths ::: unapplyMeth :: defaultGetters)
}