ソース生成ツール(antlr)を使用してプロジェクト用のJavaソースファイルを生成しています。しかし、私はKotlinのコードのすべてではないにしても、ほとんどを書いています。生成されたJavaソースのNULL可能性の注釈(Kotlinの場合)
コトルはすでにgreat Java interopを提供していますので、生成されたソースを使用することは問題ありません。しかし、どのようにKotlin brings Java's nullable types into a null-safe systemのために、私はKotlinを使用してnullの安全性のほとんどを失う。最善の方法では、プラットフォームタイプの警告があります(微妙なバグを避けるために型を明示してください)。最悪の場合、予期しないクラッシュや微妙なバグがあります。
Kotlinは、しかし、適切な非ヌルタイプまたはオプションとしてそれらを持ち込み、そのようなJSR-305、FindBugsの、ロンボク、エクリプス、及び@Nullable
/@NonNull
のジェットブレーンズのそれぞれの形態として、nullability annotationsを尊重しません。
コードが生成され、ソースへのアクセス権があり(どのように動作するのか理解しているので)、どの関数がnull
を返すことができないかを知っていて、それらを注釈して、コード。ただし、注釈はビルドステップ中に生成され、手動による変更を上書きするため、注釈をコードに直接追加することはできません。
null安全なコードで使用する目的で、生成されたJavaソースのNULL可能性を注釈する最良の方法は/可能ですか?