阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

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

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

关注

评论

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

Chia(奇亚)算力挖矿系统开发详解丨Chia(奇亚)算力挖矿开发源码功能

系统开发咨询1357O98O718

XCH奇亚算力挖矿系统开发成功案例丨XCH奇亚算力挖矿开发(源码演示)

系统开发咨询1357O98O718

如何查看SAP CRM WebUI,C4C和Hybris里的页面技术信息

Jerry Wang

CRM abap WebClient UI SAP UI5

help.hybris.com和help.sap.com网站的搜索实现

Jerry Wang

Java SAP abap Hybris

还在用SELECT COUNT统计数据库表的行数?Out了

Jerry Wang

SAP abap hana

IP数据库的定位能力在商业端的具体应用有哪些?(一)

郑州埃文科技

使用ABAP(ADBC)和Java(JDBC)连接SAP HANA数据库

Jerry Wang

JavaScript SAP abap WebClient UI SAP UI5

ABAP下载的病毒扫描Virus Scan

Jerry Wang

下载 SAP abap 病毒扫描

使用ABAP批量下载Markdown源文件里的图片到本地

Jerry Wang

markdown SAP abap download

Pulumi Stack 命令不能找到默认的 Stack

HoneyMoose

乾坤大挪移:SAP CRM WebClient UI 和 SAP Fiori UI 混搭并存

Jerry Wang

CRM SAP abap WebClient UI bsp

通过ABAP代码判断当前系统类型,BYD还是S4 OP还是S4 Cloud

Jerry Wang

SAP abap S/4HANA SAP Business ByDesign

膜拜!首次公布Java10W字面经,Github访问量破百万

Java 程序员 架构 面试

直呼内行!阿里大佬离职带出内网专属“高并发系统设计”学习笔记

Java 程序员 架构 面试

SAP BSP和JSP里的UI元素ID生成逻辑

Jerry Wang

Java jsp SAP abap SAP UI5

宏碁亮相2021西洽会,以绿色智能“洽谈未来”

科技热闻

SAP Cloud for Customer(C4C)和微软Outlook的集成

Jerry Wang

微软 SAP abap SAP UI5 outlook

Jerry和您聊聊Chrome开发者工具

Jerry Wang

chrome 大前端 SAP Chrome开发者工具

Golang Testing 概览 - 深入篇

hedzr

testing Go 语言

Golang Testing 概览 - 补充篇

hedzr

testing Go 语言 assertion

BZZ节点算力挖矿系统开发流程丨BZZ节点算力挖矿现成源码

系统开发咨询1357O98O718

SAP ABAP和Hybris的源代码生成工具

Jerry Wang

Java SAP abap Hybris commerce

Hybris ECP里Customer对应的数据库表

Jerry Wang

JavaScript CRM SAP WebClient UI SAP UI5

Github大神梳理了各个大厂春秋招面经,分享上万道面试题及答案,面试过程的文档教程!

Java架构师迁哥

Pulumi AWS 在进行预览更新的时候持续提示 Key 错误

HoneyMoose

IP地址定位在网站上的几个代表性应用

郑州埃文科技

JavaScript and Ruby in ABAP

Jerry Wang

JavaScript SAP abap WebClient UI

Golang Profiling: 关于 pprof

hedzr

Go 语言 profiling

Hybris UI的Route(路由)实现

Jerry Wang

Java SAP WebClient UI Hybris

Internationalization(i18n) support in SAP CRM,UI5 and Hybris

Jerry Wang

JavaScript CRM SAP abap SAP UI5

Redis - 复制

旺仔大菜包

redis

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