diff options
author | Eugene Burmako <xeno.by@gmail.com> | 2014-01-28 19:37:59 +0300 |
---|---|---|
committer | Eugene Burmako <xeno.by@gmail.com> | 2014-02-14 14:19:44 +0100 |
commit | 0268e03cb461b0c7e8ae2082894988395fc0994a (patch) | |
tree | 7dec4c177aad62a2209601a0f5327e243c3340b2 /test/files/run/reflection-scala-annotations.scala | |
parent | c7fd03900b7023967f22932f1f32b98d57983e9b (diff) | |
download | scala-0268e03cb461b0c7e8ae2082894988395fc0994a.tar.gz scala-0268e03cb461b0c7e8ae2082894988395fc0994a.tar.bz2 scala-0268e03cb461b0c7e8ae2082894988395fc0994a.zip |
SI-8118 simplifies Annotation down to a plain Tree
As per https://groups.google.com/forum/#!topic/scala-internals/8v2UL-LR9yY,
annotations don’t have to be represented as AnnotationInfos and can be
reduced to plain Trees.
Due to compatibility reasons and because of the limitations of the cake
pattern used in implementing current version of Reflection, we can’t
just say `type Annotation = Tree`, however what we can definitely do is
to deprecate all the methods on Annotation and expose `tree: Tree` instead.
Diffstat (limited to 'test/files/run/reflection-scala-annotations.scala')
-rw-r--r-- | test/files/run/reflection-scala-annotations.scala | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/test/files/run/reflection-scala-annotations.scala b/test/files/run/reflection-scala-annotations.scala new file mode 100644 index 0000000000..f6a6895ee0 --- /dev/null +++ b/test/files/run/reflection-scala-annotations.scala @@ -0,0 +1,16 @@ +import scala.reflect.runtime.universe._ +import scala.annotation._ + +class sann(x: Int, y: List[Int]) extends StaticAnnotation +class jann(x: Int, y: Array[Int]) extends ClassfileAnnotation + +@sann(1, List(1, 2)) +class S + +@jann(y = Array(1, 2), x = 2) +class J + +object Test extends App { + println(symbolOf[S].annotations.head.tree) + println(symbolOf[J].annotations.head.tree) +} |