55 Commits

Author SHA1 Message Date
Sebastian McKenzie
a727a121ae Merge https://github.com/marijnh/acorn
Conflicts:
	acorn.js
2014-12-31 11:50:15 +11: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
Sebastian McKenzie
ff4228c09d Merge branch 'master' of https://github.com/marijnh/acorn
Conflicts:
	README.md
	acorn.js
	package.json
2014-12-27 20:02:15 +11:00
Marijn Haverbeke
6915519498 Give TemplateElements a narrower range
Issue #169
2014-12-11 17:44: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
Sebastian McKenzie
1b760db578 Merge branch 'master' of https://github.com/RReverser/acorn 2014-12-10 20:32:56 +11:00
Sebastian McKenzie
4d985230cc Merge branch 'do-optional-semicolon' of https://github.com/sebmck/acorn 2014-12-10 19:07:39 +11:00
Sebastian McKenzie
841ab6802f Make semicolon optional in do-while in >=ES6 2014-12-10 18:59:24 +11:00
Ingvar Stepanyan
96bc831306 Fix #173. 2014-12-07 19:55:31 +02:00
Ingvar Stepanyan
33d5082043 Parse import Thing ... in the same way as import {default as Thing} ....
Adjusts with Reflect.parse output and simplifies handling of "default" case
in external tools by providing regular named ImportSpecifier.
2014-11-23 14:06:13 +02: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
Ingvar Stepanyan
d4565fed53 Loose: ES6 import, export.
Removed "kind" from tests for ES6 import/export as it's
left only for backward compatibility.
2014-11-12 16:19:15 +01:00
Ingvar Stepanyan
1589a959fa Loose: yield support. 2014-11-12 16:19:15 +01:00
Sebastian McKenzie
a18f3d1003 Add support for computed static mutator class methods 2014-11-04 11:08:36 +01:00
Marijn Haverbeke
8a799c6077 Remove redundant range info from tests 2014-10-27 10:59:16 +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
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
Max Schaefer
d525c45644 Add option for representing parenthesized expressions in the AST. 2014-10-13 12:19:39 +02:00
Max Schaefer
e9c7209f8b Guard against missing elements in array patterns when checking function parameters. 2014-10-13 12:17:29 +02:00
Marijn Haverbeke
3603f7d0b1 Adjust start positions of parenthesized expressions to not include parentheses
Issue #136
2014-10-08 11:52:49 +02:00
Ingvar Stepanyan
daedc6fcb3 Fixes #129 and spaces in template quasi literals.
* Added hack to correctly handle skipped spaces after= template expressions.
* Added `null` default values for regular functions.
* Added regression tests for both.
2014-09-26 17:04:22 +02:00
Ingvar Stepanyan
ff9c3550a4 Allow computed class method names (as per ariya/esprima#271). 2014-07-29 14:41:49 +02:00
Ingvar Stepanyan
acbef8557f Treat line ending after yield keyword as end of YieldExpression
(as per http://people.mozilla.org/~jorendorff/es6-draft.html#sec-generator-function-definitions-runtime-semantics-evaluation).
2014-07-29 14:41:45 +02:00
Ingvar Stepanyan
9d552efe45 Added Generator Comprehension support. 2014-07-29 14:41:44 +02:00
Ingvar Stepanyan
afefac56bf Added test to represent "import x, { ... } from 'module'" case. 2014-07-29 14:41:44 +02:00
Ingvar Stepanyan
3ee9e288a2 Forbid spread element in sequence expressions. 2014-07-29 14:41:32 +02:00
Ingvar Stepanyan
8f96965d36 Added yield support (completed generators). 2014-07-29 14:41:32 +02:00
Ingvar Stepanyan
b8a3300a21 Added function * support (part of generators feature). 2014-07-29 14:41:32 +02:00
Ingvar Stepanyan
4f24e13fd5 Added template string support. 2014-07-29 14:41:32 +02:00
Ingvar Stepanyan
a8cf37fc46 Test fixes for imports. 2014-07-29 14:41:32 +02:00
Ingvar Stepanyan
26818e1f36 Removed module-related tests and implemented corresponding alternatives support.
`module ModuleName { ... }` was removed from spec in favor of separate files.
`module LocalName from '...'` is being replaced with `import * as LocalName from '...'` as per http://jsmodules.io/ and https://twitter.com/domenic/status/492735387140243456 (c) @domenic.
2014-07-29 14:41:29 +02:00
Ingvar Stepanyan
b38c15a94b Added export declaration support.
See http://people.mozilla.org/~jorendorff/es6-draft.html#sec-exports, ariya/esprima#216, square/es6-module-transpiler#63 for latest decisions on `export default 42` vs `export default = 42` (first wins, so returning AST as it was in older Esprima Harmony and used by https://github.com/square/es6-module-transpiler/).
2014-07-29 14:41:24 +02:00
Ingvar Stepanyan
f2dfeff977 Added test for BindingPattern inside ArrayComprehension
(fails in esprima - https://code.google.com/p/esprima/issues/detail?id=570).
2014-07-29 14:41:18 +02:00
Ingvar Stepanyan
bcc97e2d52 Array Comprehensions as per latest ES6 drafts. 2014-07-29 14:41:18 +02:00
Ingvar Stepanyan
648f3159cc Added for (..of..) support and guard against for (let var=.. in|of ..) loops. 2014-07-29 14:41:09 +02:00
Ingvar Stepanyan
8b0be7cec9 Improved destruction assignment guards. 2014-07-29 14:41:09 +02:00
Ingvar Stepanyan
0f56e32512 Object shorthand properties; small fixes to ES6 function parameters. 2014-07-29 14:41:09 +02:00
Ingvar Stepanyan
50a82135c4 Recursive destructuring assignment with function arguments name clash checks. 2014-07-29 14:41:09 +02:00
Ingvar Stepanyan
f7fe322490 Better parentheses check for arrow expression argument list. 2014-07-29 14:41:09 +02:00
Ingvar Stepanyan
1f801001cf ArrowExpression rest parameter support, brackets check and test fixes. 2014-07-29 14:41:09 +02:00
Ingvar Stepanyan
5d50be1447 Removed dirty hack in favor of fixed expected locations for arrow and method functions (node's location should include arguments). 2014-07-29 14:41:09 +02:00
Ingvar Stepanyan
19696af666 Added computed properties support. 2014-07-29 14:41:09 +02:00
Ingvar Stepanyan
44a4f8c016 Added ES6 classes support. 2014-07-29 14:41:09 +02:00
Ingvar Stepanyan
eadda16c42 Added SpreadElement support.
testFail message fixes for object methods.
2014-07-29 14:41:09 +02:00
Ingvar Stepanyan
a5cf393134 Fixed testFail messages for character escape sequences. 2014-07-29 14:41:08 +02:00