mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-05 15:28:39 +09:00
420857 - Part 4: Report the position of opening bracket for missing bracket error in array literal.
This commit is contained in:
parent
f1f51320fb
commit
d965d685b5
3 changed files with 14 additions and 4 deletions
|
|
@ -9289,7 +9289,9 @@ Parser<ParseHandler>::arrayInitializer(YieldHandling yieldHandling, PossibleErro
|
|||
}
|
||||
}
|
||||
|
||||
MUST_MATCH_TOKEN_MOD(TOK_RB, modifier, JSMSG_BRACKET_AFTER_LIST);
|
||||
MUST_MATCH_TOKEN_MOD_WITH_REPORT(TOK_RB, modifier,
|
||||
reportMissingClosing(JSMSG_BRACKET_AFTER_LIST,
|
||||
JSMSG_BRACKET_OPENED, begin));
|
||||
}
|
||||
handler.setEndPosition(literal, pos().end);
|
||||
return literal;
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
function test(source, [lineNumber, columnNumber]) {
|
||||
function test(source, [lineNumber, columnNumber], openType = "{", closeType = "}") {
|
||||
let caught = false;
|
||||
try {
|
||||
Reflect.parse(source, { source: "foo.js" });
|
||||
} catch (e) {
|
||||
assertEq(e.message.includes("missing } "), true);
|
||||
assertEq(e.message.includes("missing " + closeType + " "), true);
|
||||
let notes = getErrorNotes(e);
|
||||
assertEq(notes.length, 1);
|
||||
let note = notes[0];
|
||||
assertEq(note.message, "{ opened at line " + lineNumber + ", column " + columnNumber);
|
||||
assertEq(note.message, openType + " opened at line " + lineNumber + ", column " + columnNumber);
|
||||
assertEq(note.fileName, "foo.js");
|
||||
assertEq(note.lineNumber, lineNumber);
|
||||
assertEq(note.columnNumber, columnNumber);
|
||||
|
|
@ -81,3 +81,10 @@ var x = {
|
|||
foo: {
|
||||
};
|
||||
`, [2, 8]);
|
||||
|
||||
// Array literal.
|
||||
test(`
|
||||
var x = [
|
||||
[
|
||||
];
|
||||
`, [2, 8], "[", "]");
|
||||
|
|
|
|||
|
|
@ -218,6 +218,7 @@ MSG_DEF(JSMSG_BAD_SUPERCALL, 0, JSEXN_SYNTAXERR, "super() is only vali
|
|||
MSG_DEF(JSMSG_BRACKET_AFTER_ARRAY_COMPREHENSION, 0, JSEXN_SYNTAXERR, "missing ] after array comprehension")
|
||||
MSG_DEF(JSMSG_BRACKET_AFTER_LIST, 0, JSEXN_SYNTAXERR, "missing ] after element list")
|
||||
MSG_DEF(JSMSG_BRACKET_IN_INDEX, 0, JSEXN_SYNTAXERR, "missing ] in index expression")
|
||||
MSG_DEF(JSMSG_BRACKET_OPENED, 2, JSEXN_NOTE, "[ opened at line {0}, column {1}")
|
||||
MSG_DEF(JSMSG_CATCH_AFTER_GENERAL, 0, JSEXN_SYNTAXERR, "catch after unconditional catch")
|
||||
MSG_DEF(JSMSG_CATCH_IDENTIFIER, 0, JSEXN_SYNTAXERR, "missing identifier in catch")
|
||||
MSG_DEF(JSMSG_CATCH_OR_FINALLY, 0, JSEXN_SYNTAXERR, "missing catch or finally after try")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue