写点什么

Apple 开源了 Swift Migrator

  • 2017-07-12
  • 本文字数:675 字

    阅读完需:约 2 分钟

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-07-12 19:002658
用户头像

发布了 227 篇内容, 共 86.3 次阅读, 收获喜欢 28 次。

关注

评论

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

和鲸101计划:经管大数据课程教学训练营线下培训圆满收官

ModelWhale

数据 经管

AI 人 吐 槽 大 会

白洞计划

AI

【闲鱼API】深入解析与应用指南——闲鱼商品详情API接口♠

Geek_9dbf95

数据采集 闲鱼 电商API 免费测试

软件测试学习笔记丨Python常用第三方库 yaml

测试人

Python 软件测试 yaml 测试开发

智源联合多所高校推出首个多任务长视频评测基准MLVU

智源研究院

什么是浅拷贝和深拷贝,如何用 js 代码实现?

不在线第一只蜗牛

JavaScript 拷贝

CCF 数据库专委会铂金合作伙伴

TDengine

数据库 涛思数据 tdengine

深入理解 Python 类中的各种方法

我再BUG界嘎嘎乱杀

Python 编程 后端 开发语言

打造安全高效的数字货币交易平台:交易所开发全攻略

区块链软件开发推广运营

交易所开发 dapp开发 区块链开发 链游开发 NFT开发

Axios 和 Fetch: 深入比较HTTP请求工具

Liam

JavaScript 前端 HTTP axios Fetch

智领云端,逐梦低空:中国电信成立低空经济产业联盟

脑极体

AI

2024北京智源大会开幕,智源推出大模型全家桶及全栈开源技术基座新版图,大模型先锋集结共探AGI之路

智源研究院

和鲸101计划:以神经计算建模培训,助力北大学术人才培养

ModelWhale

数据 建模

和鲸101计划:以数据能力助力南开大学新文科建设

ModelWhale

数据 新文科

今日分享丨浅谈配置中心对配置的集中管理

inBuilder低代码平台

微服务 云原生 配置管理

AI安全水深流急,黄铁军首谈AGI能力与风险分级,2024智源大会圆满落幕

智源研究院

IPv6改造是什么意思?网站IPv6改造怎么做?

防火墙后吃泡面

接口测试:Mock 的价值与意义

测吧(北京)科技有限公司

测试

“技术故障”背刺巴菲特,金融大模型到底靠不靠谱?

Openlab_cosmoplat

人工智能 金融

北京人工智能数据运营平台发布,并开源超大规模高质量数据集

智源研究院

Apple开源了Swift Migrator_Linux_Sergio De Simone_InfoQ精选文章