BT

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

| 作者: Sergio De Simone フォローする 12 人のフォロワー , 翻訳者 h_yoshida フォローする 1 人のフォロワー 投稿日 2017年8月27日. 推定読書時間: 1 分 |

原文(投稿日: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

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

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

このスレッドのメッセージについてEmailでリプライする

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

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT