summaryrefslogtreecommitdiffstats
path: root/js/src/frontend/Parser.cpp
diff options
context:
space:
mode:
authorGaming4JC <g4jc@hyperbola.info>2019-06-08 16:37:10 -0400
committerGaming4JC <g4jc@hyperbola.info>2019-07-18 22:38:19 -0400
commitadc81d634d12d58a64e0d2a1e95998b766cf6e96 (patch)
tree2153cf74c44f6d67a56311d74a4bc357cab13ee1 /js/src/frontend/Parser.cpp
parent52e22e231b065cc7d5975d5f6f8a9231c4f18f6e (diff)
downloadUXP-adc81d634d12d58a64e0d2a1e95998b766cf6e96.tar
UXP-adc81d634d12d58a64e0d2a1e95998b766cf6e96.tar.gz
UXP-adc81d634d12d58a64e0d2a1e95998b766cf6e96.tar.lz
UXP-adc81d634d12d58a64e0d2a1e95998b766cf6e96.tar.xz
UXP-adc81d634d12d58a64e0d2a1e95998b766cf6e96.zip
1317374 - Don't do Annex B lexical function behavior when redeclaring a parameter name.
Diffstat (limited to 'js/src/frontend/Parser.cpp')
-rw-r--r--js/src/frontend/Parser.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/js/src/frontend/Parser.cpp b/js/src/frontend/Parser.cpp
index 79b5d70f4..66ada79f2 100644
--- a/js/src/frontend/Parser.cpp
+++ b/js/src/frontend/Parser.cpp
@@ -1183,6 +1183,12 @@ Parser<ParseHandler>::tryDeclareVar(HandlePropertyName name, DeclarationKind kin
*redeclaredKind = Some(declaredKind);
return true;
}
+ } else if (kind == DeclarationKind::VarForAnnexBLexicalFunction) {
+ MOZ_ASSERT(DeclarationKindIsParameter(declaredKind));
+
+ // Annex B.3.3.1 disallows redeclaring parameter names.
+ *redeclaredKind = Some(declaredKind);
+ return true;
}
} else {
if (!scope->addDeclaredName(pc, p, name, kind))