Apple開源了Swift Migrator

jopen 7年前發布 | 10K 次閱讀 Swift 開源

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

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!