summaryrefslogtreecommitdiffstats
path: root/js/src/frontend/Parser.cpp
Commit message (Collapse)AuthorAgeLines
* Bug 1343481 - Part 7: Add BytecodeEmitter::emitDotGenerator and make ↵Gaming4JC2019-12-17-27/+6
| | | | | | yield/await nodes unary. Tag #1287
* Bug 1343481 - Part 2: Stop using StarGegerator for async function.Gaming4JC2019-12-17-30/+24
| | | | Tag #1287
* Bug 1343481 - Part 1: Remove {JSFunction,JSScript,LazyScript}.isGenerator() ↵Gaming4JC2019-12-17-1/+1
| | | | | | method. Tag #1287
* 1353691 - Report SyntaxError when arrow function has await-identifier in ↵Gaming4JC2019-07-18-25/+34
| | | | async function context.
* 1339395 - Part 2: Add parser support for rest and spread object properties.Gaming4JC2019-07-18-6/+36
|
* 1339395 - Part 1: Align parse method for object literals to match array ↵Gaming4JC2019-07-18-180/+197
| | | | literals.
* Refactor abortIfSyntaxParser after destructringGaming4JC2019-07-18-9/+9
|
* 1303703 - Part 3: Syntax parse destructuring assignment patterns.Gaming4JC2019-07-18-176/+157
|
* 1303703 - Part 2: Clean-up bits of destructuring parsing which are no longer ↵Gaming4JC2019-07-18-102/+49
| | | | needed.
* 1303703 - Part 1: Separate binding pattern parsing from object/array literal ↵Gaming4JC2019-07-18-86/+312
| | | | parsing.
* 420857 - Part 4: Report the position of opening bracket for missing bracket ↵Gaming4JC2019-07-18-1/+3
| | | | error in array literal.
* 420857 - Part 3: Report the position of opening brace for missing brace ↵Gaming4JC2019-07-18-1/+3
| | | | error in object literal.
* 420857 - Part 2: Report the position of opening brace for missing brace ↵Gaming4JC2019-07-18-15/+29
| | | | error in block.
* 420857 - Part 1: Report the position of opening brace for missing brace ↵Gaming4JC2019-07-18-6/+38
| | | | error in function body.
* 1357506 - Remove assert that constructorBox can only be set once when ↵Gaming4JC2019-07-18-14/+3
| | | | | | | parsing classes. Both asm.js and syntax parsing can abort and rewind parsing of an inner function. The bookkeeping to make sure that a class's constructor FunctionBox is only set once is not worth it -- duplicate constructor definitions already throw an early error.
* 1357483 - Stop changing the end position of parenthesized expression ParseNodes.Gaming4JC2019-07-18-1/+0
|
* 1216630 - Rename preludeStart and postludeEnd to toStringStart and ↵Gaming4JC2019-07-18-41/+41
| | | | toStringEnd and misc fixes.
* 1216630 - Print class source when calling toString on the constructor.Gaming4JC2019-07-18-23/+62
| | | | | | | | | | This is accomplished in the following ways. LazyScripts and JSScripts now have 4 offsets: - Source begin and end for the actual source. This is used for lazy parsing. - toString begin and end for toString. Some kinds of functions, like async, only have a different begin offset. Class constructors have different offsets for both begin and end. For syntactically present (i.e. non-default) constructors, the class source span is remembered directly on the LazyScript or JSScript. The toString implementation then splices out the substring directly. For default constructors, a new SRC_CLASS SrcNote type is added. It's binary and has as its arguments the begin and end offsets of the class expression or statement. MakeDefaultConstructor reads the note and overrides the cloned self-hosted function's source object. This is probably the least intrusive way to accomplish this.
* 1340148 - Disallow function redeclarations at module top level.Gaming4JC2019-07-18-5/+23
|
* 104442 - Part 1: Report the position and the kind of previous declaration ↵Gaming4JC2019-07-18-26/+80
| | | | for redeclaration error.
* 1339963 - Part 3: Check IdentifierName in ExportClause without from.Gaming4JC2019-07-18-0/+28
|
* 1339963 - Part 2: Use MUST_MATCH_TOKEN for contextual keyword where it can ↵Gaming4JC2019-07-18-14/+2
| | | | be used.
* 1339963 - Part 1: Split Parser::exportDeclaration.Gaming4JC2019-07-18-209/+450
|
* 1340089 - Check the binding name in comprehensionFor.Gaming4JC2019-07-18-0/+2
|
* 1336783 - followup: Fix rooting.Gaming4JC2019-07-18-26/+32
|
* 1336783 - Part 3 - Use simpler macro to avoid internal compiler error on ↵Gaming4JC2019-07-18-4/+7
| | | | SM-tc(H).
* 1336783 - Part 2: Remove Parser::checkStrictBinding.Gaming4JC2019-07-18-72/+66
|
* 1336783 - Part 1: Rework on reserved word and remove TokenStream::KeywordIsName.Gaming4JC2019-07-18-415/+301
|
* 1283712 - Part 3: Add Parser::errorWithNotes and Parser::errorWithNotesAt.Gaming4JC2019-07-18-11/+49
|
* 1339137 - Don't do Annex B lexical function behavior when redeclaring a ↵Gaming4JC2019-07-18-5/+21
| | | | parameter name in a function with parameter expressions.
* 1337143 - Tweak ExportClause parsing to eliminate a peekToken where a ↵Gaming4JC2019-07-18-7/+16
| | | | simpler consuming getToken could be performed.
* 1337143 - Tweak NamedImports parsing to eliminate a complexifying peekToken ↵Gaming4JC2019-07-18-9/+13
| | | | where getToken could be used.
* 1317375 - Implement "Template Literals Revision / Lifting Template Literal ↵Gaming4JC2019-07-18-5/+20
| | | | Restriction" ECMAScript proposal
* 1317374 - Don't do Annex B lexical function behavior when redeclaring a ↵Gaming4JC2019-07-18-0/+6
| | | | parameter name.
* 1325157 - Implement a ParserBase class that holds functionality that's ↵Gaming4JC2019-07-18-50/+50
| | | | identical between syntax parsing and full parsing.
* 1320403 - Move JSFunction::EXPR_BODY to JSScript, LazyScript, and FunctionBox.Gaming4JC2019-07-18-5/+13
|
* 636635 - Do not create named lambda binding for a function created by ↵Gaming4JC2019-07-18-10/+11
| | | | Function constructor.
* 1317379 - Disallow generator functions and async functions as direct ↵Gaming4JC2019-07-18-21/+62
| | | | children of if/else.
* 1296814 - Move FunctionDeclaration-as-consequent/alternative handling out of ↵Gaming4JC2019-07-18-32/+24
| | | | Parser::functionStmt into Parser::consequentOrAlternative.
* 1317153 - Provide better error message when errornous syntax possibly match ↵Gaming4JC2019-07-18-33/+56
| | | | "await SOMETHING" outside async function.
* 1315815 - Don't treat async or await as a keyword when they contain escapes.Gaming4JC2019-07-18-39/+56
|
* Remove useless assert.wolfbeast2019-04-25-1/+0
| | | | Resolves #1055.
* Rename TokenStream::reportStrictWarningErrorNumberVA towolfbeast2019-04-06-2/+2
| | | | | | | TokenStream::reportExtraWarningErrorNumberVA for clarity. Emit Extra Warnings instead of Strict Warnings from the BCE where it makes sense.
* Remove Parser::reportHelper since it's no longer used.wolfbeast2019-04-06-24/+0
|
* Inline Parser::reportHelper into its callers.wolfbeast2019-04-06-8/+29
|
* Remove Parser::reportWithNode and its remaining callers.wolfbeast2019-04-06-23/+7
| | | | | All of the callsites have a full ParseNode* at hand, of which the offset can be directly accessed.
* Report errors for bad increment/decrement operands usingwolfbeast2019-04-06-29/+26
| | | | explicitly-specified offsets.
* Simplify checking of targets within destructuring patterns.wolfbeast2019-04-06-72/+14
|
* Simplify increment/decrement operand checking.wolfbeast2019-04-06-16/+18
|
* Inline Parser::checkAssignmentToCall into its sole caller.wolfbeast2019-04-06-14/+5
|