2013-02-21 7 views
5

パッケージからすべてのクラスをリストし、新しいリフレクションAPI(2.10)でメタデータ情報を抽出しようとしています。クラス[_]をuniverse.Type/Symbolに変換する

私は間違っているかもしれませんが、スカラーAPIのパッケージからクラスをリストするサポートはありません。

私はjava libraryを使用していますが、それは返すだけClass<?>

Class[_]universe.Typeまたはuniverse.Symbolに変換することは可能でしょうか?あなたのクラスローダのため

val cls: Class[_] = someObject.getClass 

あなたが取得する必要runtimeMmirrorJavaMirror)とランタイムを変換し、そのclassSymbolメソッドを呼び出す:

答えて

10

あなたは、ランタイムクラスがあるとしscala.reflect.runtime.universeJavaUniverse

のミラーを使用しshoudこの宇宙のClassSymbolクラス:

import scala.reflect.runtime._ 

val typ: universe.ClassSymbol = universe.runtimeMirror(cls.getClassLoader).classSymbol(cls) 
関連する問題