summaryrefslogtreecommitdiffstats
path: root/js/src/frontend
Commit message (Collapse)AuthorAgeLines
* Refactor Token& nextTokenGaming4JC2019-07-18-4/+5
|
* 1339395 - Part 1: Align parse method for object literals to match array ↵Gaming4JC2019-07-18-183/+199
| | | | literals.
* 1344477 - Part 1: Add JSOP_CALL_IGNORES_RV for function call that ignores ↵Gaming4JC2019-07-18-30/+53
| | | | return value.
* Refactor abortIfSyntaxParser after destructringGaming4JC2019-07-18-9/+9
|
* 1303703 - Part 3: Syntax parse destructuring assignment patterns.Gaming4JC2019-07-18-198/+200
|
* 1303703 - Part 2: Clean-up bits of destructuring parsing which are no longer ↵Gaming4JC2019-07-18-116/+54
| | | | needed.
* 1303703 - Part 1: Separate binding pattern parsing from object/array literal ↵Gaming4JC2019-07-18-97/+331
| | | | 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/+40
| | | | error in function body.
* 1357506 - Remove assert that constructorBox can only be set once when ↵Gaming4JC2019-07-18-33/+6
| | | | | | | 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-62/+68
| | | | toStringEnd and misc fixes.
* 1216630 - Print class source when calling toString on the constructor.Gaming4JC2019-07-18-35/+140
| | | | | | | | | | 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/+25
|
* 104442 - Part 1: Report the position and the kind of previous declaration ↵Gaming4JC2019-07-18-35/+99
| | | | for redeclaration error.
* 1342273 - Improve frontend tracelogging. [PARTIAL] Only implemented const to ↵Gaming4JC2019-07-18-16/+18
| | | | rvalue changes, no tracelogging
* 1339963 - Part 3: Check IdentifierName in ExportClause without from.Gaming4JC2019-07-18-0/+33
|
* 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-210/+486
|
* 1340089 - Check the binding name in comprehensionFor.Gaming4JC2019-07-18-0/+2
|
* 1336783 - followup: Fix rooting.Gaming4JC2019-07-18-31/+37
|
* 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-73/+70
|
* 1336783 - Part 1: Rework on reserved word and remove TokenStream::KeywordIsName.Gaming4JC2019-07-18-625/+858
|
* 1283712 - Part 3: Add Parser::errorWithNotes and Parser::errorWithNotesAt.Gaming4JC2019-07-18-35/+82
|
* 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.
* 1320408 - Part 2: Change JSFunction::getOrCreateScript to static method.Gaming4JC2019-07-18-1/+2
|
* 1317375 - Implement "Template Literals Revision / Lifting Template Literal ↵Gaming4JC2019-07-18-68/+202
| | | | Restriction" ECMAScript proposal
* 1317374 - Don't do Annex B lexical function behavior when redeclaring a ↵Gaming4JC2019-07-18-0/+6
| | | | parameter name.
* 1326454 - Don't report an error when SourceCoords::add fails, because it ↵Gaming4JC2019-07-18-6/+12
| | | | fails only when an underlying Vector::append fails, and that vector handles OOM reporting itself.
* 1326454 - Add assertions to TokenStream::skipChars{,IgnoreEOL} verifying EOF ↵Gaming4JC2019-07-18-3/+8
| | | | isn't yet hit and that newlines aren't skipped, if appropriate.
* 1326454 - Make TokenStream::skipChars{,IgnoreEOL} accept an unsigned ↵Gaming4JC2019-07-18-8/+16
| | | | integral number of chars to skip.
* 1326454 - Make TokenStream::peekChar's signature fallible.Gaming4JC2019-07-18-18/+45
|
* 1326454 - Rename TokenStream::getBracedUnicode to ↵Gaming4JC2019-07-18-16/+46
| | | | TokenStream::matchBracedUnicode and make its signature fallible.
* 1326454 - Introduce TokenStream::warning that warns at the current offset.Gaming4JC2019-07-18-10/+14
|
* 1326454 - Introduce TokenStream::error that reports an error at the current ↵Gaming4JC2019-07-18-10/+30
| | | | offset.
* 1325157 - Implement a ParserBase class that holds functionality that's ↵Gaming4JC2019-07-18-170/+181
| | | | identical between syntax parsing and full parsing.
* 1320403 - Move JSFunction::EXPR_BODY to JSScript, LazyScript, and FunctionBox.Gaming4JC2019-07-18-5/+21
|
* 636635 - Do not create named lambda binding for a function created by ↵Gaming4JC2019-07-18-13/+15
| | | | 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/+60
| | | | "await SOMETHING" outside async function.
* 1315815 - Don't treat async or await as a keyword when they contain escapes.Gaming4JC2019-07-18-64/+80
|
* Remove JSOP_SPREADCALLARRAY and just use JSOP_NEWARRAY again.wolfbeast2019-06-18-6/+5
|
* Make use of ArrayObjects in favor of generic JS objects.wolfbeast2019-06-12-2/+2
| | | | | ArrayObjects has been a thing for years but been under-used. About time they are used where prudent.
* Improve efficiency of (C++) heap allocations related towolfbeast2019-05-28-14/+24
| | | | | | BytecodeEmitter::code. While there, also add some sanity checks and clean up code.