自己自製的小工具回憶錄。
提到 Swift 的 leak 就免不了提到 ARC
因為沒有處理好 ARC strong ref 近一步導致 Retain Cycle
因此就想說能不能透過程式碼檢查,直接找出潛在(或已經是) Leak 的目標
內容會涵蓋
SwiftSyntax
SourceKitten(SourceKit)
從昨天的 visitor 的進度來看。 目前還不足以找到 potential leak target Decl Visitor 範例只有示範 class 的版...
再次面對 SourceKitten(CursorInfo) 在這個章節會使用 SourceKitten 跟 SourceKit 打交道。 以及唯一會使用的 ap...
今天我們要透過,對變數下 cursorInfo 取得他的原始來源。 where self 針對三種不同情況查詢 self 所在位置。 extension Re...
除非,我們今天將 [a] 改寫成 [a = a] 除了前面介紹的 visitor 以外 我們可以透過實作 SyntaxRewriter 去更改特定語法 Cl...
昨天我們順利將 code 進行改寫 但會有幾個問題要處理 首先,我們不打算複寫原本的檔案,反而只是在過程當中偷改 code 問題? 回報的位置會有偏差 C...
判斷變數是否是 struct 的方式 基本上離不開 USR 取得 USR 我們一樣還是透過 CursorInfo 查詢 a 的資訊 let a = 1 pri...
我們一樣還是透過 CursorInfo 查詢 並取得 key.annotated_decl 範例 let a = 1 weak var wa = a prin...
今天我們一樣還是透過 CursorInfo 查詢 並取得 key.annotated_decl key.annotated_decl 但是,查詢對象改為 Di...
繼昨天的判斷目標: @escaping (closure),例: (() -> Void) objc closure(@conventio...
對一些特殊的 function,我們會想 skip 他 例如 DispatchQueue.main.async 我們需要取得一些很特定的屬性,才會有能力去 sk...