嵌套类的反射

时间:2011-07-09 01:40:59

标签: scala reflection nested-class

我看到大多数一直在玩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)

所以,我可以找到适用于OuterTrait的ScalaSig,但我还没有找到一个很好的通用方法来识别InnerConcrete类中的外部对象。任何原型?

1 个答案:

答案 0 :(得分:2)

如果问题是从内部对象的Class导航到外部对象的Class,则可能会在Scala主干中修复此问题,其中一个有关的问题是{{3} }。