Bug 1091757 - Fix ReportUninitializedLexical to not call frameIndex() for aliased locals. r=shu

This commit is contained in:
Jan de Mooij 2014-10-31 14:29:11 +01:00
parent 3b9f02f4e3
commit 93cb495aa4
2 changed files with 12 additions and 1 deletions

View File

@ -0,0 +1,11 @@
try {
(function() {
let a = 3;
let XY = XY;
return function() { return a; };
})();
assertEq(0, 1);
} catch(e) {
assertEq(e instanceof ReferenceError, true);
assertEq(e.message.contains("XY"), true);
}

View File

@ -4071,7 +4071,7 @@ js::ReportUninitializedLexical(JSContext *cx, HandleScript script, jsbytecode *p
// First search for a name among body-level lets.
for (BindingIter bi(script); bi; bi++) {
if (bi->kind() != Binding::ARGUMENT && bi.frameIndex() == slot) {
if (bi->kind() != Binding::ARGUMENT && !bi->aliased() && bi.frameIndex() == slot) {
name = bi->name();
break;
}