2010-12-11 23 views
11

Netbeansは多くのカスタムヒントを提供しています。これは警告のようなものですが、ほとんどは抑制できません(IDE全体では無効になっています)。Java:@SuppressWarnings(...)パラメータの完全なリスト(Netbeans内)?

しかし、今、私はコードを見て、「不審なメソッド呼び出し」(「間違った」タイプのコレクションのようなremove(...))と呼ばれているヒント/警告を抑制するために

@SuppressWarnings("element-type-mismatch") 

を使用しています。

まあ、 "不審なメソッド呼び出し"というヒントをSuppressWarningsというパラメータで "要素型不一致"と表示しないようにすることは決してできませんが、明らかに動作します。

このようなパラメータの「魔法のリスト」はありますか?

たとえば、ヒント/警告「回収フィールドの返却」を抑制する方法はありますか?

注:this similar questionの場合、 "element-type-mismatch"は表示されません

答えて

12

NB-ソースコードを簡単に見た後、私はjava.hintの-classesの一部でこれらを発見した:

どうやら
@Hint(category="bitwise_operations", suppressWarnings="IncompatibleBitwiseMaskOperation") 
@Hint(category="initialization", suppressWarnings="LeakingThisInConstructor") 
@Hint(category="logging", suppressWarnings={"NonConstantLogger"}) //NOI18N 
@Hint(category="logging", suppressWarnings={"ClassWithMultipleLoggers"}) //NOI18N 
@Hint(category="logging", suppressWarnings={"ClassWithoutLogger"}, enabled=false) //NOI18N 
@Hint(category="code_maturity", suppressWarnings="UseOfObsoleteCollectionType") 
@Hint(category="initialization", suppressWarnings="OverridableMethodCallInConstructor") 
@Hint(category="bitwise_operations", suppressWarnings="PointlessBitwiseExpression") 
@Hint(category="code_maturity", suppressWarnings="CallToThreadDumpStack") 
@Hint(category="bitwise_operations", suppressWarnings="ShiftOutOfRange") 
@Hint(category="initialization", suppressWarnings="StaticNonFinalUsedInInitialization") 
@Hint(category="code_maturity", enabled = false, suppressWarnings="UseOfSystemOutOrSystemErr") 
@Hint(category="code_maturity", suppressWarnings="CallToPrintStackTrace") 

、警告がsuppressable行われると表示されていないすべてのIDE-ヒント。 .. 理由が分かりません。なぜなら、それらの多くは簡単にこの機能を提供するAbstractHintクラスだからです... これらは抑制名ですが、それらが表す警告の名前へのマッピングを見つけるには、ソースの深い掘り起こしが必要です。

+1

@SuppressWarnings( "PublicField")はNetBeans 8.2で動作します。 –

1

documentationは言う:

コンパイラベンダーは、彼らがこの注釈タイプと併せてサポートする警告名を文書化する必要があります。同じ名前が複数のコンパイラで動作するように協力することをお勧めします。

NetBeansはjavacを使用しているので、here is a listと思う。

See also this question

別のコンパイラまたは一部のコンパイラプラグインを使用している場合は、そのマニュアルを検索してください。

+1

:; (また、サブパッケージを見て例えばjdkperf

すべてのクラスは次のようにそのcamel cases名前を使用することにより、省略可能です";)はい、これに関連するNetbeansのドキュメントを検索しましたが、成功しませんでした。 –

+1

まあ、それは非標準のようであり、文書化されていない(私はあなたもグーグルと推測する)。どちらが悪いですか。 – Bozho

1

よくリストを見つけるのは難しいです。 Netbeansのhint classesのソースを見つけましたか?

したがって、 'list'はhereです。さて、これらのリソースのいずれも、「要素型不一致を含まない

// org.netbeans.modules.java.hints.jdk.UnnecessaryBoxing.java 
@SuppressWarnings("UnnecessaryBoxing") 
関連する問題