如何获取正在执行的编译方法

时间:2014-07-14 14:12:42

标签: reflection pharo

如何获取当前正在执行的 CompiledMethod 的实例?

someMethod
  | thisMethod |
  thisMethod := "here I want to access an instance of _CompiledMethod_ that refers to #someMethod".
  ^ thisMethod selector

1 个答案:

答案 0 :(得分:3)

当前正在执行的方法可以通过当前上下文的#method消息检索,可以通过thisContext伪变量访问。

这种方式示例代码如下所示:

someMethod
  | thisMethod |
  thisMethod := thisContext method.
  ^ thisMethod selector