diff options
author | Eugene Burmako <xeno.by@gmail.com> | 2013-06-02 11:51:30 -0700 |
---|---|---|
committer | Eugene Burmako <xeno.by@gmail.com> | 2013-06-02 11:51:30 -0700 |
commit | f89f2d969fa0ed0a6bf036a1f6a9cad8267a7265 (patch) | |
tree | fd8c35098c25edaffbcec2161054bb00ba3b7b33 /test/files | |
parent | 681f2070053bc6f3133425b44083fe056bfeb1fa (diff) | |
parent | 4dc3a3319705ba9cdf63978bbed9a2fc8051b34f (diff) | |
download | scala-f89f2d969fa0ed0a6bf036a1f6a9cad8267a7265.tar.gz scala-f89f2d969fa0ed0a6bf036a1f6a9cad8267a7265.tar.bz2 scala-f89f2d969fa0ed0a6bf036a1f6a9cad8267a7265.zip |
Merge pull request #2619 from scalamacros/ticket/7375
SI-7375 ClassTag for value class aliases
Diffstat (limited to 'test/files')
-rw-r--r-- | test/files/run/t7375a.check | 4 | ||||
-rw-r--r-- | test/files/run/t7375a.scala | 16 | ||||
-rw-r--r-- | test/files/run/t7375b.check | 4 | ||||
-rw-r--r-- | test/files/run/t7375b/Macros_1.scala | 18 | ||||
-rw-r--r-- | test/files/run/t7375b/Test_2.scala | 3 |
5 files changed, 45 insertions, 0 deletions
diff --git a/test/files/run/t7375a.check b/test/files/run/t7375a.check new file mode 100644 index 0000000000..a0a15dfb2f --- /dev/null +++ b/test/files/run/t7375a.check @@ -0,0 +1,4 @@ +C1 +C2 +C1 +C2 diff --git a/test/files/run/t7375a.scala b/test/files/run/t7375a.scala new file mode 100644 index 0000000000..e46ad08f63 --- /dev/null +++ b/test/files/run/t7375a.scala @@ -0,0 +1,16 @@ +import scala.reflect.ClassTag + +class C1(val n: Int) extends AnyVal +class C2(val n: Int) extends AnyRef + +object Test { + type F1 = C1 + type F2 = C2 + + def main(args: Array[String]): Unit = { + println(implicitly[ClassTag[C1]]) + println(implicitly[ClassTag[C2]]) + println(implicitly[ClassTag[F1]]) + println(implicitly[ClassTag[F2]]) + } +} diff --git a/test/files/run/t7375b.check b/test/files/run/t7375b.check new file mode 100644 index 0000000000..d7578e28ba --- /dev/null +++ b/test/files/run/t7375b.check @@ -0,0 +1,4 @@ +Predef.this.classOf[C1] +Predef.this.classOf[C2] +Predef.this.classOf[C1] +Predef.this.classOf[C2] diff --git a/test/files/run/t7375b/Macros_1.scala b/test/files/run/t7375b/Macros_1.scala new file mode 100644 index 0000000000..70e79cc2b4 --- /dev/null +++ b/test/files/run/t7375b/Macros_1.scala @@ -0,0 +1,18 @@ +import language.experimental.macros +import scala.reflect.macros.Context + +class C1(val n: Int) extends AnyVal +class C2(val n: Int) extends AnyRef + +object Macros { + type F1 = C1 + type F2 = C2 + + def foo = macro impl + def impl(c: Context) = { + import c.universe._ + def test[T: c.TypeTag] = reify(println(c.literal(c.reifyRuntimeClass(c.typeOf[T]).toString).splice)).tree + def tests = Block(List(test[C1], test[C2], test[F1], test[F2]), Literal(Constant(()))) + c.Expr[Unit](tests) + } +}
\ No newline at end of file diff --git a/test/files/run/t7375b/Test_2.scala b/test/files/run/t7375b/Test_2.scala new file mode 100644 index 0000000000..acfddae942 --- /dev/null +++ b/test/files/run/t7375b/Test_2.scala @@ -0,0 +1,3 @@ +object Test extends App { + Macros.foo +}
\ No newline at end of file |