scala ファイルの 1 つでメソッドのパラメーター名を取得する必要があります。-parameter
コンパイラ オプションを使用することで、これを Java で機能させることができます。ただし、scalac で -parameter オプションが見つからなかったため、scala でこれを行うことはできません。
どうすればこれを達成できますか? SOでこの回答を見ましたが、古い回答です。このオプションは java8 でのみ提供されているため、scala(2.11) では使用できませんか? ハックはありますか?
EDIT:(サンプルのscalaコードを追加)
class ReflectionTest {
def method(name: String, id: Long, desc: String) = {
println("Inside the method");
}
}
ReflectionTest
クラスのメソッドパラメーターを読み取ろうとしていますmethod()
object Test extends App {
val methods= Class.forName("com.reflection.ReflectionTest").getMethods
methods filter(_.getName == "method") map { method =>
val param = method.getParameters
param.map {p =>
println("Method : "+method.getName+" , Parameter : "+p.getName)
}
}
}
スカラのバージョン:2.11.2
JDK バージョン:1.8
SBT バージョン :0.13.1