2012-02-03 11 views
7

"ADVERTENCIA: código sospechoso. El resultado del operador 'getprop' no se está utilizando."¿Qué significa "ADVERTENCIA? Código sospechoso. El resultado del operador 'getprop' no se está utilizando." ¿media?

Estoy viendo esto para dos líneas en mi código JavaScript cuando uso el compilador de cierre. Son typedefs entre otros typedefs que no informan problemas. ¿Qué debería estar buscando?

EDITAR

código afectado:

/** 
* @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; 

Advertencia:

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

Por qué una advertencia allí y no en otra parte?

+0

No estoy seguro de lo que los medios de advertencia, pero tengo curiosidad para ver el código real del que habla ... – nnnnnn

Respuesta

6

Significa que tiene un código que no hace nada.

Los typedef (o tipos de registros) son más complicados para que el compilador apunte al lugar exacto donde se produce el problema, pero en algún lugar se obtiene un valor que no se está utilizando.

leer un poco sobre el sistema de tipos y lo que funciona mejor con el compilador https://docs.google.com/document/d/1Uq_vNyPZjlRvYZJclX6N37Fjsiah4XNciEPSBfFiREs/edit

y recrear la advertencia simplemente

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

Gracias por ese enlace y la respuesta. Todavía confundido acerca de por qué esa línea particular de código se destaca. Todas las declaraciones typedef se ven como no-ops en el compilador de cierre, pero solo una se destaca aquí. –

+0

Creo que es porque le resulta difícil rastrear typedefs en relación con las clases y también typedefs se tratan de manera más flexible. Al cambiar un typedef a una clase, he logrado rastrear algunas advertencias con más claridad. – lennel

+0

acabo de despertar. getProp es una forma de cerrar el getter interno. Entonces, lo que está diciendo es que wias.GameTableTeam; nunca se usa en tu aplicación. – lennel

Cuestiones relacionadas