Да предположим, че имам тип, Резултат:
trait Result[+T] {
def getValue: T
}
и подтип на тази черта, AnyValResult:
class AnyValResult(value: AnyVal) extends Result[AnyVal] {
override def getValue: AnyVal = value
}
Искам да мога да попитам библиотеката за отражение на Scala за всички подтипове от типа Result[_] и тя да върне колекция, която включва AnyValResult.
Виждал съм много хора да задават този въпрос и изглежда всички казват, че са го направили с помощта на инструменти на трети страни. Това беше преди няколко години. Освен обратното инженерство на инструментите на трети страни, има ли начин да направите това, който беше въведен в по-новите версии на Scala? Бих предпочел да не се налага да препращам към произволен проект в Github, ако мога да го направя директно с отражение.