diff options
Diffstat (limited to 'js/src/builtin')
-rw-r--r-- | js/src/builtin/RegExp.js | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/js/src/builtin/RegExp.js b/js/src/builtin/RegExp.js index 25827743e..91212066c 100644 --- a/js/src/builtin/RegExp.js +++ b/js/src/builtin/RegExp.js @@ -1042,6 +1042,9 @@ function RegExpMatchAll(string) { // Step 2. if (!IsObject(rx)) ThrowTypeError(JSMSG_NOT_NONNULL_OBJECT, rx === null ? "null" : typeof rx); + + if (rx.flags === undefined || rx.flags === null) + ThrowTypeError(JSMSG_FLAGS_UNDEFINED_OR_NULL); // Step 3. var str = ToString(string); @@ -1052,9 +1055,9 @@ function RegExpMatchAll(string) { // Step 5. var flags = ToString(rx.flags); - // Step 2.b.iii; located here because it needs |flags|. + // Step 2.b.iii; located here because it needs to check |flags|. if (!callFunction(std_String_includes, flags, "g")) { - ThrowTypeError(JSMSG_BAD_REGEXP_FLAG, "- matchAll requires g"); + ThrowTypeError(JSMSG_REQUIRES_GLOBAL_REGEXP, "matchAll"); } // Step 6. |