Отражение для вложенных классов - PullRequest
11 голосов
/ 09 июля 2011

Я вижу, что большинство людей, которые играли со ScalaSigParser, пытаясь как можно лучше идиоматически развить классы Scala, избежали этой проблемы, но я хотел бы знать, возможно ли это.У меня очень похожая ситуация:

trait OuterTrait {
  abstract class InnerAbstract(i: Int)
}

object OuterObject extends OuterTrait {
  case class InnerConcrete(i: Int) extends InnerAbstract(i)
}

val bippy = OuterObject.InnerConcrete(123)

val s = serialize(bippy)

// time passes...

val obj = deserialize[OuterObject.InnerConcrete](s)

Итак, я могу найти ScalaSig для OuterTrait, но мне не удалось найти хороший общий способ идентификации внешнего объекта из класса InnerConcrete.Есть какие-нибудь прототипы?

1 Ответ

2 голосов
/ 21 ноября 2011

Если проблема заключается в переходе от Class внутреннего объекта к Class внешнего объекта, проблема может быть решена в магистрали Scala, один из рассматриваемых билетов: SI-4983 .

...