2011-07-09 17 views
11

Widzę, że większość osób, które grały w ScalaSigParser, próbując w łatwy sposób serowo-des idiomatycznych klas Scala, uniknęło tego problemu, ale chciałbym się dowiedzieć, czy to możliwe . Mam sytuacji, podobnie jak następujące:Odbicie dla klas zagnieżdżonych

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) 

Więc mogę znaleźć ScalaSig dla OuterTrait, ale nie udało się znaleźć ładne ogólny sposób identyfikacji zewnętrznej obiektu z klasy InnerConcrete. Jakieś protopy?

+3

Hej niżej, mógłbyś mi powiedzieć dlaczego? :) –

+0

Na co zwracasz uwagę? Wystąpienie 'java.lang.Class' dla klasy' InnerConcrete'? I chcesz znaleźć "Klasy" dla zewnętrznego obiektu? –

Odpowiedz

2

Jeśli problem jest przechodząc od Class wewnętrznej obiektu do Class zewnętrznej obiektu, problem może być rozwiązany w Scala bagażniku, jednego z zainteresowanych bilety Beeing SI-4983.

Powiązane problemy