summaryrefslogtreecommitdiff
path: root/test/files/neg/macro-invalidsig/Macros_Test_2.scala
diff options
context:
space:
mode:
authorEugene Burmako <xeno.by@gmail.com>2013-01-14 23:55:25 +0100
committerEugene Burmako <xeno.by@gmail.com>2013-05-28 08:23:44 +0200
commit70f001181734f76064d97ec25b1afd6aad49b684 (patch)
treecfd16d6df0388c26a0f05f6155a53f8c499d77a7 /test/files/neg/macro-invalidsig/Macros_Test_2.scala
parente1d9805c91dbe74317e2f4f22ad59056d64d12b3 (diff)
downloadscala-70f001181734f76064d97ec25b1afd6aad49b684.tar.gz
scala-70f001181734f76064d97ec25b1afd6aad49b684.tar.bz2
scala-70f001181734f76064d97ec25b1afd6aad49b684.zip
refactors macro tests
putting in a nutshell, this patch: * condenses some macro-XXX-a/b/c/... bundles * renames some tests to prepare for other macro flavors * introduces some additional tests
Diffstat (limited to 'test/files/neg/macro-invalidsig/Macros_Test_2.scala')
-rw-r--r--test/files/neg/macro-invalidsig/Macros_Test_2.scala83
1 files changed, 83 insertions, 0 deletions
diff --git a/test/files/neg/macro-invalidsig/Macros_Test_2.scala b/test/files/neg/macro-invalidsig/Macros_Test_2.scala
new file mode 100644
index 0000000000..0a6a321431
--- /dev/null
+++ b/test/files/neg/macro-invalidsig/Macros_Test_2.scala
@@ -0,0 +1,83 @@
+object Macros1 {
+ def foo[U] = macro Impls1.foo[U]
+}
+
+object Macros2 {
+ def foo = macro Impls2.foo
+}
+
+object Macros3 {
+ def foo = macro Impls3.foo
+}
+
+object Macros4 {
+ def foo = macro Impls4.foo
+}
+
+object Macros5 {
+ def foo(x: Any) = macro Impls5.foo
+}
+
+class Macros6[T] {
+ def foo[U](x: Int) = macro Impls6.foo[T, U]
+}
+
+object Macros7 {
+ def foo(x: Int) = macro Impls7.foo
+}
+
+object Macros8 {
+ def foo(x: Int) = macro Impls8.foo
+}
+
+object Macros9 {
+ def foo(x: Int, y: Int) = macro Impls9.foo
+}
+
+object Macros10 {
+ def foo(x: Int, y: Int) = macro Impls10.foo
+}
+
+object Macros11 {
+ def foo[U] = macro Impls11.foo[U]
+}
+
+object Macros12 {
+ def foo[U] = macro Impls12.foo[U]
+}
+
+object Macros13 {
+ def foo[U <: Int] = macro Impls13.foo[U]
+}
+
+object Macros14 {
+ def foo = macro Impls14.foo
+}
+
+class D[T] {
+ class C[U] {
+ def foo15[V] = macro Impls15.foo
+ def foo16[V] = macro Impls16.foo[V]
+ }
+}
+
+object Test extends App {
+ println(Macros1.foo[String])
+ println(Macros2.foo)
+ println(Macros3.foo)
+ println(Macros4.foo)
+ println(Macros5.foo(42))
+ println(new Macros6[Int]().foo[String](42))
+ println(Macros7.foo(42))
+ println(Macros8.foo)
+ println(Macros9.foo(4, 2))
+ println(Macros10.foo(4, 2))
+ println(Macros11.foo[Int])
+ println(Macros12.foo[Int])
+ println(Macros13.foo[Int])
+ println(Macros14.foo)
+ val outer1 = new D[Int]
+ val outer2 = new outer1.C[String]
+ outer2.foo15[Boolean]
+ outer2.foo16[Boolean]
+} \ No newline at end of file