2011-07-09 12 views
11

ScalaSigParserで遊んでいたほとんどの人がScalaのケースクラスをうまく処理するためにこの問題を回避しましたが、可能かどうかを知りたいと思います。だから、私はOuterTraitためScalaSigを見つけることができますネストされたクラスのリフレクション

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) 

、私はInnerConcreteクラスから外側のオブジェクトを識別するための良い一般的な方法を見つけるために管理していない:私はずっと、以下のような状況があります。すべてのprotips?

+3

ちょっとdownvoter、なぜ私に教えてくれますか? :) –

+0

あなたはどうしますか? 'InnerConcrete'クラスの' java.lang.Class'のインスタンス?外側のオブジェクトの 'Class'を探したいのですか? –

答えて

2

問題が内側オブジェクトのClassから外側オブジェクトのClassに移動している場合は、SI-4983に関係するチケットの1つであるScalaトランクで問題が修正されることがあります。

関連する問題