Truffle DSLの警告
バージョン23.0以降、Truffle DSLでは非常に多くの警告が生成されるようになりました。これらの警告は、DSLの使用が向上するようにユーザーを導くことを目的としています。次の各項では、警告を処理して最終的に抑制する方法について説明します。
-Atruffle.dsl.SuppressAllWarnings=true
オプションを使用すると、Truffle DSLのすべての警告を抑制できます。警告がCIでエラーとして扱われる厳格なチェック使用する言語の場合は、このオプションをJavaコンパイル・コマンドラインに追加することをお薦めします。これは、Truffle DSLが新しい警告メッセージを追加するときにCIの失敗を回避するのに役立ちます。Truffle DSLでの新しい警告メッセージの追加は、互換性のある変更とみなされます。
Truffle DSLの警告は、@SuppressWarnings
注釈を使用するか、パッケージ全体に対して@SuppressPackageWarnings
を使用して、Javaの警告と同様に抑制できます。次の警告キーがサポートされています:
all
JavaコンパイラまたはTruffle DSLによって発行されたすべての警告truffle
Truffle DSLによって発行されたすべての警告truffle-sharing
DSLがキャッシュされた値間の共有を推奨している場合の警告truffle-inlining
DSLがノード・オブジェクトのインライン化の使用を推奨している場合の警告。truffle-neverdefault
キャッシュされたイニシャライザがデフォルト値を持たないものとしてマークする必要がある場合の警告。truffle-limit
特殊化制限が推奨されているが、指定されていない場合の警告。truffle-static-method
DSLがstatic
修飾子の使用を推奨している場合の警告。truffle-unused
DSL属性または注釈に効果がなく、削除することが推奨される場合の警告。truffle-abstract-export
は、Truffleライブラリの抽象メッセージがエクスポートされない場合に警告します。@Fallback
特殊化に到達する特殊化で仮定機能を使用する場合はtruffle-assumption
。- 生成されたコードに
@Idempotent
または@NonIdempotent
メソッドが役立つ可能性があるメソッドをガードで使用する場合はtruffle-guard
。
-Atruffle.dsl.SuppressWarnings=truffle-inlining,truffle-neverdefault
Javaコンパイラ・プロセッサ・オプションを使用して、特定の警告をグローバルに抑制することもできます。Javaシステム・プロパティを使用して注釈プロセッサを構成することもできます(たとえば、-J-Dtruffle.dsl.SuppressWarnings=truffle-inlining,truffle-neverdefault
をjavacに渡す)。
特定の警告を抑制することは、すべての警告を抑制することよりも優先されます。ソース・コードで警告の最新リストを検索します