388 Commits

Author SHA1 Message Date
Sebastian McKenzie
e14e6473ff fix flow type param parsing position - fixes #24 2015-01-26 20:30:21 +11:00
Sebastian McKenzie
301f639f73 fix incorrect parseExpression arguments - not sure where this came from 2015-01-26 16:58:41 +11:00
Sebastian McKenzie
2fb5a3c46e reference exports.Node so we can replace it if necessary 2015-01-26 01:25:41 +11:00
Sebastian McKenzie
1221112610 add canInsertSemicolon check to async function parsing 2015-01-26 00:12:01 +11:00
Sebastian McKenzie
766e42d140 clean up async function declaration parsing 2015-01-25 23:44:17 +11:00
Sebastian McKenzie
c297f5a57f fix parseAssignableListItem function name misspelling 2015-01-25 22:06:58 +11:00
Sebastian McKenzie
2c3d2ec875 simplify parse assignable list types 2015-01-25 17:22:37 +11:00
Sebastian McKenzie
7ea883a3b5 Merge https://github.com/RReverser/acorn-jsx
Conflicts:
	acorn.js
	package.json
2015-01-25 17:08:37 +11:00
Sebastian McKenzie
e397a0c4d3 support flow types in arrow function params, add support for async function declarations 2015-01-25 17:06:13 +11:00
Sebastian McKenzie
c5197e1cad Merge https://github.com/marijnh/acorn
Conflicts:
	acorn.js
	acorn_loose.js
2015-01-25 11:50:02 +11:00
Ingvar Stepanyan
012f7dbddd Introduce helpers for contextual keywords. 2015-01-25 10:36:06 +11:00
Sebastian McKenzie
97dd99d171 Remove useless noLess 2015-01-25 10:03:51 +11:00
Ingvar Stepanyan
719ecbd203 Improve JSX braces context handling. 2015-01-25 00:33:03 +02:00
Ingvar Stepanyan
c445d073e2 Merge branch 'upstream' into jsx2
Conflicts:
	acorn.js
2015-01-25 00:20:02 +02:00
Sebastian McKenzie
78215a17cd Merge https://github.com/marijnh/acorn
Conflicts:
	acorn.js
	package.json
2015-01-24 22:49:06 +11:00
Ingvar Stepanyan
5d96bbd781 Simplify & fix rest argument validity checks. 2015-01-24 13:38:14 +02:00
Ingvar Stepanyan
cdd444eff1 Speed-up reading words, strings and templates.
Now identifiers and strings even with escaped chars are read
in optimized way by reading entire chunks delimited by escape
chars (and not bailing to deopt mode on first one).
2015-01-24 12:42:19 +02:00
Ingvar Stepanyan
65d09eac6e Implement shorthand property assignment in ambiguous contexts.
Issue #181.
2015-01-24 12:40:24 +02:00
Ingvar Stepanyan
f0569147e6 Avoid extra call and arg in parseExpression for single-expression case. 2015-01-23 21:48:33 +02:00
Ingvar Stepanyan
41ad304955 Introduce helpers for contextual keywords. 2015-01-23 21:36:16 +02:00
Ingvar Stepanyan
917de714b1 Switch from Function.{rest,defaults} to AssignmentPattern and RestElement.
Closes #182.
2015-01-23 15:29:37 +02:00
Sebastian McKenzie
f031700b67 Merge https://github.com/marijnh/acorn
Conflicts:
	acorn.js
2015-01-23 23:16:59 +11:00
Sebastian McKenzie
cb76f3f7ba Merge https://github.com/marijnh/acorn
Conflicts:
	acorn.js
2015-01-23 23:16:08 +11:00
Ingvar Stepanyan
38609ae26d Closes #205. 2015-01-23 14:14:02 +02:00
Ingvar Stepanyan
e6f1e1027e Fix dividing function expression.
Fixes #204.
2015-01-23 13:17:03 +02:00
Sebastian McKenzie
78923eae15 add back missing class type parsing 2015-01-23 21:38:13 +11:00
Sebastian McKenzie
957d2b4c44 Merge https://github.com/marijnh/acorn 2015-01-23 21:02:23 +11:00
Ingvar Stepanyan
39d752dc6b Make top-level equal to block statement context.
Fixes #203.
2015-01-23 11:48:39 +02:00
Sebastian McKenzie
af7630b963 Merge https://github.com/RReverser/acorn-jsx
Conflicts:
	.gitignore
	README.md
	acorn.js
	package.json
	test/run.js
	test/tests-harmony.js
	test/tests-jsx.js
2015-01-23 08:07:09 +11:00
Ingvar Stepanyan
555c7898c8 Remove Token::{startLoc,endLoc} so they don't appear in next release. 2015-01-22 18:21:38 +02:00
Ingvar Stepanyan
a7d5734a59 Fix spread attribute parsing after merge. 2015-01-22 17:13:56 +02:00
Ingvar Stepanyan
252bb46f70 Merge branch 'upstream' into jsx2 2015-01-22 16:11:28 +02:00
Ingvar Stepanyan
caa5da6ce1 Improve spread element parsing (fix allowed contexts and error locations). 2015-01-21 23:51:40 +02:00
Ingvar Stepanyan
d1f28b75aa Merge branch 'upstream' into jsx2 2015-01-21 03:01:27 +00:00
Ingvar Stepanyan
29910d2b2d XJS -> JSX as per facebook/esprima#83. 2015-01-21 03:00:12 +00:00
Ingvar Stepanyan
cae13fd75a Small simplifications after merge. 2015-01-21 02:58:02 +00:00
Marijn Haverbeke
94b5efcd3e Disallow declaration statements in block-less context
Closes #202
2015-01-20 12:55:21 +01:00
Marijn Haverbeke
a1d2561cfa Restore patch 9f7cb552648829796ab4d6836d08246e95f16b9d to original shape
And make loose parser handle stray class semicolons

Issue #190
2015-01-20 12:02:30 +01:00
Sebastian McKenzie
9f7cb55264 Add stray semicolons as class elements 2015-01-20 11:56:33 +01:00
Ingvar Stepanyan
d64efe1be4 Merge branch 'upstream' into jsx2
Conflicts:
	acorn.js
2015-01-19 14:12:24 +00:00
Charlie Somerville
8296fe1415 fix associativity parsing, hopefully for good this time 2015-01-18 19:14:19 +11:00
Sebastian McKenzie
5f9f588386 fix flow function param type parsing - allow optional notation as well as type declaration - fixes 6to5/6to5#524 2015-01-18 18:33:42 +11:00
Sebastian McKenzie
a0a20f9fb2 fix styling in right associative 2015-01-18 10:38:13 +11:00
Charlie Somerville
30e9978ffb pass minPrec when right recursing rather than prec - 1 2015-01-18 10:34:34 +11: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
Charlie Somerville
b51118c3fc use right recursion for right associative operators 2015-01-18 00:44:17 +11:00
Charlie Somerville
5f42326f34 set the rightAssociative flag on _exponent 2015-01-18 00:44:14 +11:00
Justin Ridgewell
856571e948 Support Mallet operator
The mallet will check to see if the variable is falsey, and if
it is, override it. It's almost the same as `a = a || b`.

Re: 6to5/6to5#516
2015-01-16 18:28:25 -05: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
Sebastian McKenzie
886d84c18c limit memoisation assignment operator to playground mode 2015-01-15 02:44:15 +11:00