Jeremy Ashkenas
|
decaea0f5f
|
adding 'by' to array comprehensions
|
2010-02-06 10:12:57 -05:00 |
|
Jeremy Ashkenas
|
b795ae7fe1
|
removing arguments as a keyword -- we can detect its use at code-generation time.
|
2010-02-05 22:01:11 -05:00 |
|
Jeremy Ashkenas
|
dc7d0f1568
|
fixing assigning to @properties within an expression
|
2010-02-03 18:16:31 -05:00 |
|
Jeremy Ashkenas
|
cb7a1033fa
|
adding @property for this.property
|
2010-02-02 20:36:46 -05:00 |
|
Jeremy Ashkenas
|
c5c841f2fc
|
fixing bug with mixed dot and soak accessors
|
2010-02-02 10:39:44 -05:00 |
|
Jeremy Ashkenas
|
af53a04932
|
added test for lexical scope sharing through generated closure wrappers, something uncommonly used, but that was a regression
|
2010-01-24 13:39:27 -05:00 |
|
Jeremy Ashkenas
|
817e8deb27
|
adding soaked method calls, with caching
|
2010-01-24 12:52:15 -05:00 |
|
Jeremy Ashkenas
|
d728c3d669
|
added existence chains with '?.' -- soaks up attempts to access undefined properties, returning 'undefined'
|
2010-01-23 23:30:55 -05:00 |
|
Jeremy Ashkenas
|
9160500e84
|
removing 'this' rewriting in favor of correctly calling generated closures
|
2010-01-23 21:11:27 -05:00 |
|
Jeremy Ashkenas
|
c3ce2ea9b1
|
added automatic safety closure wrapper for functions declared within for loops.
|
2010-01-23 17:53:07 -05:00 |
|
Jeremy Ashkenas
|
2d90a751f7
|
edits for clarity
|
2010-01-17 14:55:06 -05:00 |
|
Jeremy Ashkenas
|
8647b54a61
|
rename compile_double_reference to compile_reference
|
2010-01-17 14:26:00 -05:00 |
|
Jeremy Ashkenas
|
8e1f3c0eca
|
generating multiple calls to the same function should use compile_double_reference to ensure a single evaluation of the call itself.
|
2010-01-17 14:23:41 -05:00 |
|
Jeremy Ashkenas
|
c4d0903e6a
|
fixing assignment-in-condition
|
2010-01-17 10:40:59 -05:00 |
|
Jeremy Ashkenas
|
e72ef1a61a
|
reverting change
|
2010-01-17 10:28:04 -05:00 |
|
Jeremy Ashkenas
|
d7d9cb8d28
|
only let returns stop an expression from being closure-ified -- breaks and continues may be valid
|
2010-01-17 10:21:24 -05:00 |
|
Jeremy Ashkenas
|
f6c8e81ea6
|
the existential operator can now be used infix as well
|
2010-01-16 23:03:54 -05:00 |
|
Jeremy Ashkenas
|
52539ae7d2
|
abbreviating the existential operator
|
2010-01-16 22:26:34 -05:00 |
|
Jeremy Ashkenas
|
95b362499f
|
added the conditional existence operator
|
2010-01-16 22:17:55 -05:00 |
|
Jeremy Ashkenas
|
0bc4da2b51
|
ensure that functions are only called once, when chaining comparators
|
2010-01-16 22:04:08 -05:00 |
|
Jeremy Ashkenas
|
9679fc0b52
|
removing redundant unary check
|
2010-01-16 16:49:03 -05:00 |
|
Jeremy Ashkenas
|
9cb0564972
|
added Python's chainable comparisons, like: 10 > 5 > 1
|
2010-01-16 16:37:49 -05:00 |
|
Jeremy Ashkenas
|
c6c0c7d059
|
simplification of function and prototype naming -- last_assign, immediate_assign, and proto_assign are gone, in favor of 'name' and 'proto' properties on CodeNodes
|
2010-01-16 15:44:07 -05:00 |
|
Jeremy Ashkenas
|
62e946b8ce
|
purely empty functions at the top level should be wrapped in parens, so as not to cause a JS syntax error
|
2010-01-16 15:02:04 -05:00 |
|
Jeremy Ashkenas
|
9eff443032
|
arguments no longer is just a find-and-replace -- it'll fix the arguments variable at the top of scope if you use it in a function body
|
2010-01-16 12:52:26 -05:00 |
|
Jeremy Ashkenas
|
8957feedb4
|
expression closure wrappers are now safer -- they won't be generated if there's a statement_only inside
|
2010-01-16 12:10:31 -05:00 |
|
Jeremy Ashkenas
|
1cd7fa8ebe
|
added children macro to Node, using it so that all nodes now have a 'children' method -- used for safe references to 'this' within closure wrappers
|
2010-01-16 11:24:10 -05:00 |
|
Jeremy Ashkenas
|
701cdb4c13
|
never try to push a statement_only
|
2010-01-15 19:47:16 -05:00 |
|
Jeremy Ashkenas
|
001cc29deb
|
slightly shorter generated code for ==>
|
2010-01-14 08:55:09 -05:00 |
|
Jeremy Ashkenas
|
e77e520607
|
CoffeeScript 0.2.5 is on the books
|
2010-01-13 23:24:45 -05:00 |
|
Jeremy Ashkenas
|
ed8a54995d
|
with splats allowed in destructuring assignment
|
2010-01-13 22:25:58 -05:00 |
|
Jeremy Ashkenas
|
2d206e7b60
|
pulling out pushes into a pushnode
|
2010-01-13 21:33:46 -05:00 |
|
Jeremy Ashkenas
|
bb9fdd3015
|
while loops can now be used as expressions -- they return an array containing the computed result of each iteration.
|
2010-01-13 21:27:22 -05:00 |
|
Jeremy Ashkenas
|
1e7d638435
|
adding bound functions, with test
|
2010-01-13 20:59:57 -05:00 |
|
Jeremy Ashkenas
|
0ceca0778c
|
adding when clauses with multiple values
|
2010-01-13 19:56:35 -05:00 |
|
Jeremy Ashkenas
|
abd9ab5c71
|
unified ParamSplatNode and ArgSplatNode into SplatNode
|
2010-01-12 23:49:47 -05:00 |
|
Jeremy Ashkenas
|
ea349a1a59
|
more safety type-checks in nodes.rb
|
2010-01-12 23:26:35 -05:00 |
|
Jeremy Ashkenas
|
8dfbd1a2a8
|
using Object.prototype.hasOwnProperty.call instead of obj.hasOwnProperty, with an alias, for Rhino and java objects
|
2010-01-12 17:35:37 -05:00 |
|
Jeremy Ashkenas
|
186797a745
|
got compile_pattern_match about as small as its going to get
|
2010-01-11 22:16:23 -05:00 |
|
Jeremy Ashkenas
|
d54fa2f2a1
|
a whole chunk of compile_pattern_match was redundant, axed it -- along with the array/vs/object split
|
2010-01-11 22:12:18 -05:00 |
|
Jeremy Ashkenas
|
6c980d8adc
|
first draft of destructuring assignment -- working out the wrinkles -- not sure if we want to do the full spec
|
2010-01-11 21:44:47 -05:00 |
|
Jeremy Ashkenas
|
2f63439bff
|
swapping around the order of variable declaration in array comprehensions, so that it comes out in the proper order: __a, __b, __c
|
2010-01-11 09:16:08 -05:00 |
|
Jeremy Ashkenas
|
d1ddeacbe3
|
more refactors to nodes
|
2010-01-10 22:35:55 -05:00 |
|
Jeremy Ashkenas
|
d9d09a9a72
|
refactoring and commenting nodes.rb Expressions
|
2010-01-10 22:04:38 -05:00 |
|
Jeremy Ashkenas
|
24408c785a
|
caught a close call bug with object comprehensions and not specifying the value
|
2010-01-10 17:44:19 -05:00 |
|
Jeremy Ashkenas
|
ad18378f7e
|
adding '::' as shorthand for '.prototype.'
|
2010-01-10 16:16:59 -05:00 |
|
Jeremy Ashkenas
|
902febb43a
|
big commit -- adding back object comprehensions, using 'ino', versus 'in' for array comprehensions, fixing bug with dollar signs in identifiers
|
2010-01-10 15:52:23 -05:00 |
|
Jeremy Ashkenas
|
13fc8aea04
|
removing object comprehensions from CoffeeScript, they were necessitating the generation of too much ugly JS
|
2010-01-10 14:45:44 -05:00 |
|
Jeremy Ashkenas
|
8ea75290b5
|
better indentation for compile_closure
|
2010-01-10 13:18:44 -05:00 |
|
Jeremy Ashkenas
|
8e3922b6c6
|
allowing comments in the middle of switch statements
|
2010-01-09 13:25:44 -05:00 |
|