File: reflection-sorted-members.scala

package info (click to toggle)
scala 2.11.12-5
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 62,828 kB
  • sloc: javascript: 28,808; java: 13,415; xml: 3,250; sh: 1,620; python: 756; makefile: 38; awk: 36; ansic: 6
file content (11 lines) | stat: -rw-r--r-- 438 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
object Test  {
  def main(args: Array[String]) {
    trait T1 { def a: Int; def c: Int }
    trait T2 { def a: Int; def b: Int }
    class Bar(val x: Int)
    class Foo(val a: Int, val b: Int, val c: Int) extends Bar(a + b + c) with T1 with T2
    import scala.reflect.runtime.{currentMirror => cm}
    val members = cm.classSymbol(classOf[Foo]).info.members
    members.sorted.toList.filter(!_.isMethod) foreach System.out.println
  }
}