写点什么

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

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

关注

评论

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

用户身份标识与账号体系实践

Java 架构 业务设计 IDMapping 数据映射

原型链继承和构造函数继承的 “毛病”

掘金安东尼

JavaScript 前端 设计模式 7月月更

敢看系列?Python字体反爬实战案例之实习那僧,继续挖坑

梦想橡皮擦

Python 爬虫 7月月更

高效能7个习惯学习笔记

JefferLiu

高效能人士的七个习惯

架构实战营模块八作业

Geek_Q

重磅 | 基金会为白金、黄金、白银捐赠人授牌

kk-OSC

开放原子全球开源峰会

CSP直通车 | 在线直播认证培训双周末班 火热报名中

ShineScrum

Scrum 敏捷 CSP-SM 敏捷专家 敏捷大师

重磅 | 开放原子算法大赛拉开帷幕

kk-OSC

开放原子全球开源峰会

一文读懂Okaleido Tiger近期动态,挖掘背后价值与潜力

鳄鱼视界

C# 之 volatile关键字解析

陈言必行

7月月更

C# 使用数据库对ListView控件数据绑定

IC00

C# 7月月更

又快又稳!Alibaba出品Java性能优化高级笔记(全彩版)震撼来袭

冉然学Java

编程 程序员 分布式 性能优化 java 14

SiC功率半导体产业高峰论坛成功举办

极客天地

开放原子开源基金会黄金捐赠人优博讯携手合作伙伴,助力OpenHarmony破圈!

极客天地

如何消减敏捷开发协作中的「认知偏差」?| 敏捷之道

LigaAI

程序人生 产品经理 LigaAI 敏捷开发流程 研发协作

重磅 | 2022 开放原子全球开源峰会在北京开幕

kk-OSC

开放原子全球开源峰会

Prometheus 的 API 稳定性保障

耳东@Erdong

Prometheus API 7月月更

2022必会的前端面试手写题

buchila11

centos8快速安装mongdb6.0

技能实验室

React Fragment

程序员海军

7月月更

elasticsearch实战三部曲之一:索引操作

程序员欣宸

Java elasticsearch 7月月更

转转push的演化之路

转转技术团队

push

JAVA编程规范之二方库依赖

源字节1号

软件开发 程序员‘

重磅 | 开放原子校源行活动正式启动

kk-OSC

开放原子全球开源峰会

年中总结 | 与自己对话,活在当下,每走一步都算数

宇宙之一粟

年中总结 7月月更

怎么样的框架对于开发者是友好的?

MASA技术团队

.net 云原生 软件架构

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