AICon上海|与字节、阿里、腾讯等企业共同探索Agent 时代的落地应用 了解详情
写点什么

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

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

关注

评论

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

Linux中gcc4.8.5升级到gcc5.4.0用已经编译好的安装包升级(重点是不用编译安装,可以更省时)

A-刘晨阳

Linux 运维 GCC 11月月更 gcc5.4

探讨:2023 年 WEB 3 的 5 大趋势

开发微hkkf5566

TiDB 2022 Hackathon 产品组决赛“不负责任”点评

TiDB 社区干货传送门

备战双11,送你一份解压壁纸!

OceanBase 数据库

震惊,改密码这件小事竟然让他差点累到吐血...

嘉为蓝鲸

运维 IT #WeOps

经验分享|用 Flutter 如何开发一个可运行小程序的 App

FinClip

Java Web(三)HTML和CSS

浅辄

Java web HTML5, CSS3 11月月更

开源共建携手并进 OpenHarmony使能千行百业生态成果亮相HDC2022

OpenHarmony开发者

OpenHarmony

一文了解 DataLeap 中的 Notebook

字节跳动数据平台

大数据 火山引擎 DataLeap

PingCAP 携手阿里云,探索 TiDB 云原生的进阶之路

TiDB 社区干货传送门

鸿蒙生态汇聚200万+开发者,金山办公、京东分享高效开发新体验

叶落便知秋

即时通讯技术文集(第5期):零基础通信技术入门 [共15篇]

JackJiang

即时通信

TiKV 源码阅读三部曲(二)读流程

TiDB 社区干货传送门

集合管道模式(上)

冰心的小屋

集成管道模式 pipline

峰会实录 | 镜舟科技CEO孙文现:基于StarRocks打造企业级极速统一数据分析产品

StarRocks

数据库·

保定有几家等保测评机构?咨询电话多少?

行云管家

等保测评 等级测评 等保测评机构 保定

Centos7 gcc4.8.5升级到版本gcc5.4.0

A-刘晨阳

Linux 运维 11月月更 gcc5.4

久等了,青年技术沙龙北京发车!

小红书技术REDtech

DDL 毫秒级同步,Light Schema Change 的设计与实现|新版本揭秘

SelectDB

数据库 大数据 Doris schema 企业号十月 PK 榜

API 网关 Apache APISIX 3.0 版本正式发布!

API7.ai 技术团队

Apache 开源 APISIX 新版本/特性发布

如何使用清源 CleanSource SCA 管理开源风险

安势信息

SCA SBOM 清源CleanSource SCA 开源风险

双机热备软件哪家好?有哪些功能?咨询电话多少?

行云管家

高可用 热备 双机热备

还不会日志异常检测?看完这篇文章就够了!

云智慧AIOps社区

人工智能 机器学习 大数据 日志分析 异常日志

盒马 iOS Live Activity &“灵动岛”配送场景实践

阿里巴巴终端技术

ios 灵动岛

从“一云多芯”支持,看多元算力的全栈云方案

华为云开发者联盟

云计算 华为云 企业号十月 PK 榜 多元算力

EMR with TiSpark(on EKS )

TiDB 社区干货传送门

号称Java圣经!Github上爆火的1058页JVM全栈小册到底有什么魅力

Java全栈架构师

程序人生 JVM 架构师 java面试 jvm调优

案例故事丨MySQL or TiDB?HTAP 数据库在中国 SaaS 行业头部服务商的应用实践

TiDB 社区干货传送门

WeOps赋能制造业数字化,助力坚美铝业IT高效管理

嘉为蓝鲸

DevOps 运维 AIOPS weops 嘉为蓝鲸

HDC 2022重磅首发《鸿蒙生态应用开发白皮书》,附全文

HarmonyOS开发者

HarmonyOS

TiDB 的 graceful shutdown

TiDB 社区干货传送门

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