Apple開源了Swift Migrator
Apple近期在WWDC 2017大會上宣布,已經 開源 在了 Xcode 9中提供的 的Swift 4 Migrator。
Swift Migrator現已完全重寫,業已成為編譯器的一個組成部分,而不再是一個獨立的工具,并對Swift 3和Swift 4提供同等優秀的支持。Migrator的工作是通過下面一系列的測試(Pass)完成的:
-
Pre-fix-it測試。在編譯器不能對主輸入文件做類型檢查時,執行該測試。在此情況下,Migrator會應用編譯器給出的所有fix-it建議,該過程至多重新嘗試兩次,目的在于生成代碼的抽象語法樹(AST)表示。
-
AST測試。如果開發人員需要遷移Swift 4之前的代碼,那么需要在Pre-fix-it測試之后開展AST測試。測試包括考慮所有以前的SDK在API層次上的改進,使得源代碼能匹配新的SDK API。
-
Post-fix-it測試。該測試嘗試去應用所有Swift 4模式編譯器給出的fix-it建議。這一步驟最多執行七次,因為在每個fix-it測試過程中可能會出現新的問題。
在Pre-fix-it和Post-fix-it測試階段,對于所有關聯到錯誤的fix-it,Migrator是默認應用的;而對于關聯到警告的fix-it,Migrator是選擇性使用的。
值得注意的是 ,雖然Apple鼓勵項目遷移到Swift 4,但代碼遷移并非是嚴格要求的,因為Swift 3.2和4的編譯目標可以共存并鏈接到一起。此外,開發人員不應該期待被遷移的代碼塊會自動生成一個可編譯項目,遷移后的代碼也無法保證是正確的,或是符合語言習慣的。一系列遷移到Swift 4的已知問題,以及所有可用的解決方案,都以文檔形式提供于 Xcode 9的發行說明 中,文檔對所有注冊的開發人員可用。
來自: http://www.infoq.com/cn/news/2017/07/swift-4-migrator-open-sourced