新しいEclipse4.2(Juno)NullAnalysisを使い始めたところです。
このようなコードでは:
x = foo();
if (x == null)
fail("x is null");
return x.bar();
xがnullの可能性があるという警告が表示されます。しかし、失敗は常にスローされ、したがって決して戻らないため、そうすることはできません。(より良い手順間分析により、おそらくこれを自動的に決定することができますが、現在はそうではないようです。)
明らかに、警告を回避するためにコードを書き直す方法はありますが、私が欲しいのは、失敗しても戻らないことを示す方法(注釈など)です。
また、@ SuppressWarnings( "null")を使用して警告を抑制しようとしましたが、機能しませんでした。
警告を取り除く1つの方法は、次を追加することです:(assert x != null;
ヌル分析にアサートを含めるように設定をオンにしたと仮定します)
GCC C ++では、次のことができます。void fn __attribute__ ((noreturn))