2011-07-09 50 views
11

我發現大多數玩過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類識別外部對象一個不錯的一般方法。任何protips?

+3

嘿downvoter,你能讓我知道爲什麼嗎? :) –

+0

你從什麼開始? 'InnerConcrete'類的'java.lang.Class'的一個實例?你想爲外部對象找到'Class'? –

回答

2

如果問題是從內部對象的Class導航到外部對象的Class,則問題可能在Scala主幹中修復,其中一個關注的票證爲SI-4983