[javascriptlint-commit] SF.net SVN: javascriptlint:[218] trunk
Status: Beta
Brought to you by:
matthiasmiller
From: <mat...@us...> - 2008-08-26 03:32:40
|
Revision: 218 http://javascriptlint.svn.sourceforge.net/javascriptlint/?rev=218&view=rev Author: matthiasmiller Date: 2008-08-26 03:32:35 +0000 (Tue, 26 Aug 2008) Log Message: ----------- unreferenced_identifier: improve warning to ignore variable assignments Modified Paths: -------------- trunk/pyjsl/lint.py trunk/tests/warnings/assign_to_function_call.js trunk/tests/warnings/duplicate_case_in_switch.js trunk/tests/warnings/inc_dec_within_stmt-ignore.js trunk/tests/warnings/leading_decimal_point.js trunk/tests/warnings/missing_default_case.js trunk/tests/warnings/octal_number.js trunk/tests/warnings/parseint_missing_radix.js trunk/tests/warnings/trailing_comma_in_array.js trunk/tests/warnings/trailing_decimal_point.js trunk/tests/warnings/unreferenced_identifier.js trunk/tests/warnings/useless_quotes.js Modified: trunk/pyjsl/lint.py =================================================================== --- trunk/pyjsl/lint.py 2008-08-26 03:11:02 UTC (rev 217) +++ trunk/pyjsl/lint.py 2008-08-26 03:32:35 UTC (rev 218) @@ -141,6 +141,11 @@ for name, node in self._references: resolved = self.resolve_identifier(name) if resolved: + # Make sure this isn't an assignment. + if node.parent.kind == tok.ASSIGN and \ + node.node_index == 0 and \ + node.parent.parent.kind == tok.SEMI: + continue unreferenced.pop((resolved[0], name), None) else: # with statements cannot have undeclared identifiers. Modified: trunk/tests/warnings/assign_to_function_call.js =================================================================== --- trunk/tests/warnings/assign_to_function_call.js 2008-08-26 03:11:02 UTC (rev 217) +++ trunk/tests/warnings/assign_to_function_call.js 2008-08-26 03:32:35 UTC (rev 218) @@ -1,4 +1,5 @@ /*jsl:option explicit*/ +/*conf:-unreferenced_identifier*/ function assign_to_function_call() { var o; var s; Modified: trunk/tests/warnings/duplicate_case_in_switch.js =================================================================== --- trunk/tests/warnings/duplicate_case_in_switch.js 2008-08-26 03:11:02 UTC (rev 217) +++ trunk/tests/warnings/duplicate_case_in_switch.js 2008-08-26 03:32:35 UTC (rev 218) @@ -1,4 +1,5 @@ /*jsl:option explicit*/ +/*conf:-unreferenced_identifier*/ function duplicate_case_in_switch() { var i, o, s; Modified: trunk/tests/warnings/inc_dec_within_stmt-ignore.js =================================================================== --- trunk/tests/warnings/inc_dec_within_stmt-ignore.js 2008-08-26 03:11:02 UTC (rev 217) +++ trunk/tests/warnings/inc_dec_within_stmt-ignore.js 2008-08-26 03:32:35 UTC (rev 218) @@ -1,4 +1,5 @@ /*jsl:option explicit*/ +/*conf:-unreferenced_identifier*/ function inc_dec_within_stmt() { var x; do { Modified: trunk/tests/warnings/leading_decimal_point.js =================================================================== --- trunk/tests/warnings/leading_decimal_point.js 2008-08-26 03:11:02 UTC (rev 217) +++ trunk/tests/warnings/leading_decimal_point.js 2008-08-26 03:32:35 UTC (rev 218) @@ -1,4 +1,5 @@ /*jsl:option explicit*/ +/*conf:-unreferenced_identifier*/ function leading_decimal_point() { var i; Modified: trunk/tests/warnings/missing_default_case.js =================================================================== --- trunk/tests/warnings/missing_default_case.js 2008-08-26 03:11:02 UTC (rev 217) +++ trunk/tests/warnings/missing_default_case.js 2008-08-26 03:32:35 UTC (rev 218) @@ -1,4 +1,5 @@ /*jsl:option explicit*/ +/*conf:-unreferenced_identifier*/ function missing_default_case() { var i, s; Modified: trunk/tests/warnings/octal_number.js =================================================================== --- trunk/tests/warnings/octal_number.js 2008-08-26 03:11:02 UTC (rev 217) +++ trunk/tests/warnings/octal_number.js 2008-08-26 03:32:35 UTC (rev 218) @@ -1,4 +1,5 @@ /*jsl:option explicit*/ +/*conf:-unreferenced_identifier*/ function octal_number() { var i; i = 010; /*warning:octal_number*/ Modified: trunk/tests/warnings/parseint_missing_radix.js =================================================================== --- trunk/tests/warnings/parseint_missing_radix.js 2008-08-26 03:11:02 UTC (rev 217) +++ trunk/tests/warnings/parseint_missing_radix.js 2008-08-26 03:32:35 UTC (rev 218) @@ -1,4 +1,5 @@ /*jsl:option explicit*/ +/*conf:-unreferenced_identifier*/ function parseint_missing_radix() { var i; Modified: trunk/tests/warnings/trailing_comma_in_array.js =================================================================== --- trunk/tests/warnings/trailing_comma_in_array.js 2008-08-26 03:11:02 UTC (rev 217) +++ trunk/tests/warnings/trailing_comma_in_array.js 2008-08-26 03:32:35 UTC (rev 218) @@ -1,4 +1,5 @@ /*jsl:option explicit*/ +/*conf:-unreferenced_identifier*/ function trailing_comma_in_array() { var a; Modified: trunk/tests/warnings/trailing_decimal_point.js =================================================================== --- trunk/tests/warnings/trailing_decimal_point.js 2008-08-26 03:11:02 UTC (rev 217) +++ trunk/tests/warnings/trailing_decimal_point.js 2008-08-26 03:32:35 UTC (rev 218) @@ -1,4 +1,5 @@ /*jsl:option explicit*/ +/*conf:-unreferenced_identifier*/ function trailing_decimal_point() { var i; Modified: trunk/tests/warnings/unreferenced_identifier.js =================================================================== --- trunk/tests/warnings/unreferenced_identifier.js 2008-08-26 03:11:02 UTC (rev 217) +++ trunk/tests/warnings/unreferenced_identifier.js 2008-08-26 03:32:35 UTC (rev 218) @@ -35,6 +35,7 @@ catch(err) { can = false; /* ...but maybe not! */ } + can = !can; /* Test a with statement. */ var withobj = {}; @@ -46,6 +47,15 @@ prop_b = innerval; } + /* Test assignments. */ + var assigned_but_unref; /*warning:unreferenced_identifier*/ + assigned_but_unref = 42; + + function callback() { + } + var assigned_but_ref; + (assigned_but_ref = callback)(); + /* Test nested scopes. */ function get_callback(parm) { return function() { Modified: trunk/tests/warnings/useless_quotes.js =================================================================== --- trunk/tests/warnings/useless_quotes.js 2008-08-26 03:11:02 UTC (rev 217) +++ trunk/tests/warnings/useless_quotes.js 2008-08-26 03:32:35 UTC (rev 218) @@ -1,3 +1,4 @@ +/*conf:-unreferenced_identifier*/ function useless_quotes() { var o = { 'key': 1 /*warning:useless_quotes*/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |