我看到大多数使用ScalaSigParser的人都避免了这个问题,他们努力以一种很好的方式服务/解析习惯的Scala case类,但我想知道这是否可能。我有一个类似于下面的情况:
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类的外部对象。protips吗?
如果这个问题是从内部对象的Class
导航到外部对象的Class
,这个问题可能会在Scala主干中修复,其中一个相关的罚单是SI-4983。