scala> class Test; object Test { def a = "a" }
defined class Test
defined module Test
scala> implicit val mirror = scala.reflect.runtime.currentMirror
mirror: reflect.runtime.universe.Mirror = JavaMirror with scala.tool…
scala> import net.fwbrasil.smirror._
import net.fwbrasil.smirror._
scala> val clazz = sClassOf[Test]
clazz: net.fwbrasil.smirror.SClass[Test] = Test
scala> clazz.companionObjectOption
res0: Option[net.fwbrasil.smirror.SInstance[Test]] = Some(Test (bound to Test$@2a51b326))
scala> clazz.companionSClassOption
res1: Option[net.fwbrasil.smirror.SCompanionClass[Test]] = Some(Test)
scala> clazz.companionSClassOption.get.methods
res3: List[net.fwbrasil.smirror.SMethod[Test]] = List(a(): java.lang.String)