写点什么

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:002583
用户头像

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

关注

评论

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

Dubbo源码浅析(一)—RPC框架与Dubbo

京东科技开发者

PromQL:观测云中的监控数据分析利器

可观测技术

数据分析

用户体验的优化:观测云在用户行为分析中的应用

可观测技术

用户体验

AI 流媒体音乐平台 Melodio 发布;多模态模型 VITA 可打断无需唤醒词丨 RTE 开发者日报

声网

别再被坑了! JavaScript类型检测的最佳实践

Immerse

JavaScript 数据结构 数据类型

10分钟构建Web 应用防火墙-uuWAF

coxi_vv

开源 waf 1Panel

一次JVM GC长暂停的排查过程

京东科技开发者

案例分享 | 八爪鱼RPA在社区医疗流程自动化系统中的应用

八爪鱼采集器︱RPA机器人

RPA 自动化 流程

数据驱动决策:观测云在企业战略中的作用

可观测技术

数据结构

实时监控的力量:观测云如何提升业务响应速度

可观测技术

实时监控

数据安全与合规性:观测云在保护企业数据中的角色

可观测技术

数据安全

每个Moka招聘系统用户都需要一套八爪鱼RPA

八爪鱼采集器︱RPA机器人

RPA 自动化 招聘 智能化

10分钟构建服务监控工具

coxi_vv

监控 Prometheus 1Panel

高效!实用!还免费!八爪鱼RPA应用市场上线啦!

八爪鱼采集器︱RPA机器人

RPA 自动化 RPAxAI

代理IP为什么很难达到100%的利用率?

IPIDEA全球HTTP

网络安全警钟:Windows TCP/IP协议出现高危漏洞

郑州埃文科技

TCP IP 漏洞

Go 语言 viper 库上手实践

FunTester

AI+仿真,助力工业智能化变革:面向仿真工程师的机器学习工具

Altair RapidMiner

人工智能 AI 设计 仿真 altair

智源千万级指令微调数据集Infinity-Instruct持续迭代,Llama3.1仅微调即可接近GPT-4

智源研究院

如何在Python中使用免费的DeepL翻译API

幂简集成

Python 翻译 API 免费API

【后台体验】运营后台订单详情设计分享

京东科技开发者

Mobpush 标签推送

MobTech袤博科技

10分钟构建运维安全审计系统

coxi_vv

开源 运维 1Panel jumpserver

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