2012-02-03 6 views
7

"警告 - 疑わしいコードです。 'getprop'演算子の結果は使用されていません。""警告 - 疑わしいコード" getprop演算子の結果は使用されていません。 "平均?

クロージャーコンパイラを使用すると、JavaScriptコードで2行分が表示されます。問題を報告しない他のtypedefの中のtypedefです。私は何を探していますか?

EDIT

影響を受けるコード:

/** 
* @typedef {{playerId: number, playerName: string, baseScores: Array.<number>, bonusScores: Array.<number>, 
*   teamScoreAdjustments: Array.<number>}} 
*/ 
wias.GameTableTeamMember; 

/** 
* @typedef {{id: number, teamMembers: Array<wias.GameTableTeamMember>, teamName: string}} 
*/ 
wias.GameTableTeam; 

/** 
* @typedef {{id: number, availableRound: boolean, bonusScoring: boolean, complete: boolean, gameLength: number, 
*   gameType: string, lastPlayed: string, numberOfRounds: number, teams: Array.<wias.GameTableTeam>, winners: 
*   Array.<string>}} 
*/ 
wias.GameTable; 

警告:

wias.js:77: WARNING - Suspicious code. The result of the 'getprop' operator is not being used. 
wias.GameTableTeam; 
^ 

なぜそこにいない他の場所の警告?

+0

を警告を再作成するために、私は警告が何を意味するのかわからないんだけど、私は好奇心が強いですそれについて話している実際のコードを見る... – nnnnnn

答えて

6

これは、何もしないコードがあることを意味します。

Typedef(またはレコードタイプ)は、コンパイラが問題のある場所を指し示すのが難しいですが、使用されていない値が得られています。

いくつかは、型システムについて読んで、どのようなコンパイラ https://docs.google.com/document/d/1Uq_vNyPZjlRvYZJclX6N37Fjsiah4XNciEPSBfFiREs/edit

で最適に動作し、単に

if (true) { 
    //have nothing in here 
} 
+0

そのリンクと答えをありがとう。なぜその特定のコード行が選別されたのか、混乱しています。すべてのtypedef宣言は、クロージャコンパイラではノーオペレーションのように見えますが、ここではひとつしか選出されていません。 –

+0

これは、クラスに関してtypedefを追跡することが難しく、typedefもより緩やかに扱われるためだと思います。 typedefをクラスに変更することで、いくつかの警告をより明確に追跡することができました。 – lennel

+0

私はちょうど目を覚ました。 getPropは内部getterを終了する方法です。だからそれはwias.GameTableTeamです。あなたのアプリで使用されることはありません。 – lennel

関連する問題