パッケージからすべてのクラスを一覧表示し、新しいリフレクション API (2.10) を介していくつかのメタデータ情報を抽出しようとしています。
私は間違っているかもしれませんが、scala API のパッケージからクラスを一覧表示することはサポートされていないようです。
私はJavaライブラリを使用していますが、それはClass<?>
Class[_]
aをuniverse.Type
またはuniverse.Symbol
?に変換することは可能です。
パッケージからすべてのクラスを一覧表示し、新しいリフレクション API (2.10) を介していくつかのメタデータ情報を抽出しようとしています。
私は間違っているかもしれませんが、scala API のパッケージからクラスを一覧表示することはサポートされていないようです。
私はJavaライブラリを使用していますが、それはClass<?>
Class[_]
aをuniverse.Type
またはuniverse.Symbol
?に変換することは可能です。
scala.reflect.runtime.universe
(JavaUniverse)のミラーを使用する必要があります
ランタイム クラスがあるとします。
val cls: Class[_] = someObject.getClass
runtimeMmirror
クラスローダーの( JavaMirror ) を取得し、そのclassSymbol
メソッドを呼び出す必要があります。これにより、ランタイム クラスがこのユニバースの ClassSymbol に変換されます。
import scala.reflect.runtime._
val typ: universe.ClassSymbol = universe.runtimeMirror(cls.getClassLoader).classSymbol(cls)