зеркало из https://github.com/mozilla/gecko-dev.git
Add strict warning about trailing comma in object initializers being non-ECMA (50001, r=shaver).
This commit is contained in:
Родитель
7c044d7e11
Коммит
0b6d9aa649
|
@ -231,5 +231,6 @@ MSG_DEF(JSMSG_REDECLARED_VAR, 155, 2, JSEXN_TYPEERR, "redeclaration of {
|
|||
MSG_DEF(JSMSG_UNDECLARED_VAR, 156, 1, JSEXN_TYPEERR, "assignment to undeclared variable {0}")
|
||||
MSG_DEF(JSMSG_ANON_NO_RETURN_VALUE, 157, 0, JSEXN_TYPEERR, "anonymous function does not always return a value")
|
||||
MSG_DEF(JSMSG_DEPRECATED_USAGE, 158, 1, JSEXN_REFERENCEERR, "deprecated {0} usage")
|
||||
MSG_DEF(JSMSG_BAD_URI, 159, 0, JSEXN_URIERR, "malformed URI sequence")
|
||||
MSG_DEF(JSMSG_GETTER_ONLY, 160, 0, JSEXN_TYPEERR, "setting a property that has only a getter")
|
||||
MSG_DEF(JSMSG_BAD_URI, 159, 0, JSEXN_URIERR, "malformed URI sequence")
|
||||
MSG_DEF(JSMSG_GETTER_ONLY, 160, 0, JSEXN_TYPEERR, "setting a property that has only a getter")
|
||||
MSG_DEF(JSMSG_TRAILING_COMMA, 161, 0, JSEXN_SYNTAXERR, "trailing comma is not legal in ECMA-262 object initializers")
|
||||
|
|
|
@ -2278,6 +2278,7 @@ MemberExpr(JSContext *cx, JSTokenStream *ts, JSTreeContext *tc,
|
|||
pn2 = MemberExpr(cx, ts, tc, JS_FALSE);
|
||||
if (!pn2)
|
||||
return NULL;
|
||||
pn->pn_op = JSOP_NEW;
|
||||
PN_INIT_LIST_1(pn, pn2);
|
||||
|
||||
if (js_MatchToken(cx, ts, TOK_LP)) {
|
||||
|
@ -2497,7 +2498,8 @@ PrimaryExpr(JSContext *cx, JSTokenStream *ts, JSTreeContext *tc)
|
|||
return NULL;
|
||||
pn3->pn_atom = CURRENT_TOKEN(ts).t_atom;
|
||||
pn3->pn_expr = NULL;
|
||||
/* have to fake a 'function' token */
|
||||
|
||||
/* We have to fake a 'function' token here. */
|
||||
CURRENT_TOKEN(ts).t_op = JSOP_NOP;
|
||||
CURRENT_TOKEN(ts).type = TOK_FUNCTION;
|
||||
pn2 = FunctionDef(cx, ts, tc, JS_TRUE);
|
||||
|
@ -2513,6 +2515,13 @@ PrimaryExpr(JSContext *cx, JSTokenStream *ts, JSTreeContext *tc)
|
|||
pn3->pn_atom = CURRENT_TOKEN(ts).t_atom;
|
||||
break;
|
||||
case TOK_RC:
|
||||
if (JS_HAS_STRICT_OPTION(cx) &&
|
||||
!js_ReportCompileErrorNumber(cx, ts,
|
||||
JSREPORT_WARNING |
|
||||
JSREPORT_STRICT,
|
||||
JSMSG_TRAILING_COMMA)) {
|
||||
return NULL;
|
||||
}
|
||||
goto end_obj_init;
|
||||
default:
|
||||
js_ReportCompileErrorNumber(cx, ts, JSREPORT_ERROR,
|
||||
|
|
Загрузка…
Ссылка в новой задаче