aboutsummaryrefslogtreecommitdiff
path: root/test/test/transform
diff options
context:
space:
mode:
authorDmitry Petrashko <dmitry.petrashko@gmail.com>2014-03-17 22:25:47 +0100
committerDmitry Petrashko <dmitry.petrashko@gmail.com>2014-03-19 15:53:47 +0100
commit09d02bd3670b947da147aec40835822d894b17b0 (patch)
tree01e81ad97df8b0e3e59cb72b3b77893e1d6f1070 /test/test/transform
parent5cbd2fbc8409b446f8751792b006693e1d091055 (diff)
downloaddotty-09d02bd3670b947da147aec40835822d894b17b0.tar.gz
dotty-09d02bd3670b947da147aec40835822d894b17b0.tar.bz2
dotty-09d02bd3670b947da147aec40835822d894b17b0.zip
Allow MiniPhase to be DenotTransformer
All MiniPhases now as are full-fledged phases, and are given their own periods and can register DenotTransformers. MiniPhases belonging to same group(list) will be squashed to single phase.
Diffstat (limited to 'test/test/transform')
-rw-r--r--test/test/transform/CreateCompanionObjectsTest.scala22
-rw-r--r--test/test/transform/LazyValsTest.scala3
-rw-r--r--test/test/transform/PostTyperTransformerTest.scala30
-rw-r--r--test/test/transform/TreeTransformerTest.scala33
4 files changed, 55 insertions, 33 deletions
diff --git a/test/test/transform/CreateCompanionObjectsTest.scala b/test/test/transform/CreateCompanionObjectsTest.scala
index 95a84f4e0..bee9b414e 100644
--- a/test/test/transform/CreateCompanionObjectsTest.scala
+++ b/test/test/transform/CreateCompanionObjectsTest.scala
@@ -28,8 +28,10 @@ class CreateCompanionObjectsTest extends DottyTest {
implicit val ctx = context
val transformer = new PostTyperTransformer {
- override def transformations = Array(new CreateCompanionObjects(_, _) {
- override def predicate(cts: TypeDef): Boolean = true
+ override def transformations = Array(new CreateCompanionObjects {
+
+ override def name: String = "create all companion objects"
+ override def predicate(cts: TypeDef)(implicit ctx:Context): Boolean = true
})
override def name: String = "test"
@@ -51,8 +53,10 @@ class CreateCompanionObjectsTest extends DottyTest {
(tree, context) =>
implicit val ctx = context
val transformer = new PostTyperTransformer {
- override def transformations = Array(new CreateCompanionObjects(_, _) {
- override def predicate(cts: TypeDef): Boolean = true
+ override def transformations = Array(new CreateCompanionObjects {
+
+ override def name: String = "create all companion modules"
+ override def predicate(cts: TypeDef)(implicit ctx:Context): Boolean = true
})
override def name: String = "test"
@@ -73,8 +77,9 @@ class CreateCompanionObjectsTest extends DottyTest {
(tree, context) =>
implicit val ctx = context
val transformer = new PostTyperTransformer {
- override def transformations = Array(new CreateCompanionObjects(_, _) {
- override def predicate(cts: TypeDef): Boolean = true
+ override def transformations = Array(new CreateCompanionObjects {
+ override def name: String = "create all companion modules"
+ override def predicate(cts: TypeDef)(implicit ctx:Context): Boolean = true
})
override def name: String = "test"
@@ -95,8 +100,9 @@ class CreateCompanionObjectsTest extends DottyTest {
(tree, context) =>
implicit val ctx = context
val transformer = new PostTyperTransformer {
- override def transformations = Array(new CreateCompanionObjects(_, _) {
- override def predicate(cts: TypeDef): Boolean = cts.name.toString.contains("CREATE")
+ override def transformations = Array(new CreateCompanionObjects {
+ override def name: String = "create all companion modules"
+ override def predicate(cts: TypeDef)(implicit ctx:Context): Boolean = cts.name.toString.contains("CREATE")
})
override def name: String = "test"
diff --git a/test/test/transform/LazyValsTest.scala b/test/test/transform/LazyValsTest.scala
index c14ee3e98..edcc7ce0c 100644
--- a/test/test/transform/LazyValsTest.scala
+++ b/test/test/transform/LazyValsTest.scala
@@ -14,7 +14,7 @@ class LazyValsTest extends DottyTest {
))
}
}
- /*
+
@Test
def localLong = {
checkCompile("LazyVals", "class LocalLV { def m = { lazy val s = 1L; s }}"){ (tree, ctx) =>
@@ -346,5 +346,4 @@ class LazyValsTest extends DottyTest {
treeS.contains(moduleField) && treeS.contains(reuseFieldPattern))
}
}
- */
}
diff --git a/test/test/transform/PostTyperTransformerTest.scala b/test/test/transform/PostTyperTransformerTest.scala
index 50696728e..040f871a2 100644
--- a/test/test/transform/PostTyperTransformerTest.scala
+++ b/test/test/transform/PostTyperTransformerTest.scala
@@ -22,9 +22,11 @@ class PostTyperTransformerTest extends DottyTest {
def shouldStripImports = checkCompile("frontend", "class A{ import scala.collection.mutable._; val d = 1}") {
(tree, context) =>
implicit val ctx = context
- class EmptyTransform(group: TreeTransformer, idx: Int) extends TreeTransform(group, idx) {}
+ class EmptyTransform extends TreeTransform {
+ override def name: String = "empty"
+ }
val transformer = new PostTyperTransformer {
- override def transformations = Array(new EmptyTransform(_, _))
+ override def transformations = Array(new EmptyTransform)
override def name: String = "test"
}
@@ -39,9 +41,11 @@ class PostTyperTransformerTest extends DottyTest {
def shouldStripNamedArgs = checkCompile("frontend", "class A{ def p(x:Int, y:Int= 2) = 1; p(1, y = 2)}") {
(tree, context) =>
implicit val ctx = context
- class EmptyTransform(group: TreeTransformer, idx: Int) extends TreeTransform(group, idx) {}
+ class EmptyTransform extends TreeTransform {
+ override def name: String = "empty"
+ }
val transformer = new PostTyperTransformer {
- override def transformations = Array(new EmptyTransform(_, _))
+ override def transformations = Array(new EmptyTransform)
override def name: String = "test"
}
@@ -56,9 +60,11 @@ class PostTyperTransformerTest extends DottyTest {
def shouldReorderExistingObjectsInPackage = checkCompile("frontend", "object A{}; class A{} ") {
(tree, context) =>
implicit val ctx = context
- class EmptyTransform(group: TreeTransformer, idx: Int) extends TreeTransform(group, idx) {}
+ class EmptyTransform extends TreeTransform {
+ override def name: String = "empty"
+ }
val transformer = new PostTyperTransformer {
- override def transformations = Array(new EmptyTransform(_, _))
+ override def transformations = Array(new EmptyTransform)
override def name: String = "test"
}
@@ -77,9 +83,11 @@ class PostTyperTransformerTest extends DottyTest {
def shouldReorderExistingObjectsInBlock = checkCompile("frontend", "class D {def p = {object A{}; class A{}; 1}} ") {
(tree, context) =>
implicit val ctx = context
- class EmptyTransform(group: TreeTransformer, idx: Int) extends TreeTransform(group, idx) {}
+ class EmptyTransform extends TreeTransform {
+ override def name: String = "empty"
+ }
val transformer = new PostTyperTransformer {
- override def transformations = Array(new EmptyTransform(_, _))
+ override def transformations = Array(new EmptyTransform)
override def name: String = "test"
}
@@ -98,9 +106,11 @@ class PostTyperTransformerTest extends DottyTest {
def shouldReorderExistingObjectsInTemplate = checkCompile("frontend", "class D {object A{}; class A{}; } ") {
(tree, context) =>
implicit val ctx = context
- class EmptyTransform(group: TreeTransformer, idx: Int) extends TreeTransform(group, idx) {}
+ class EmptyTransform extends TreeTransform {
+ override def name: String = "empty"
+ }
val transformer = new PostTyperTransformer {
- override def transformations = Array(new EmptyTransform(_, _))
+ override def transformations = Array(new EmptyTransform)
override def name: String = "test"
}
diff --git a/test/test/transform/TreeTransformerTest.scala b/test/test/transform/TreeTransformerTest.scala
index 5d4a6fa06..88ed9ce53 100644
--- a/test/test/transform/TreeTransformerTest.scala
+++ b/test/test/transform/TreeTransformerTest.scala
@@ -15,9 +15,11 @@ class TreeTransformerTest extends DottyTest {
def shouldReturnSameTreeIfUnchanged = checkCompile("frontend", "class A{ val d = 1}") {
(tree, context) =>
implicit val ctx = context
- class EmptyTransform(group: TreeTransformer, idx: Int) extends TreeTransform(group, idx) {}
+ class EmptyTransform extends TreeTransform {
+ override def name: String = "empty"
+ }
val transformer = new TreeTransformer {
- override def transformations = Array(new EmptyTransform(_, _))
+ override def transformations = Array(new EmptyTransform)
override def name: String = "test"
}
@@ -32,12 +34,13 @@ class TreeTransformerTest extends DottyTest {
def canReplaceConstant = checkCompile("frontend", "class A{ val d = 1}") {
(tree, context) =>
implicit val ctx = context
- class ConstantTransform(group: TreeTransformer, idx: Int) extends TreeTransform(group, idx) {
+ class ConstantTransform extends TreeTransform {
override def transformLiteral(tree: tpd.Literal)(implicit ctx: Context, info: TransformerInfo): tpd.Tree = tpd.Literal(Constant(2))
+ override def name: String = "canReplaceConstant"
}
val transformer = new TreeTransformer {
- override def transformations = Array(new ConstantTransform(_, _))
+ override def transformations = Array(new ConstantTransform)
override def name: String = "test"
}
@@ -52,9 +55,10 @@ class TreeTransformerTest extends DottyTest {
def canOverwrite = checkCompile("frontend", "class A{ val d = 1}") {
(tree, context) =>
implicit val ctx = context
- class Transformation(group: TreeTransformer, idx: Int) extends TreeTransform(group, idx) {
+ class Transformation extends TreeTransform {
override def transformLiteral(tree: tpd.Literal)(implicit ctx: Context, info: TransformerInfo): tpd.Tree = tpd.Literal(Constant(-1))
+ override def name: String = "canOverwrite"
override def transformValDef(tree: tpd.ValDef)(implicit ctx: Context, info: TransformerInfo): tpd.ValDef = {
Assert.assertTrue("transformation of children succeeded",
@@ -64,7 +68,7 @@ class TreeTransformerTest extends DottyTest {
}
}
val transformer = new TreeTransformer {
- override def transformations = Array(new Transformation(_, _))
+ override def transformations = Array(new Transformation)
override def name: String = "test"
}
@@ -79,7 +83,8 @@ class TreeTransformerTest extends DottyTest {
def transformationOrder = checkCompile("frontend", "class A{ val d = 1}") {
(tree, context) =>
implicit val ctx = context
- class Transformation1(group: TreeTransformer, idx: Int) extends TreeTransform(group, idx) {
+ class Transformation1 extends TreeTransform {
+ override def name: String = "transformationOrder1"
override def transformLiteral(tree: tpd.Literal)(implicit ctx: Context, info: TransformerInfo): tpd.Tree = {
Assert.assertTrue("correct constant",
@@ -95,7 +100,8 @@ class TreeTransformerTest extends DottyTest {
tpd.cpy.ValDef(tree, tree.mods, tree.name, tree.tpt, tpd.Literal(Constant(2)))
}
}
- class Transformation2(group: TreeTransformer, idx: Int) extends TreeTransform(group, idx) {
+ class Transformation2 extends TreeTransform {
+ override def name: String = "transformationOrder2"
override def transformValDef(tree: tpd.ValDef)(implicit ctx: Context, info: TransformerInfo): tpd.ValDef = {
Assert.assertTrue("transformation of children succeeded",
tree.rhs.toString == "Literal(Constant(2))"
@@ -104,7 +110,7 @@ class TreeTransformerTest extends DottyTest {
}
}
val transformer = new TreeTransformer {
- override def transformations = Array(new Transformation1(_, _), new Transformation2(_, _))
+ override def transformations = Array(new Transformation1, new Transformation2)
override def name: String = "test"
}
@@ -120,7 +126,8 @@ class TreeTransformerTest extends DottyTest {
(tree, context) =>
implicit val ctx = context
var transformed1 = 0
- class Transformation1(group: TreeTransformer, idx: Int) extends TreeTransform(group, idx) {
+ class Transformation1 extends TreeTransform {
+ override def name: String = "invocationCount1"
override def transformLiteral(tree: tpd.Literal)(implicit ctx: Context, info: TransformerInfo): tpd.Tree = {
transformed1 += 1
Assert.assertTrue("correct constant",
@@ -138,9 +145,9 @@ class TreeTransformerTest extends DottyTest {
}
}
var transformed2 = 0
- class Transformation2(group: TreeTransformer, idx: Int) extends TreeTransform(group, idx) {
+ class Transformation2 extends TreeTransform {
var constantsSeen = 0
-
+ override def name: String = "invocationCount2"
override def transformLiteral(tree: tpd.Literal)(implicit ctx: Context, info: TransformerInfo): tpd.Tree = {
transformed2 += 1
constantsSeen match {
@@ -167,7 +174,7 @@ class TreeTransformerTest extends DottyTest {
}
}
val transformer = new TreeTransformer {
- override def transformations = Array(new Transformation1(_, _), new Transformation2(_, _))
+ override def transformations = Array(new Transformation1, new Transformation2)
override def name: String = "test"
}