2

我正在编写一个小程序,它在运行时在吱吱声中修改方法。我看到在 squeak 中有一个名为getSource(在 CompiledMethod 类中定义)的方法,它返回已编译方法的源代码。

如果我的输入是对应于方法的符号,我如何获取方法的源代码?

4

1 回答 1

3

您应该知道定义该方法的类,然后您可以访问CompiledMethod通过,例如,

theClass >> methodSelectorSymbol

或者

theClass compiledMethodAt: methodSelectorSymbol

withtheClass是具有方法的类,并且methodSelectorSymbol是与方法相对应的符号,即您的输入。还有其他方法。例如,

theClass lookupSelector: methodSelectorSymbol

不仅搜索theClass而且搜索它的超类。

但是,所有方法都要求您以课程为起点。

于 2013-05-03T11:05:05.870 回答