チェコのJetBrainsは、オブジェクト指向プログラミング言語Kotlinの最新バージョンとなる、「Kotlin 1.6.20」を4月4日(現地時間)にリリースした。
「Kotlin 1.6.20」では、レシーバが1つという制限がなくなるとともに、必要に応じて宣言にコンテキストレシーバを追加することで、関数、プロパティ、クラスをコンテキスト依存にすることができる。なお、コンテキスト宣言では、宣言されたすべてのコンテキストレシーバが、暗黙のレシーバとして呼び出し元のスコープに存在する必要があり、宣言されたコンテキストレシーバは暗黙のレシーバとして本体スコープに取り込まれる。
さらに、新たに追加されたT & Any構文を使用してサイトにてジェネリック型パラメータをnull不可としてマークすることが可能になった。構文形式は交差型の表記法に基づいている。なお、この機能は現状ではベータ版であり、使用には注意が必要となる。
また、JVM IRバックエンドモードが試験的に追加されており、モジュール内のすべてのファイルを並列コンパイルできるようになり、合計コンパイル時間の最大15%短縮を実現している。なお、並列コンパイルでは、kaptがIRバックエンドを無効化するため、kaptでは機能せず、スレッド数に比例してより多くのJVMヒープが必要となる。
ほかにも、Kotlin/JS IRコンパイラを使用した開発バイナリのインクリメンタルコンパイルへの対応や、Kotlin/Nativeのパフォーマンスの改善、マルチプラットフォームプロジェクトにおける階層構造のサポート、プロジェクトにおけるコード共有の改善など、数多くの機能追加・改善が行われた。
- 関連リンク
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です