10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

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

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

关注

评论

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

北京市十一学校×火山引擎:全球AI少年齐聚北京,以代码会友

新消费日报

华为阅读独家首发《金字塔在中国:古埃及文明大展炼成记》精品书

最新动态

通过自动化工具实现亚马逊云上资源标签管理

亚马逊云科技 (Amazon Web Services)

京东图片搜索API秘籍!轻松获取相似商品数据

tbapi

京东API 京东图片搜索接口 京东拍立淘接口 京东图片搜索API 京东图片API

迈向 AI 驱动的数据平台新时代

Databend

ROPE 阅读苏神博客有感

antonio

算力不开放,智能难平权:万亿参数时代,谁为开源模型托底?

脑极体

AI

大数据-65 Kafka 高级特性 Broker ISR 宕机重平衡 实测详解

武子康

Java 大数据 kafka 分布式 消息队列

YashanDB TRIM函数

YashanDB

数据库

无监督训练在NLP中的价值体现

qife122

自然语言处理 词元化

深度剖析银狐APT攻击链,最终载荷竟是致命远控

塞讯科技

网络安全 信息技术 APT攻击 安全验证

通过模糊测试发现燃料虚拟机中定价错误的操作码

qife122

模糊测试 燃料虚拟机

防止NLP模型更新中的性能回退技术解析

qife122

机器学习 模型优化

黑龙江等保测评全流程解析:从定级到整改的完整指南

等保测评

SIEM解决方案怎么选?企业必看的7大核心功能解析

运维有小邓

日志分析 日志管理 SIEM

YashanDB TYPEOF函数

YashanDB

数据库

Milvus + n8n:通过分析GitHub文档打造垂直领域的智能问答

阿里云大数据AI技术

GitHub Milvus n8n 智能问答

从纳秒到毫秒的“时空之旅”:CPU是如何看待内存与硬盘的?

poemyang

计算机基础 IO模型 CPU Cache #存储

哈尔滨等保测评中的 “神秘角色”:测评师

等保测评

【架构革命】LinkedIn也无法拯救的Kafka:Pulsar 的存算分离成了终极答案?

AscentStream

kafka pulsar linkedin

YashanDB TREAT函数

YashanDB

数据库

YashanDB TRUNC函数

YashanDB

数据库

GPT-5多模态与情境感知AI技术解析

qife122

人工智能 企业应用

dMSA 滥用 (BadSuccessor) 导致权限升级:使用 ADAudit Plus 监控关键属性更改

运维有小邓

日志审计 AD域审计

YashanDB UNISTR函数

YashanDB

数据库

工程师团队如何打造4K流媒体设备的创新技术

qife122

无线系统设计 天线创新

蒸馏大型语言模型并超越其性能

qife122

机器学习 模型蒸馏

黑龙江等保测评核心指标解析:技术安全与管理安全的双重保障

等保测评

Pixi vs Conda:7 个让我切换到 Pixi 的理由

肩塔didi

人工智能 机器学习 GitHub

Awesome Claude Code 资源大全

qife122

开发工具 Claude-Code

家用机器人指令跟随训练新数据集发布

qife122

人工智能 数据集

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