Consider the following sealed trait:
sealed trait Type
object Type {
case object S
}
sealed trait Test{
type Tpe <: Type
}
object Test {
type Aux[T <: Type] = Test{ type Tpe = T }
}
Given a ClassSymbol denoting Test.Aux[S.type] is there a way to get a ClassSymbol denoting sealed trait Test?
OP's solution uses symbol internals (
scala.reflect.internal.Symbols#Symbol).This is solution via types: