如何通过 MethodSymbol 获取方法的声明类型?

How to get the declaring Type of a Method by MethodSymbol?

我想找出在子类型中定义方法的实际类型。例如:

typeOf[List[_]].decl(TermName("map")).asMethod.?declaringType?

如在 Java 中一样,您可以调用 Method::getDeclaringClass 来获取声明该方法的 Class。我怎样才能在 Scala 中做到这一点?我检查了 infotypeSignature,它们只包含方法签名但没有包含 class 信息。

您可以使用

typeOf[List[_]].decl(TermName("map")).asMethod.owner.asType //class List