给定方法签名,如何获取方法所属的java Class?

How to get the java Class to which a method belongs given the method signature?

我在 Java8 语法上使用 ANTLR 来解析一些 Android 代码,并且我正在搜索具有签名 abortBroadcast() 的方法调用。但是,我需要检查 abortBroadcast() 是否是来自 BroadcastReceiver class 的方法,而不是来自另一个 class 的方法。有什么方法可以获得 abortBroadcast() 方法所属的 Class 吗?

使用 Thread.currentThread().getStackTrace() 获取堆栈跟踪 - 在那里您可以找到当前线程中的所有函数调用。对于每个元素调用 getMethodName() 来查找您的 abortBroadcast()getClassName() 将向您显示 class。