Commit graph

19 commits

Author SHA1 Message Date
Moonchild
7cc9551e79 Issue #2559 - Implement hashbang grammar
This adds special-case #! comment handling at the top level, treating
any hashbang line as a single-line comment in the parser.
This only applies to Eval(), module script or global context.
2024-09-06 09:15:51 +08:00
Martok
51db22ff2f Issue #2142 - Implement syntax for public/private fields and computed field names
This state still has the initializers scoped on .initializers local variable, which will be changed later.

Based-on: m-c 1499448, 1530084, 1530832, 1529448 (partial), 1532921, 1528039, 1528038, 1535166, 1550628,
              1535166, 1550628, 1541641, 1547133, 1540787, 1535804/9
2023-05-01 13:26:43 +08:00
Martok
6abb54ff11 Issue #2142 - Reduce calls to FindReservedWord when checking for forbidden identifiers during parsing
Based-on: m-c 1351913/{1,2}
2023-05-01 12:27:10 +08:00
Moonchild
dabd32f955 Issue #1656 - Part 7: Nuke vim config lines in JS 2020-09-25 22:04:24 +08:00
Gaming4JC
90f475f75e Refactor Token& nextToken 2019-07-22 19:52:32 +08:00
Gaming4JC
c1f6b0ff36 1336783 - Part 1: Rework on reserved word and remove TokenStream::KeywordIsName. 2019-07-22 19:50:44 +08:00
Gaming4JC
dc06903cd1 1283712 - Part 3: Add Parser::errorWithNotes and Parser::errorWithNotesAt. 2019-07-22 19:49:50 +08:00
Gaming4JC
ee1e2aba19 1317375 - Implement "Template Literals Revision / Lifting Template Literal Restriction" ECMAScript proposal 2019-07-22 19:47:00 +08:00
Gaming4JC
6828c2c09b 1326454 - Add assertions to TokenStream::skipChars{,IgnoreEOL} verifying EOF isn't yet hit and that newlines aren't skipped, if appropriate. 2019-07-22 19:46:40 +08:00
Gaming4JC
a91f1769b7 1326454 - Make TokenStream::skipChars{,IgnoreEOL} accept an unsigned integral number of chars to skip. 2019-07-22 19:46:36 +08:00
Gaming4JC
c7d3f8e8a3 1326454 - Make TokenStream::peekChar's signature fallible. 2019-07-22 19:46:33 +08:00
Gaming4JC
3d4f7e67fc 1326454 - Rename TokenStream::getBracedUnicode to TokenStream::matchBracedUnicode and make its signature fallible. 2019-07-22 19:46:30 +08:00
Gaming4JC
cd2bccf4c0 1326454 - Introduce TokenStream::warning that warns at the current offset. 2019-07-22 19:46:27 +08:00
Gaming4JC
c94ed16b4f 1326454 - Introduce TokenStream::error that reports an error at the current offset. 2019-07-22 19:46:24 +08:00
wolfbeast
0c3fb437a9 Rename TokenStream::reportStrictWarningErrorNumberVA to
TokenStream::reportExtraWarningErrorNumberVA for clarity.

Emit Extra Warnings instead of Strict Warnings from the BCE where
it makes sense.
2019-04-13 07:02:02 +08:00
wolfbeast
e9ffb69b02 Split Parser::report into Parser::zeport (a temporary name) that uses
the current offset, and Parser::reportWithNode that derives it from a
Node.
2019-04-13 07:01:10 +08:00
wolfbeast
b68de773fd Stage 1-1: Implement Function.prototype.toString revision proposal.
Tag #960
2019-04-13 07:00:18 +08:00
janekptacijarabaci
04e171e0a4 Correctly tokenize valid JS names when using Unicode mathematical alphanumeric symbols as variable name
Issue https://github.com/MoonchildProductions/Pale-Moon/issues/1647
2019-02-15 23:38:13 +08:00
Roy Tam
dcd9973243 import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00