1

1 つの関数で疑わしいコードの警告が表示されます。suspiciousCodeファイル全体ではなく、その関数のタイプの警告エラーを抑制したい。

Google クロージャー wikiでは使用するように指示されています @suppress {suspiciousCode}が、それは機能せず、別の警告が表示されます: JSC_PARSE_ERROR: Parse error. unknown @suppress parameter: suspiciousCode.

重要なコード行:

/**
 * This is a function where type checking is disabled.
 * @suppress {suspiciousCode}
 */
(function(a,b){

これはラッピング機能と関係がありますか?

編集:

これらは、抑制したいエラー コードです。

  • JSC_SUSPICIOUS_SEMICOLON: If this if/for/while really shouldnt have a body, use {}
  • JSC_USELESS_CODE: Suspicious code. The result of the 'getprop' operator is not being used.
  • JSC_USELESS_CODE: Suspicious code. This code lacks side-effects. Is there a bug?

警告を確認しましたが、それらはまさに私が望むものです。

4

2 に答える 2

2

疑わしいコードは、構文的には正しいが、多くの一般的なコードエラーの原因である状況を示しているため、抑制できないと思います。たとえば、NaNとの比較に関する議論は次のとおりです:https ://code.google.com/p/closure-compiler/issues/detail?id=857 。あなたの場合、コンパイラーは、本体が空のforループが必要な場合は、空のセットを使用して{}これを示すように指示しています。これは、はるかに明確で、意図しない可能性が低いためです。

uselessCode診断グループは、2つの「JSC_USELESS_CODE」警告を抑制します。一般に、コンパイラはgetprop呼び出しには副作用がないと想定しているため、値を使用しない場合は警告が表示されます。これは常に当てはまるわけではないため、コードを削除することはできず、代わりに問題について警告します。

于 2013-02-07T22:21:57.797 に答える
2

これは見落としです。次のリリースで修正されます。ソースからビルドすることで今すぐ入手できます。抑制に使用できる診断グループのリストに追加する変更を次に示します。

https://code.google.com/p/closure-compiler/source/diff?spec=svn155a2e434bde40d325bbc92cdbe988ece4582e2c&r=155a2e434bde40d325bbc92cdbe988ece4582e2c&format=side&path=/src/propertiescom/google/javascript/jscomp/parserConfig.

于 2013-02-08T21:10:18.657 に答える