jashkenas--coffeescript/test
Julian Rosse 71350d67c4 AST generation hooks (#5099)
* include range in location data

* use exclusive ranges

* ast generation hooks

* fix getAstChildren()

* babylon -

* isArray -> Array.isArray

* pass options to toJSON()

* default astType on Base

* using exclusive range

* extract location data tests

* babylon -> ast

* remove do ->

* _toAst -> getAstContent

* Pass through parsed number value from lexer to node; don't process more than is necessary (a number literal can never be negative, because the negative sign is an Op token and node)

* normalize NumberLiteral values

* use parsedValue in getNumberValue()

* recursive getNumberValue()

* parseNumber()

* The core JavaScript Number constructor does a better job at parsing strings into numbers than our helper does

* Use Object.assign rather than merge or extend

* Update link

* Cleanup style

* Refactor to make AST generation more object-oriented: have each of the AST properties be generated on the node itself, rather than in loops in the base class

* Untangle test helpers: give the AST location tests their own specific helper function, and move the general AST helper functions into the main AST tests file

* Not passing o

* Add node type check to AST location data tests
2018-09-17 10:40:37 -07:00
..
importing Fix #4725: apply transpile option to require’d .coffee files (#4728) 2017-10-04 17:49:59 -07:00
support [CS2] Fix v3 source map (#4671) 2017-09-01 01:06:45 -07:00
abstract_syntax_tree.coffee AST generation hooks (#5099) 2018-09-17 10:40:37 -07:00
abstract_syntax_tree_location_data.coffee AST generation hooks (#5099) 2018-09-17 10:40:37 -07:00
argument_parsing.coffee AST flag/API option; generic AST output for all nodes (#5044) 2018-06-11 19:50:40 -07:00
arrays.coffee improve elision output (#4824) 2017-12-10 15:22:34 -08:00
assignment.coffee Fix #4876: remove polyfill for object rest/spread (#4884) 2018-04-23 09:50:42 -07:00
async.coffee Allow yield indented object (#5072) 2018-06-10 21:45:45 -07:00
async_iterators.coffee Fix #4875: Asynchronous iterators (#4893) 2018-04-08 13:42:54 -07:00
booleans.coffee
classes.coffee Fix #4609: support new.target (#5106) 2018-09-16 13:52:47 -07:00
cluster.coffee
comments.coffee Preserve empty interpolations (#5079) 2018-06-17 15:36:26 -07:00
compilation.coffee Babel 7 (#5105) 2018-09-09 13:41:49 -07:00
comprehensions.coffee Allow `@` values as indices in `for` expressions 2016-12-29 19:00:00 +00:00
control_flow.coffee Fix #5013: return statement as an expression (#5014) 2018-03-17 23:08:43 -07:00
csx.coffee Preserve empty interpolations (#5079) 2018-06-17 15:36:26 -07:00
error_messages.coffee Fix #4609: support new.target (#5106) 2018-09-16 13:52:47 -07:00
eval.coffee
exception_handling.coffee Fix: a test relied on faulty behavior (#5028) 2018-04-10 09:21:40 -07:00
exponentiation.coffee Fix #4877: Exponentiation operators (#4881) 2018-03-30 00:47:40 -07:00
formatting.coffee Allow yield indented object (#5072) 2018-06-10 21:45:45 -07:00
function_invocation.coffee Allow implicit call with class with no body (#5053) 2018-05-13 12:20:09 -07:00
functions.coffee Fix #4876: remove polyfill for object rest/spread (#4884) 2018-04-23 09:50:42 -07:00
generators.coffee Fix #4877: Exponentiation operators (#4881) 2018-03-30 00:47:40 -07:00
helpers.coffee
importing.coffee
interpolation.coffee Fix #4877: Exponentiation operators (#4881) 2018-03-30 00:47:40 -07:00
invocation_argument_parsing.coffee AppVeyor (#4812) 2017-12-01 13:19:48 -08:00
javascript_literals.coffee [CS2] Comments (#4572) 2017-08-02 19:34:34 -07:00
literate.litcoffee [CS2] Literate CoffeeScript without dependencies (#4509) 2017-04-17 23:30:40 -07:00
literate_tabbed.litcoffee [CS2] Literate CoffeeScript without dependencies (#4509) 2017-04-17 23:30:40 -07:00
location.coffee Preserve empty interpolations (#5079) 2018-06-17 15:36:26 -07:00
modules.coffee fix #4874 (#4888) 2018-02-08 21:11:11 -08:00
numbers.coffee
object_rest_spread.coffee Fix #4876: remove polyfill for object rest/spread (#4884) 2018-04-23 09:50:42 -07:00
objects.coffee [Enhancement] Computed property keys (#4622) (#4803) 2017-12-08 22:42:47 -08:00
operators.coffee Normalize :: syntax (#5048) 2018-05-13 12:41:43 -07:00
option_parser.coffee [CS2] Add #! support for executable scripts on Linux. (#3946) 2017-07-19 16:25:06 -07:00
parser.coffee Properly update location data when setting a call to use `new` 2017-02-16 20:43:19 -08:00
ranges.coffee Fix #4889: for...range loop condition (#4891) 2018-02-20 00:46:20 -08:00
regex.coffee Regular expressions `s` (dotAll) flag (#4880) 2018-03-30 15:25:41 -07:00
regex_dotall.coffee Regular expressions `s` (dotAll) flag (#4880) 2018-03-30 15:25:41 -07:00
repl.coffee simplified test file skipping (#4996) (#5003) 2018-03-12 19:03:44 -07:00
scope.coffee [CS2] Restore bound class methods via runtime check to avoid premature calling of bound method before binding (#4561) 2017-06-14 15:11:53 -07:00
slicing_and_splicing.coffee Fix #1726: expression in property access causes unexpected results (#4851) 2018-01-15 20:03:01 -08:00
soaks.coffee
sourcemap.coffee [CS2] Fix v3 source map (#4671) 2017-09-01 01:06:45 -07:00
strict.coffee merge master 2017-04-20 14:41:28 -05:00
strings.coffee [CS2] Support for CSX - equivalent of JSX (#4551) 2017-06-06 23:33:46 -07:00
tagged_template_literals.coffee [CS2] Fix #4467: tagged template literal call (#4601) 2017-07-05 13:58:36 -07:00