Closed
Bug 782164
Opened 12 years ago
Closed 12 years ago
another false-positive "Global variable overwrite" warning
Categories
(addons.mozilla.org Graveyard :: Add-on Validation, defect)
addons.mozilla.org Graveyard
Add-on Validation
Tracking
(Not tracked)
RESOLVED
DUPLICATE
of bug 724997
People
(Reporter: davemgarrett, Unassigned)
Details
Reminiscent of bug 660421.
I wrote a new extension which gets only one warning in the validator.
https://addons.mozilla.org/en-US/developers/addon/config-descriptions/file/163173/validation
The warning:
"Global variable overwrite
Warning: An attempt was made to overwrite a global variable in some JavaScript code."
The offending code, with more context than the validator gives:
for (var i in files)
{
var lines = loadDefaultPrefsFile(files[i]);
if (!lines)
continue;
var pref, donePrefComment;
while (lines.length)
{
var line = lines.pop();
if (line[0] != '/')
{
pref = line.split(/"/g)[1]; ////// <== the validator gets mad here
if (defaultPrefsComments[pref]) // if there's already a comment recorded for this pref, then it was from a previously checked file; skip this one
donePrefComment = true;
else
donePrefComment = false;
var side = line.split(/\)\s*;\s*/)[1];
if (side && side[0] == '/') // if there's a comment to the side, parse it on the next iteration
lines.push(side);
continue;
}
else if (line.length == 0 || // assume everything not directly next to the pref isn't for it (at least directly)
line.substr(0,7) == "//@line" || // skip build system notes (?)
/pref\s*\(.*\)/.test(line) ) // skip commented out prefs (and their comments)
{
donePrefComment = true;
continue;
}
if (!donePrefComment && pref)
{
line = line.replace(/(^\/\/|^\/\*|\*\/$)/g,"").trim(); // remove comment syntax ("//", "/*", & "*/")
line = " " + line; // leave in a leading space so multiline comments show correctly when fitting into one line in the tree
if (!defaultPrefsComments[pref])
defaultPrefsComments[pref] = line;
else
defaultPrefsComments[pref] = line + "\n" + defaultPrefsComments[pref];
}
}
}
I had run this through the validator a bit back and tried putting each of "var pref, donePrefComment;" on their own line, but it still complained.
This code is inside a bootstrap.js file, so no window to muck around in implicitly.
This is probably not that important of a bug, but I thought I might as well report it nonetheless.
Updated•12 years ago
|
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → DUPLICATE
Assignee | ||
Updated•9 years ago
|
Product: addons.mozilla.org → addons.mozilla.org Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•