2012-02-03 2 views
7

"경고 - 의심스러운 코드 'getprop'연산자의 결과가 사용되지 않습니다.""경고 - 의심스러운 코드입니다. 'getprop'연산자의 결과가 사용되지 않습니다." 평균?

클로저 컴파일러를 사용할 때 자바 스크립트 코드에서 두 줄이 표시됩니다. 그들은 문제를보고하지 않는 다른 typedef 중에 typedef입니다. 나는 무엇을 찾고 있어야 하는가?

편집

영향을받는 코드 :

/** 
* @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 선언은 클로저 컴파일러에서 no-op처럼 보이지만 여기에서는 단 하나만 골라져 있습니다. –

+0

클래스와 관련하여 typedef를 추적하기가 어렵고 typedef가 더 느슨하게 처리되기 때문에 그것이라고 생각합니다. typedef를 클래스로 변경함으로써 몇 가지 경고를 더 명확하게 추적 할 수있었습니다. – lennel

+0

난 그냥 깨어났다. getProp은 내부 getter를 종료하는 클로저 방법입니다. 그래서 그것이 말하는 것은 wias입니다 .GameTableTeam; 앱에서 절대 사용되지 않습니다. – lennel

관련 문제