Scala: создание экземпляра из ClassDef
Я играю с метапрограммированием Scala. Допустим, я "определяю" класс case с помощью квазицитат:
scala> val t = q"case class Person(name: String)"
t: reflect.runtime.universe.ClassDef =
case class Person extends scala.Product with scala.Serializable {
<caseaccessor> <paramaccessor> val name: String = _;
def <init>(name: String) = {
super.<init>();
()
}
}
Как я могу создать объект из этого определения. Кроме того, есть ли способ для меня назначить имя типа (например, Person) для этого, чтобы я мог ссылаться на этот тип как Person
?