Erro de reflexão do Scala: este é um módulo interno, use reflectModule em um InstanceMirror para obter seu ModuleMirror

Seguindo em frenteessa questãoEstou tentando descobrir como chamar um método em um objeto. As definições relevantes são:

trait ThirdParty { def invoke = println("right") }
trait WeatherIcon { def invoke = println("wrong") }
class MyClass {
    object objA extends ThirdParty
    object objB extends WeatherIcon
}

eu tenho umSymbol paraobjA como isso:

import reflect.runtime.universe._

val stuff = typeOf[MyClass].members.filter(_.isValue).filter(_.typeSignature <:< typeOf[ThirdParty])

Isso retorna umIterable com um único elemento, então vamos dizer:

val objASymbol = stuff.head.asModuleSymbol

Eu então tentei, com base emesta outra questão, isto:

val mirror = runtimeMirror(getClass.getClassLoader)
mirror.reflectModule(objASymbol)

O que resultou na mensagem de erro citada no assunto:

java.lang.Error: this is an inner module, use reflectModule on an InstanceMirror to obtain its ModuleMirror
    at scala.reflect.runtime.JavaMirrors$JavaMirror.reflectModule(JavaMirrors.scala:118)
    at scala.reflect.runtime.JavaMirrors$JavaMirror.reflectModule(JavaMirrors.scala:60)

O problema é que não consigo descobrir o que esta mensagem de erro está me dizendo para fazer!

questionAnswers(1)

yourAnswerToTheQuestion