私はマクロ注釈に取り組んでおり、次のようなものがあります。
def findClass(className: String) : ClassSymbol = {
val tree = c.typecheck(c.parse(s"??? : ${className}"));
return tree.tpe.typeSymbol.asClass;
}
問題は、 whenclassNameが のようなものである場合List、パラメーターが必要なため、明らかに不平を言うことです。であればList[String]問題ありません。
正直なところ、classOf[List]リストのジェネリック型が不変であることを考慮して、たとえば が受け入れられない理由がよくわかりません。classOf[List[String]]と を実行するとclassOf[List[Integer]]、同じクラスが返されます。
findClassしたがって、私のメソッドが常にパラメーターなしのクラス、または不変パラメーターを含むクラスを受け取ると仮定すると、どのようにタイプチェックできValDefますか?