2
我正在寫一個小程序,它在運行時在吱吱聲中修改方法。 我看到在吱吱聲中有一種叫做getSource
(在CompiledMethod類中定義)的方法,它返回編譯方法的源代碼。吱吱聲:在運行時獲取方法的源代碼
如果我的輸入是對應於某個方法的符號,該如何獲取方法的源代碼?
我正在寫一個小程序,它在運行時在吱吱聲中修改方法。 我看到在吱吱聲中有一種叫做getSource
(在CompiledMethod類中定義)的方法,它返回編譯方法的源代碼。吱吱聲:在運行時獲取方法的源代碼
如果我的輸入是對應於某個方法的符號,該如何獲取方法的源代碼?
你應該知道它的定義方法的類,那麼您可以通過訪問CompiledMethod
,例如,
theClass >> methodSelectorSymbol
或
theClass compiledMethodAt: methodSelectorSymbol
與theClass
是與方法的類和methodSelectorSymbol
是與該方法相對應的符號,即您的輸入。 還有更多的方法。 例如,
theClass lookupSelector: methodSelectorSymbol
不僅在theClass
還在於它的超搜索。
但是,所有的方法都要求您給出一個類作爲起點。