diff options
author | Martin Odersky <odersky@gmail.com> | 2014-07-06 18:26:24 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2014-08-13 14:54:05 +0200 |
commit | a878d19e48455ca600f3fbe6e36c6ddd687e14ff (patch) | |
tree | 624773cda76db0702fc9b3ca3dcdd338f8177c49 /test | |
parent | 34f73ded3519a1df7d278685f3f33facd00f1c58 (diff) | |
download | dotty-a878d19e48455ca600f3fbe6e36c6ddd687e14ff.tar.gz dotty-a878d19e48455ca600f3fbe6e36c6ddd687e14ff.tar.bz2 dotty-a878d19e48455ca600f3fbe6e36c6ddd687e14ff.zip |
Changes to tree copying
1) Add copiers with default arguments, to avoid boilerplate
2) All copiers are now curried wrt first argument (which is
the original tree).
We already make use of the new features in cpy.DefDef, but not yet elsewhere.
Diffstat (limited to 'test')
-rw-r--r-- | test/test/DeSugarTest.scala | 24 | ||||
-rw-r--r-- | test/test/transform/TreeTransformerTest.scala | 16 |
2 files changed, 20 insertions, 20 deletions
diff --git a/test/test/DeSugarTest.scala b/test/test/DeSugarTest.scala index f38706d67..c628a9ad1 100644 --- a/test/test/DeSugarTest.scala +++ b/test/test/DeSugarTest.scala @@ -42,29 +42,29 @@ class DeSugarTest extends ParserTest { case PostfixOp(od, op) => PostfixOp(transform(od), op) case Select(qual, name) => - cpy.Select(tree1, transform(qual, Expr), name) + cpy.Select(tree1)(transform(qual, Expr), name) case Apply(fn, args) => - cpy.Apply(tree1, transform(fn, Expr), transform(args)) + cpy.Apply(tree1)(transform(fn, Expr), transform(args)) case TypeApply(fn, args) => - cpy.TypeApply(tree1, transform(fn, Expr), transform(args, Type)) + cpy.TypeApply(tree1)(transform(fn, Expr), transform(args, Type)) case New(tpt) => - cpy.New(tree1, transform(tpt, Type)) + cpy.New(tree1)(transform(tpt, Type)) case Typed(expr, tpt) => - cpy.Typed(tree1, transform(expr), transform(tpt, Type)) + cpy.Typed(tree1)(transform(expr), transform(tpt, Type)) case CaseDef(pat, guard, body) => - cpy.CaseDef(tree1, transform(pat, Pattern), transform(guard), transform(body)) + cpy.CaseDef(tree1)(transform(pat, Pattern), transform(guard), transform(body)) case SeqLiteral(elems) => - cpy.SeqLiteral(tree1, transform(elems)) + cpy.SeqLiteral(tree1)(transform(elems)) case UnApply(fun, implicits, patterns) => - cpy.UnApply(tree1, transform(fun, Expr), transform(implicits), transform(patterns)) + cpy.UnApply(tree1)(transform(fun, Expr), transform(implicits), transform(patterns)) case ValDef(mods, name, tpt, rhs) => - cpy.ValDef(tree1, mods, name, transform(tpt, Type), transform(rhs)) + cpy.ValDef(tree1)(mods, name, transform(tpt, Type), transform(rhs)) case DefDef(mods, name, tparams, vparamss, tpt, rhs) => - cpy.DefDef(tree1, mods, name, transformSub(tparams), vparamss mapConserve (transformSub(_)), transform(tpt, Type), transform(rhs)) + cpy.DefDef(tree1)(mods, name, transformSub(tparams), vparamss mapConserve (transformSub(_)), transform(tpt, Type), transform(rhs)) case tree1 @ TypeDef(mods, name, rhs) => - cpy.TypeDef(tree1, mods, name, transform(rhs, Type), transformSub(tree1.tparams)) + cpy.TypeDef(tree1)(mods, name, transform(rhs, Type), transformSub(tree1.tparams)) case Template(constr, parents, self, body) => - cpy.Template(tree1, transformSub(constr), transform(parents), transformSub(self), transform(body, Expr)) + cpy.Template(tree1)(transformSub(constr), transform(parents), transformSub(self), transform(body, Expr)) case Thicket(trees) => Thicket(flatten(trees mapConserve super.transform)) case tree1 => diff --git a/test/test/transform/TreeTransformerTest.scala b/test/test/transform/TreeTransformerTest.scala index aea372bf4..bfabc2f2c 100644 --- a/test/test/transform/TreeTransformerTest.scala +++ b/test/test/transform/TreeTransformerTest.scala @@ -66,7 +66,7 @@ class TreeTransformerTest extends DottyTest { Assert.assertTrue("transformation of children succeeded", tree.rhs.toString == "Literal(Constant(-1))" ) - tpd.cpy.ValDef(tree, tree.mods, tree.name, tree.tpt, tpd.Literal(Constant(2))) + tpd.cpy.ValDef(tree)(tree.mods, tree.name, tree.tpt, tpd.Literal(Constant(2))) } init(ctx, ctx.period.firstPhaseId, ctx.period.lastPhaseId) @@ -95,14 +95,14 @@ class TreeTransformerTest extends DottyTest { Assert.assertTrue("correct constant", tree.const.toString == "Constant(1)" ) - tpd.cpy.Literal(tree, Constant(-1)) + tpd.cpy.Literal(tree)(Constant(-1)) } override def transformValDef(tree: tpd.ValDef)(implicit ctx: Context, info: TransformerInfo): tpd.ValDef = { Assert.assertTrue("transformation of children succeeded", tree.rhs.toString == "Literal(Constant(-1))" ) - tpd.cpy.ValDef(tree, tree.mods, tree.name, tree.tpt, tpd.Literal(Constant(2))) + tpd.cpy.ValDef(tree)(tree.mods, tree.name, tree.tpt, tpd.Literal(Constant(2))) } init(ctx, ctx.period.firstPhaseId, ctx.period.lastPhaseId) @@ -113,7 +113,7 @@ class TreeTransformerTest extends DottyTest { Assert.assertTrue("transformation of children succeeded", tree.rhs.toString == "Literal(Constant(2))" ) - tpd.cpy.ValDef(tree, tree.mods, tree.name, tree.tpt, tpd.Literal(Constant(3))) + tpd.cpy.ValDef(tree)(tree.mods, tree.name, tree.tpt, tpd.Literal(Constant(3))) } init(ctx, ctx.period.firstPhaseId, ctx.period.lastPhaseId) @@ -142,7 +142,7 @@ class TreeTransformerTest extends DottyTest { Assert.assertTrue("correct constant", tree.const.toString == "Constant(1)" ) - tpd.cpy.Literal(tree, Constant(-1)) + tpd.cpy.Literal(tree)(Constant(-1)) } override def transformValDef(tree: tpd.ValDef)(implicit ctx: Context, info: TransformerInfo) = { @@ -150,7 +150,7 @@ class TreeTransformerTest extends DottyTest { Assert.assertTrue("transformation of children succeeded", tree.rhs.toString == "Literal(Constant(-3))" ) - tpd.cpy.ValDef(tree, tree.mods, tree.name, tree.tpt, transformFollowing(tpd.Literal(Constant(2)))) + tpd.cpy.ValDef(tree)(tree.mods, tree.name, tree.tpt, transformFollowing(tpd.Literal(Constant(2)))) } init(ctx, ctx.period.firstPhaseId, ctx.period.lastPhaseId) @@ -173,7 +173,7 @@ class TreeTransformerTest extends DottyTest { case _ => Assert.fail("to many constants seen") } constantsSeen += 1 - tpd.cpy.Literal(tree, Constant(-3)) + tpd.cpy.Literal(tree)(Constant(-3)) } override def transformValDef(tree: tpd.ValDef)(implicit ctx: Context, info: TransformerInfo) = { @@ -181,7 +181,7 @@ class TreeTransformerTest extends DottyTest { Assert.assertTrue("transformation of children succeeded", tree.rhs.toString == "Literal(Constant(-3))" ) - transformFollowing(tpd.cpy.ValDef(tree, tree.mods, tree.name, tree.tpt, tpd.Literal(Constant(3)))) + transformFollowing(tpd.cpy.ValDef(tree)(tree.mods, tree.name, tree.tpt, tpd.Literal(Constant(3)))) } init(ctx, ctx.period.firstPhaseId, ctx.period.lastPhaseId) |