Получить имя атрибута класса дела без отражения
У меня есть проект, основанный на ScalaJS и upickle. Это означает, что у меня нет доступа к отражению Scala в моем коде на стороне JS. Мне нужно связать атрибуты класса case с их именами, и мне интересно, есть ли способ вывести имя из атрибута.
Скажем, у меня есть следующий код:
case class A(attr1: String, attr2: Int)
def foo[T, U](get: T => U, name: String) = { ... }
foo[A, String](_.attr1, "attr1")
foo[A, Int](_.attr2, "attr2")
Мне интересно, есть ли способ определить foo без необходимости передавать фактическое имя атрибута?
то есть что-то вроде
def foo[T,U](get: T => U) { // infer the name of the attribue ... }
Обратите внимание, что у меня есть доступ к объектам Upickle Reader и Writer для данного класса, поэтому мне интересно, есть ли там полезная возможность?