2011-07-09 21 views
11

Veo que la mayoría de las personas que han estado jugando con ScalaSigParser, en un esfuerzo por ser/des idiomáticas clases de casos Scala de una manera agradable, han evitado este problema, pero me gustaría saber si es posible . Tengo una situación muy parecida a la siguiente:Reflexión para clases anidadas

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) 

Por lo tanto, no puedo encontrar la ScalaSig para OuterTrait, pero no he conseguido encontrar un modo general agradable para identificar el objeto externo de la clase InnerConcrete. ¿Alguna protuberancia?

+3

Hola, votante, ¿podrías decirme por qué? :) –

+0

¿Con qué empiezas? ¿Una instancia de 'java.lang.Class' para la clase' InnerConcrete'? ¿Y quieres encontrar la 'Clase' para el objeto externo? –

Respuesta

2

Si el problema está navegando desde el Class del objeto interior a la Class del objeto exterior, el problema puede ser fijado en tronco Scala, una de las entradas en cuestión beeing SI-4983.

Cuestiones relacionadas