我正在编写一个小程序,在吱吱声中运行时修改方法。
我在squeak中看到有一个名为getSource
的方法(在CompiledMethod类中定义),它返回已编译方法的源代码。
如果输入是与方法对应的符号,如何获取方法的源代码?
答案 0 :(得分:3)
您应该知道定义方法的类,然后您可以访问CompiledMethod
通过,例如,
theClass >> methodSelectorSymbol
或
theClass compiledMethodAt: methodSelectorSymbol
theClass
是方法的类,methodSelectorSymbol
是与方法对应的符号,即您的输入。
还有其他方法。
例如,
theClass lookupSelector: methodSelectorSymbol
不仅可以在theClass
中搜索,还可以在其超类中搜索。
但是,所有方法都要求您将课程作为起点。