0
リフレクションAPIから取得したジェネリック型に基づいてクラスのフルパスを解決しようとしています。 List [Int]のinstaceには "Int" Stringのみがあります。ここに実例があります文字変数をスカラ反射に渡す方法typecheck quasiquote?
val toolBox=universe.runtimeMirror(getClass.getClassLoader).mkToolBox()
toolBox.typecheck(q"??? : Int").tpe.typeSymbol.fullName
フルネームは想定されているとおりです。
しかし、変数の形をquasiQuoteに変換した後 フルネームは、変数が何であっても常にjava.langStringです。 $ {t}がString型の式に解決されたとします。
val t = "Int"
toolBox.typecheck(q"??? : ${t}").tpe.typeSymbol.fullName
あなたが準クォートにタイプの名前をスプライスしたい場合は、それがTypeName
、ないString
する必要があります助けてくれてありがとう、 クリス
「java.lang.Int」は存在しません。 –