在编译时列出包中的类

时间:2016-11-14 12:40:09

标签: scala jvm scala-macros scala-reflect

我试图在编译时列出包中的所有类。

让我们定义一个具有以下结构的项目:

com.main
   Main.scala
com.package
   Method.scala
com.package.method1
   Method1.scala
com.package.method2
    Method2.scala

其中:

Method.scala

abstract class Method(val name: String) {
}

Method1.scala和Method2.scala(更改各自的名称)

class Method1 extends Method(name = "Method1") {
}

我想从Main.scala中获取com.package._中定义的类列表:

object Main() {
    val names = List("Method1", "Method2")
}

我可以硬编码名称(如图所示),但我想知道是否有可能在编译时获得这些名称。我知道在运行时可以使用http://software.clapper.org/classutil/

0 个答案:

没有答案