BT

InfoQ ホームページ ニュース AppleがSwift言語マイグレータをオープンソース公開

AppleがSwift言語マイグレータをオープンソース公開

ブックマーク

原文(投稿日:2017/07/11)へのリンク

Appleは先日のWWDC 2017で、Xcode 9に含まれるSwift 4マイグレータをオープンソースとして公開した

Swiftマイグレータは、分離したツールではなくコンパイラの一部として、さらにSwift 3とSwift 4を同等にサポートすべく、完全に書き直されており、マイグレータは次のような手順でジョブを実行する。

  • Pre-fix-itパス - コンパイラがプライマリ入力ファイルの型チェックを行なえない場合に起動される。この場合には、マイグレータがコンパイラからすべての修正候補を取得して、プロセスを最大2回試みることによってコードのAST表現を生成する。

  • ASTパス - Swift 4よりも前からマイグレーションする場合、pre-fix-itパスに続いて実行されるパスである。このパスでは、ソースを新しいSDKに適合させるために、以前のSDKからのAPIレベルの変更が検討される。

  • Post-fix-itパス - Swift 4モードでコンパイラが提供する、すべての修正候補の適用が試みられる。修正ステップの実行毎に新たな問題が明らかになる可能性があるため、このステップは最大で7回実行される。

Pre-fix-itとPost-fix-itの両フェーズでは、マイグレータは、エラーに関する修正はデフォルトですべて適用するが、警告に関する修正はオプトインとなっている。

Swift 3.2とSwift 4をターゲットにしたコードは共存可能で、相互リンクも可能であるため、Swift 4へのマイグレーションは推奨ではあっても必須ではない点にも注意すべきだ。さらにコードベースでのマイグレーションには、コードの正確性や慣用的なコードの生成はもちろん、自動生成されたコードがコンパイル可能であることも期待するべきではない。Swift 4への移行に関わる既知の問題点と、適用可能ないくつかの回避策を記したXcodeのリリースノートが、登録されているすべての開発者に提供されている。

 
 

この記事を評価

採用ステージ
スタイル
 
 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

BT

あなたのプロファイルは最新ですか?プロフィールを確認してアップデートしてください。

Eメールを変更すると確認のメールが配信されます。

会社名:
役職:
組織規模:
国:
都道府県:
新しいメールアドレスに確認用のメールを送信します。このポップアップ画面は自動的に閉じられます。