summaryrefslogtreecommitdiff
path: root/test/files/run/typed-annotated
diff options
context:
space:
mode:
authorEugene Burmako <xeno.by@gmail.com>2013-08-29 08:29:26 +0200
committerEugene Burmako <xeno.by@gmail.com>2013-08-29 08:29:26 +0200
commit9772ec8b2f15fd8c2971413d90006beb8bf0d2b7 (patch)
tree3b3b35fda741c01d46a620113ed463689bcc469e /test/files/run/typed-annotated
parentba86ac61f489573d10590c5fc601e73673f204f1 (diff)
downloadscala-9772ec8b2f15fd8c2971413d90006beb8bf0d2b7.tar.gz
scala-9772ec8b2f15fd8c2971413d90006beb8bf0d2b7.tar.bz2
scala-9772ec8b2f15fd8c2971413d90006beb8bf0d2b7.zip
typedAnnotated no longer emits nulls
Adds a null-check in original synthesis for the result of typedAnnotated. Previously it was possible for the aforementioned result to look like TypeTree(<tpe>) setOriginal Annotated(..., null). Not anymore.
Diffstat (limited to 'test/files/run/typed-annotated')
-rw-r--r--test/files/run/typed-annotated/Macros_1.scala17
-rw-r--r--test/files/run/typed-annotated/Test_2.scala3
2 files changed, 20 insertions, 0 deletions
diff --git a/test/files/run/typed-annotated/Macros_1.scala b/test/files/run/typed-annotated/Macros_1.scala
new file mode 100644
index 0000000000..dd18c63d90
--- /dev/null
+++ b/test/files/run/typed-annotated/Macros_1.scala
@@ -0,0 +1,17 @@
+import scala.reflect.macros.Context
+import language.experimental.macros
+
+class ann extends scala.annotation.StaticAnnotation
+
+object Macros {
+ def impl(c: Context) = {
+ import c.universe._
+ // val tpt = Annotated(Apply(Select(New(Ident(newTypeName("ann"))), nme.CONSTRUCTOR), List()), Ident(newTypeName("Int")))
+ val tpt = Annotated(Apply(Select(New(Ident(newTypeName("ann"))), nme.CONSTRUCTOR), List()), TypeTree(weakTypeOf[Int]))
+ c.Expr[Unit](Block(
+ List(ValDef(Modifiers(), newTermName("x"), tpt, Literal(Constant(42)))),
+ Apply(Ident(newTermName("println")), List(Ident(newTermName("x"))))))
+ }
+
+ def foo = macro impl
+} \ No newline at end of file
diff --git a/test/files/run/typed-annotated/Test_2.scala b/test/files/run/typed-annotated/Test_2.scala
new file mode 100644
index 0000000000..acfddae942
--- /dev/null
+++ b/test/files/run/typed-annotated/Test_2.scala
@@ -0,0 +1,3 @@
+object Test extends App {
+ Macros.foo
+} \ No newline at end of file