mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-26 11:45:37 +00:00
Bug 1219757 - Part 0: Remove RegExp.multiline warning. r=till
This commit is contained in:
parent
399cac9177
commit
8b3aa73ad5
@ -648,6 +648,8 @@ const JSFunctionSpec js::regexp_methods[] = {
|
||||
}
|
||||
|
||||
DEFINE_STATIC_GETTER(static_input_getter, return res->createPendingInput(cx, args.rval()))
|
||||
DEFINE_STATIC_GETTER(static_multiline_getter, args.rval().setBoolean(res->multiline());
|
||||
return true)
|
||||
DEFINE_STATIC_GETTER(static_lastMatch_getter, return res->createLastMatch(cx, args.rval()))
|
||||
DEFINE_STATIC_GETTER(static_lastParen_getter, return res->createLastParen(cx, args.rval()))
|
||||
DEFINE_STATIC_GETTER(static_leftContext_getter, return res->createLeftContext(cx, args.rval()))
|
||||
@ -691,36 +693,6 @@ static_input_setter(JSContext* cx, unsigned argc, Value* vp)
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool
|
||||
WarnOnceAboutRegExpMultiline(JSContext* cx)
|
||||
{
|
||||
if (!cx->compartment()->warnedAboutRegExpMultiline) {
|
||||
if (!JS_ReportErrorFlagsAndNumber(cx, JSREPORT_WARNING, GetErrorMessage, nullptr,
|
||||
JSMSG_DEPRECATED_REGEXP_MULTILINE))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
cx->compartment()->warnedAboutRegExpMultiline = true;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool
|
||||
static_multiline_getter(JSContext* cx, unsigned argc, Value* vp)
|
||||
{
|
||||
CallArgs args = CallArgsFromVp(argc, vp);
|
||||
RegExpStatics* res = cx->global()->getRegExpStatics(cx);
|
||||
if (!res)
|
||||
return false;
|
||||
|
||||
if (!WarnOnceAboutRegExpMultiline(cx))
|
||||
return false;
|
||||
|
||||
args.rval().setBoolean(res->multiline());
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool
|
||||
static_multiline_setter(JSContext* cx, unsigned argc, Value* vp)
|
||||
{
|
||||
@ -729,9 +701,6 @@ static_multiline_setter(JSContext* cx, unsigned argc, Value* vp)
|
||||
if (!res)
|
||||
return false;
|
||||
|
||||
if (!WarnOnceAboutRegExpMultiline(cx))
|
||||
return false;
|
||||
|
||||
bool b = ToBoolean(args.get(0));
|
||||
res->setMultiline(cx, b);
|
||||
args.rval().setBoolean(b);
|
||||
|
@ -1,23 +0,0 @@
|
||||
// RegExp.multiline access should be warned once and only once.
|
||||
|
||||
function testWarn(code) {
|
||||
enableLastWarning();
|
||||
var g = newGlobal();
|
||||
g.code = code;
|
||||
g.eval('eval(code)');
|
||||
var warning = getLastWarning();
|
||||
assertEq(warning !== null, true, "warning should be caught for " + code);
|
||||
assertEq(warning.name, "SyntaxError");
|
||||
|
||||
clearLastWarning();
|
||||
g.eval('eval(code)');
|
||||
warning = getLastWarning();
|
||||
assertEq(warning, null, "warning should not be caught for 2nd ocurrence");
|
||||
disableLastWarning();
|
||||
}
|
||||
|
||||
testWarn("var a = RegExp.multiline;");
|
||||
testWarn("RegExp.multiline = true;");
|
||||
|
||||
testWarn("var a = RegExp['$*'];");
|
||||
testWarn("RegExp['$*'] = true;");
|
@ -443,7 +443,6 @@ MSG_DEF(JSMSG_UNDEFINED_CURRENCY, 0, JSEXN_TYPEERR, "undefined currency in
|
||||
// RegExp
|
||||
MSG_DEF(JSMSG_BACK_REF_OUT_OF_RANGE, 0, JSEXN_SYNTAXERR, "back reference out of range in regular expression")
|
||||
MSG_DEF(JSMSG_BAD_CLASS_RANGE, 0, JSEXN_SYNTAXERR, "invalid range in character class")
|
||||
MSG_DEF(JSMSG_DEPRECATED_REGEXP_MULTILINE, 0, JSEXN_SYNTAXERR, "RegExp.multiline is deprecated. Use m flag instead")
|
||||
MSG_DEF(JSMSG_ESCAPE_AT_END_OF_REGEXP, 0, JSEXN_SYNTAXERR, "\\ at end of pattern")
|
||||
MSG_DEF(JSMSG_INVALID_DECIMAL_ESCAPE, 0, JSEXN_SYNTAXERR, "invalid decimal escape in regular expression")
|
||||
MSG_DEF(JSMSG_INVALID_GROUP, 0, JSEXN_SYNTAXERR, "invalid regexp group")
|
||||
|
@ -52,7 +52,6 @@ JSCompartment::JSCompartment(Zone* zone, const JS::CompartmentOptions& options =
|
||||
marked(true),
|
||||
warnedAboutFlagsArgument(false),
|
||||
warnedAboutExprClosure(false),
|
||||
warnedAboutRegExpMultiline(false),
|
||||
#ifdef DEBUG
|
||||
firedOnNewGlobalObject(false),
|
||||
#endif
|
||||
|
@ -296,7 +296,6 @@ struct JSCompartment
|
||||
bool marked;
|
||||
bool warnedAboutFlagsArgument;
|
||||
bool warnedAboutExprClosure;
|
||||
bool warnedAboutRegExpMultiline;
|
||||
|
||||
#ifdef DEBUG
|
||||
bool firedOnNewGlobalObject;
|
||||
|
Loading…
Reference in New Issue
Block a user