File: t6860.scala

package info (click to toggle)
scala 2.11.12-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 62,924 kB
  • sloc: javascript: 28,808; java: 13,415; xml: 3,135; sh: 1,620; python: 756; makefile: 38; awk: 36; ansic: 6
file content (20 lines) | stat: -rw-r--r-- 563 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Bippy[T](val value: T) extends annotation.StaticAnnotation

class A {
  @Bippy("hi") def f1: Int = 1
  @Bippy[String]("hi") def f2: Int = 2

  @throws("what do I throw?") def f3 = throw new RuntimeException
  @throws[RuntimeException]("that's good to know!") def f4 = throw new RuntimeException
}

object Test {
  import scala.reflect.runtime.universe._

  def main(args: Array[String]): Unit = {
    val members = typeOf[A].decls.toList
    val tpes = members flatMap (_.annotations) map (_.tree.tpe)

    tpes.map(_.toString).sorted foreach println
  }
}