問題タブ [checker-framework]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
477 参照

maven - JenkinsでのCheckerFrameworkレポート?

Checker Frameworkによって発行された警告がJenkinsで取得および報告されるように構成するにはどうすればよいですか(Analysis Collectorプラグインを使用するなど)。

記録のために、構成がに設定されたmavenとcheckerspluginを使用しており、CheckerFrameworkの警告がJenkinsのコンソール出力に表示されます。<failOnError>false

0 投票する
2 に答える
802 参照

java - EclipseMavenプロジェクトでのCheckerFrameworkの使用

Eclipseプラグインを使用してCheckerFrameworkを使用したいと思います。依存関係のない単一のプロジェクトがある場合、これは正常に機能するようです。

ただし、Mavenプロジェクトでチェックを実行しようとすると、次のような何百もの警告が表示されます。

cannot find symbol

コンソールに次のレポートが表示されます。

"MainActivity.java:33: error: package de.my.dependency does not exist import de.my.dependency;"

Eclipse CheckerプラグインはMavenの依存関係を解決できないと思いますが、これを修正するためにできることはありますか?

手伝ってくれてありがとう :)

0 投票する
3 に答える
780 参照

java - 引数に互換性のない型

コードをThe Checker Framworkでコンパイルすると、次のようにエラーが表示されます。

の最初の引数:

DatabaseMetadata.getColumns()が null カタログ (最初の引数) を許可することはわかっています。Checker Framework にどのように伝えるのですか?

0 投票する
2 に答える
22072 参照

java - 「不明な列挙型定数」警告を抑制する方法は?

java.lang.annotation.ElementType.TYPE_USEJDK8 で追加されたCheckers Framework参照。JDK7 で使用すると、次の警告が表示されます。

unknown enum constant java.lang.annotation.ElementType.TYPE_USE

これは妥当な警告ですが、無害だと思われる場合に警告を抑制するにはどうすればよいですか?

0 投票する
2 に答える
387 参照

java - @EnsuresNonNullIf アノテーションで「条件付き事後条件が満たされていない」という警告が表示される

@Nullableチェッカー フレームワークと型注釈を使用して、とが正しく使用されていることを確認しています@NonNull。Map のようなクラス1では、Java 仕様では、マップにそのキーのエントリが含まれていない場合にget(…)-methods が返されると規定されています。nullしたがって、メソッドには@Nullable- 注釈があります。ただし、contains(…)返品する場合は、返品しないことtrueを保証したいと思います。get(…)null

条件付きのNonNullを指定するにはどうすればよいですか?

私の知る限り、次のようにcontains(…)-methods に注釈を付けることでこれを実現できます。@EnsuresNonNullIf

ただし、これにより警告が発生します。

この「事後条件が満たされていない」という警告をどのように解決すればよいですか?

私の環境:

  • メイヴン: 3.0.4
  • Java: 1.7.0_25 (オラクル)
  • チェッカー フレームワーク 1.7.0 (maven プラグイン経由)

この Gistは問題を示しています。


1) マップの機能を拡張して、「類似の」キーを持つエントリを取得します。

0 投票する
1 に答える
654 参照

java - オブジェクトの作成中にアノテーションを処理してデフォルト値を設定する方法

以下のようなコードを書きたかったのです。

MyClass メソッドが以下のようになっていると仮定します

そのため、アノテーションを使用して MyClass のオブジェクトを作成する場合、デフォルト値を x (たとえば 20) に設定する必要があります。

チェッカー フレームワークでは、以下のようにコードに注釈を付けることができます。

以下のように、コンパイル時にこれを2つの部分に分割する方法を知っている人はいますか?

または、以下のようなデフォルト値を渡すことができれば問題ありません。

これは注釈プロセッサを使用して実現できますか? ASM のようなバイトコード プロセッサを使用して実行する必要がありますか? より意味のある方法で更新されました。

0 投票する
1 に答える
508 参照

java - Java Checker Framework の Nullness Checker を使用して再入可能性に注釈を付ける

Java 8 でChecker Frameworkの Nullness チェッカーを試しています。次のコードでチェッカーを実行すると:

チェッカーは、x.f();可能性のあるヌル参照 x の逆参照について警告を出します。もちろん、これは理にかなっています。Checker Framework は何をするかわかりませんmap.put。マップ オブジェクトは既に への参照を持っている可能性がありthis、それを呼び出しますsetX(null)

今、私の質問は次のとおりです。メソッドが呼び出されたオブジェクト以外のオブジェクトを変更しないことを Checker Framework に伝える方法はありますか? map.putはメソッドを呼び出さないためsetX、 の値はx変化しません。

警告を取り除くには、call メソッドを次のように変更します。

現在、警告はありません。これも理にかなっています。ローカル変数は外部からアクセスできません。しかし、警告を取り除くことだけを目的としてこのローカル変数を導入するのは好きではありません。

または、フィールドx@MonotonicNonNull. しかし、私の実際の使用例では、フィールドを null に設定できるようにしたいと考えています。

前もって感謝します!

0 投票する
1 に答える
124 参照

checker-framework - Eclipse プラグインを実行する前に、チェッカー フレームワークをインストールする必要がありますか?

Eclipse で設定ダイアログを開くと、コンソールにエラーが出力されます。

何かアドバイスはありますか?

どうもありがとう。

0 投票する
0 に答える
733 参照

eclipse - Eclipse カスタム @NonNull アノテーションが無視される

Eclipse の「null 分析」機能を使用したいのですが、org.eclipse.jdt.annotation.NonNull アノテーションよりも javax.annotation.Nonnull アノテーションを使用したいと考えています。設定したカスタム アノテーションを Eclipse に認識させることができないようです。

Eclipse Luna 4.4.2 を使用しています。

次のクラスのみを含む新しいテスト プロジェクトを作成しました。

私のコンパイラ設定は、javax アノテーションを使用するように構成されています。

Null 解析設定

null 指定の注釈

私のプロジェクトには、注釈を提供するための checker-1.8.10 JAR が含まれています。

これらの設定では、Eclipse は 0 エラーを報告します。

「null 仕様にデフォルトのアノテーションを使用する」をチェックして、テスト クラスを Eclipse のアノテーションを使用するように変更すると、次のようになります。

null 型の不一致

私が間違っていることを知っている人はいますか、これはおそらくEclipseのバグですか? 問題が発生した場合に備えて、チェッカーの代わりにGoogleのjsr305 JARも試しましたが、それは役に立ちませんでした。