写点什么

Apple 开源了 Swift Migrator

2017 年 7 月 12 日

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 的发行说明中,文档对所有注册的开发人员可用。

查看英文原文: Apple Open-sources the Swift Language Migrator

2017 年 7 月 12 日 19:001700
用户头像

发布了 226 篇内容, 共 59.5 次阅读, 收获喜欢 14 次。

关注

评论

发布
暂无评论
发现更多内容

雅典娜交易所打造财富共同体,掀起币圈追捧热潮

Geek_116789

架构师课程第四周总结

dongge

Week04-总结

张磊

大型互联网应用系统技术方案

张磊

互联网技术个人理解

嘻哈

第四周学习总结

刘卓

week4 学习总结

任小龙

【第四周】架构师训练营作业

星星

【第四周】架构师训练营总结

星星

聊聊视频会议的昨天、今天和明天

拍乐云Pano

音视频 WebRTC 音视频会议 云服务 RTC

第四周学习总结

CP

架构师训练营第四周心得

路人

极客大学架构师训练营

第四周作业

秦宝齐

课程作业

MySQL 实战 45 讲笔记(3)- 高可用

程序员老王

MySQL

架构师第四周作业

路人

极客大学架构师训练营

架构师训练营第四周 - 作业

Eric

极客大学架构师训练营

架构师培训 -04 系统架构

刘敏

第四周学习总结

网站架构进化史

dongge

第4周学习总结

嘻哈

第四周-作业&总结

qh12346

第四周作业

大雄

第四周作业

刘卓

架构师训练营作业 -- Week 4

吴炳华

极客大学架构师训练营

Week 04 总结

鱼_XueTr

互联网架构的演进

记一次系统优化经历-php系统

而立

性能调优 swoole

经济学家朱嘉明:2020年是区块链与产业结合的重要年份

CECBC区块链专委会

CECBC 区块链技术 应用落地 产业结合

第四周总结

大雄

第四周作业

重新来过

Spring源码梳理(一)之ClassPathXmlApplicationContext

彭阿三

Java spring

week4作业二

任鑫

架构

InfoQ 极客传媒开发者生态共创计划线上发布会

InfoQ 极客传媒开发者生态共创计划线上发布会

Apple开源了Swift Migrator-InfoQ