Ingvar Stepanyan
d64efe1be4
Merge branch 'upstream' into jsx2
...
Conflicts:
acorn.js
2015-01-19 14:12:24 +00:00
Ingvar Stepanyan
6dee98d1b9
Adapt ES6 template handling to new tokenizer.
...
Avoid need for:
* extra `templates` array in favor of new `tokContext`;
* special location handling for first & last template elements;
* separate `_templateContinued` token in favor of same `_template`.
Adds:
* token types for backQuote and dollarBraceL instead of skipping them
so they can be handled (i.e. highlighted differently).
2015-01-17 22:21:22 +01:00
Ingvar Stepanyan
f6c45ac59f
Re-read only number or string after "use strict".
...
Fixes double-entering same tokContext for various parentheses.
2015-01-14 23:10:10 +02:00
Ingvar Stepanyan
e7beee177d
Remove deprecated ComprehensionBlock.of property.
...
Comprehensions were moved to ES7 anyway, so there is no sense
in keeping intermediate no-more-supported syntax.
2015-01-14 12:35:00 +02:00
Ingvar Stepanyan
7e85da74cb
shouldSkipSpace is no more needed in finishToken.
2015-01-14 12:31:59 +02:00
Ingvar Stepanyan
ad9411d2ae
Made tokenize() compliant with ES6 iterables for easier processing.
2015-01-14 12:29:20 +02:00
Ingvar Stepanyan
802c4cd8cb
Initial rewrite of JSX parser onto new tokenizer (all tests passing).
2015-01-14 12:18:08 +02:00
Marijn Haverbeke
0f55a53a7d
[loose parser] Fetch token before comment when tokenizer raises unterminated comment error
...
Closes #197
2015-01-13 22:18:55 +01:00
Ingvar Stepanyan
d1f95ece42
Revert "Disallow parentheses in lvalue except as in computed keys or default values."
...
This reverts commit 85087f2a0951f60ca035ca6d785e4bab6d96d8f7.
Fixes #193 .
2015-01-12 20:31:38 +02:00
Ingvar Stepanyan
bc2e01aa03
Allow static as method name in class ( fixes #192 ).
...
Add uncommitted tests for #191 .
2015-01-09 15:31:01 +02:00
Ingvar Stepanyan
3d9048a692
Allow pattern in catch param ( fixes #191 ).
2015-01-09 02:50:32 +02:00
Ingvar Stepanyan
85087f2a09
Disallow parentheses in lvalue except as in computed keys or default values.
2015-01-08 23:00:22 +02:00
Ingvar Stepanyan
4d4a76588c
Parse assignment patterns in-place in certain contexts.
...
* Parsing assignables without extra transform step when possible (speed-up).
* Added support for shorthand defaults in such certain contexts (issue #181 ).
2015-01-08 20:19:48 +02:00
Marijn Haverbeke
0897901f1f
Slight cleanup of '/' disambiguation
...
Issue #189
2015-01-06 11:03:50 +01:00
Marijn Haverbeke
b6b085ac8e
Make tokenizer independent of parser (with regards to '/' disambiguation)
...
Issue #189
2015-01-06 10:58:52 +01:00
Marijn Haverbeke
7c6a8b7c76
Use parseExprSubscripts instead of parseExpression when parsing superclass
...
Issue #187
2015-01-04 22:30:50 +01:00
Marijn Haverbeke
045d8c02f5
Revert "Require superclass expressions to be lvals"
...
This reverts commit 0b59fc198baf2cd970091ee96fe5dd0f90034692.
Issue #187
2015-01-04 22:28:16 +01:00
Marijn Haverbeke
e271168cf6
Make onToken only fire for actual final tokens
...
Issue #189
2015-01-04 22:27:03 +01:00
Ingvar Stepanyan
431a44bc74
Add support for destructuring defaults (not for shorthand props yet).
...
Related to #181 .
2015-01-04 12:15:24 +02:00
Marijn Haverbeke
0b59fc198b
Require superclass expressions to be lvals
...
And remove a test that violates this.
Closes #185
2014-12-30 12:54:25 +01:00
Ingvar Stepanyan
0084ac14ae
Fixed #186 .
2014-12-30 13:42:37 +02:00
Ingvar Stepanyan
adec9f4b8e
Provide better error on member expression in binding's left side.
2014-12-17 20:37:00 +02:00
Ingvar Stepanyan
e37c07248e
Added optional support for hashbang directives.
...
Fixes #180 .
2014-12-17 19:58:38 +02:00
Marijn Haverbeke
8e84aa02f4
Bump version number post-0.11
2014-12-17 11:54:40 +01:00
Marijn Haverbeke
78e1d7ada6
Mark version 0.11.0
2014-12-17 11:54:09 +01:00
Marijn Haverbeke
6915519498
Give TemplateElements a narrower range
...
Issue #169
2014-12-11 17:44:45 +01:00
Marijn Haverbeke
c671bcfaf7
Bump version number post-0.10
2014-12-11 14:52:32 +01:00
Marijn Haverbeke
0a812b6020
Mark release 0.10.0
2014-12-11 14:51:45 +01:00
Marijn Haverbeke
c989857aa5
Add allowImportExportEverywhere option
...
Closes #174
2014-12-11 14:48:03 +01:00
Marijn Haverbeke
2cb3dbcb41
Change token structure of template literals
...
Fix various template parsing issues, makes tokenizer useable from outside
the parser.
Closes #169
Closes #173
2014-12-11 14:20:01 +01:00
Sebastian McKenzie
53d98f1175
Make semicolon optional in do-while in >=ES6
2014-12-10 13:14:25 +01:00
Ingvar Stepanyan
96bc831306
Fix #173 .
2014-12-07 19:55:31 +02:00
Ingvar Stepanyan
ba73b0e17e
Disallow parenthesis in patterns
...
Fixes #155
2014-11-19 20:23:37 +01:00
Ingvar Stepanyan
4496ca411a
Fixed import declaration for default+batch case.
...
Also removed deprecated `kind` property.
Fixes #161 .
2014-11-19 14:05:34 +01:00
Rich Harris
f48a921e24
allow export { default } from "foo"
2014-11-12 17:42:55 +01:00
Marijn Haverbeke
98691e5b80
Properly initialize top node start position
2014-11-12 17:31:45 +01:00
Marijn Haverbeke
249e6961f8
Make tests pass for loose parser
...
Define Program node extent to be the whole program, make
both parser and the tests conform to this.
Fix a bunch of bugs in the loose parser's handling of corner
cases.
Issue #151
2014-11-12 17:05:19 +01:00
Ingvar Stepanyan
b46b53e149
Loose: implement object methods; expose processed options from acorn.
2014-11-12 16:19:15 +01:00
Ingvar Stepanyan
c5145cedb2
Fix no-options case for acorn.
2014-11-12 16:19:14 +01:00
Ingvar Stepanyan
b47696eecf
Avoid UnaryExpression-specific properties in SpreadElement (just in case).
2014-11-12 16:19:14 +01:00
Ingvar Stepanyan
72df78cc88
Avoid separate handling of SpreadElement in favor of UnaryExpression parser.
2014-11-12 16:19:14 +01:00
Ingvar Stepanyan
b7367a2a8c
Make setOptions non-destructive for original object.
2014-11-12 16:19:14 +01:00
Ingvar Stepanyan
11ecb20e9e
Loose: ES6 function params support.
2014-11-12 16:19:14 +01:00
Sebastian McKenzie
a18f3d1003
Add support for computed static mutator class methods
2014-11-04 11:08:36 +01:00
Sebastian McKenzie
9d3580b23a
make ImportDeclaration and ExportDeclaration semicolons more spec-compliant
2014-10-29 10:46:39 +01:00
Ingvar Stepanyan
f26b656ea5
Remove property name clash check in ES6 as per Draft Rev 26.
...
See https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-06/jun-6.md#conclusionresolution-3 for details.
Conflicts:
test/tests-harmony.js
2014-10-27 10:56:06 +01:00
Marijn Haverbeke
5d1db2e993
Only apply kludge from f48503cd31826f8cfb0f0e2b6964879dbe318385 when unicode regexps are not supported
2014-10-27 10:54:46 +01:00
Sebastian McKenzie
f48503cd31
add unicode flag support to regex
2014-10-27 10:51:23 +01:00
Ingvar Stepanyan
fd79ac5879
Move comprehension support under ecmaVersion: 7 as per spec.
2014-10-27 10:34:53 +01:00
Marijn Haverbeke
5ff7e59a0a
Remove bogus support for \U escapes
...
Issue #147
2014-10-21 16:39:48 +02:00