2013-02-22 23 views
1

我正在查看一個源代碼,它有一個名爲updateDisplayList的方法。此源代碼中有各種類似的名稱。不過,我對一個特定的updateDisplayList方法感興趣。我想檢查這個方法被調用的地方。我已經嘗試在eclipse中使用CTRL + SHIFT + G,它返回該源代碼中此方法的所有引用。但是,由於有很多名稱相同的方法,這些引用也會返回。我怎麼知道特定的updateDisplayList方法被調用的地方?在eclipse中追溯方法調用的重寫方法

+0

我不明白你在問什麼。 – JeffryHouser 2013-02-22 23:45:12

+0

對不清楚問題的解釋。我已經更新了問題陳述。請檢查。 – genonymous 2013-02-23 00:10:55

+0

根據'updateDateList()',作爲'protected'函數,它只能被該類或擴展該類的子類訪問。 – 2013-02-23 02:10:45

回答

1

正如評論中所述updateDisplayList()是Flex組件生命週期方法。幾乎每個Flex組件都實現此方法。

如果您在一個類中修改了此方法,可以將其稱爲ClassA,並且您還在其他類中看到了此修改的效果,這意味着其他類以某種方式從ClassA繼承。

要確定誰從ClassA繼承,您可以在項目中搜索該類名稱。這可能會找到你正在尋找的其他課程。但是,可能會有一系列類從ClassA繼承,因此您可能必須查看更深的內容(找到所有擴展ClassA然後搜索這些類的類)。這可能是一個滑坡,可能並不富有成效。

另一種方法是在ClassAupdateDisplayList()方法中設置斷點。正如我所提到的,你會經常碰到這個斷點。在FlashBuilder/Eclipse中,您可以使用「表達式」窗口並檢查this的值。如果thisClassA,它不是你正在尋找的機器人,所以讓執行恢復。

我敢肯定還有其他一些方法可以做到這一點。但updateDisplayList()是這樣一種常見的方法,在搜索該方法的名稱沒有意義:)