我看到大多数一直在玩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类中的外部对象。任何原型?
答案 0 :(得分:2)
如果问题是从内部对象的Class
导航到外部对象的Class
,则可能会在Scala主干中修复此问题,其中一个有关的问题是{{3} }。