Jeremy Ashkenas
08ab4abd43
removing obvious redundant parentheses.
2010-06-27 23:55:18 -04:00
Jeremy Ashkenas
af3b356d70
fixing an improper-js-output bug when using a loop-compiled inarray clause as part of a larger expression
2010-06-27 13:27:51 -04:00
Jeremy Ashkenas
ec570c46bf
Big commit. First draft of stripping comments from generated JS output. Issue #41
2010-06-27 12:59:54 -04:00
Jeremy Ashkenas
0fcfb80be4
switching 'a in b' to 'a of b', and adding an array presence check for 'a in b'.
2010-06-21 23:51:12 -04:00
Dan Holmsand
6bc7b56e6e
Make sure variables named e.g. "constructor" are declared with var
2010-06-16 12:54:53 +02:00
Jeremy Ashkenas
06ca2ef726
more streamlined code generation for instance-bound methods ... keep the prototype method around, and just bind it in the constructor.
2010-06-15 02:21:01 -04:00
Jeremy Ashkenas
8d853a6d58
adding the ability to have classes with functions pre-bound to the instance, using the fat arrow, and the constructor-function-definition pattern, avoiding prototypes.
2010-06-15 01:28:30 -04:00
Jeremy Ashkenas
de768aefc3
a bit more work on keywords-in-object-literals...
2010-06-15 01:03:14 -04:00
Jeremy Ashkenas
4b284f6687
first draft at ticket #437 ... automatic quoting of reserved words and keywords.
2010-06-15 00:54:02 -04:00
Jeremy Ashkenas
d0948e5586
fixing comprehensions to also close over the index variable, if used in an inner function...
2010-06-13 21:43:04 -04:00
Jeremy Ashkenas
b0a45e5b93
Ticket #423 . When functions are generated within comprehensions ... the comprehensions should close over the element instead of sharing it.
2010-06-13 21:21:30 -04:00
Jeremy Ashkenas
6f91331626
slight refactor to IfNode::ensureExpressions
2010-06-13 18:04:09 -04:00
Jeremy Ashkenas
4ecb1bb2ed
switching to 'Compiled' messages after the code has finished compiling on --watch ...
2010-06-13 14:21:02 -04:00
Jeremy Ashkenas
5612a59b30
allowing implicit returns to be pushed down into each branch of computation, even when there's an explicit return nested more deeply. Issue #401
2010-06-13 01:13:52 -04:00
Jeremy Ashkenas
e14f4c5db1
First draft of switching the CoffeeScript Compiler over to camelCase. Pour one on the ground for underscores...
2010-06-12 19:05:13 -04:00
Jeremy Ashkenas
c2d1ae06c5
removing the <- bind operator from CoffeeScript...
2010-06-12 11:00:56 -04:00
Jeremy Ashkenas
c5fd64c72a
allowing direct calls against numbers.
2010-05-31 22:56:51 -04:00
Jeremy Ashkenas
45f442bd73
allowing Klass::['dynamic-property'] syntax. Issue #392
2010-05-31 22:32:43 -04:00
Jeremy Ashkenas
b8a4adbdc7
whitespace adjustments
2010-05-31 19:54:28 -04:00
Jeremy Ashkenas
7402aea9f2
cleaner generated code for range comprehensions, but you have to use an explicit step to go downwards. Forked the code path for cleaner range literals as well.
2010-05-31 19:38:45 -04:00
Jeremy Ashkenas
12587d8295
reworking Stan's nodes.coffee type/children work a bit for issue 386
2010-05-31 10:36:50 -04:00
Stan Angeloff
e17bb4ff11
FIXES #397 : Can't use @variable in switch in instance method
2010-05-26 21:58:11 +03:00
Stan Angeloff
aba19841ee
FIXES #390 : super() calls in constructor of classes that are defined as object properties
2010-05-25 09:15:46 +03:00
Stan Angeloff
4c3271728d
OOP love for nodes.coffee
2010-05-19 23:24:55 +03:00
Stan Angeloff
57231ae75d
Merging type, children and statement functions
2010-05-19 22:53:05 +03:00
Stan Angeloff
97c2a70593
Baby steps fixing #386
2010-05-19 22:37:42 +03:00
Jeremy Ashkenas
485346f0e5
CoffeeScript 0.6.2
2010-05-15 01:18:05 -04:00
Jeremy Ashkenas
dfb3a13246
Fixed lingering CoffeeScript Compiler running live in Internet Explorer bugs. Implemented helpers.index_of and removed named functions. Ticket #366
2010-05-14 23:40:04 -04:00
Jeremy Ashkenas
f84eb9ed47
fixing heredoc indentation from herecomment tweaks
2010-05-14 21:50:17 -04:00
Jeremy Ashkenas
45669e08c6
better indentation handling for far-left heredocs and herecomments
2010-05-12 21:49:46 -04:00
Jeremy Ashkenas
a5db69e1af
better indentation handling for far-left heredocs and herecomments
2010-05-12 21:47:31 -04:00
Jeremy Ashkenas
8aceef20e1
Adding initial implementation of here-comments (block comments) Issue #368
2010-05-12 20:56:44 -04:00
Jeremy Ashkenas
4d0acc9b02
fixing andreyvit's issue with parentheses not being applied to multi-operators as the condition clause of a switch...
2010-05-10 22:50:11 -04:00
Jeremy Ashkenas
393fbf1b66
merging in gfxmonk's cleanup to how children of nodes are determined. Removing some (so far) unused portions.
2010-05-10 22:41:18 -04:00
gfxmonk
3324b03a5d
Merge remote branch 'upstream/master'
...
Conflicts:
src/nodes.coffee
2010-05-10 21:09:00 +10:00
gfxmonk
eb91f9922d
determine @children dynamically based on attribute names, instead of manual bookkeeping
2010-05-10 20:58:01 +10:00
Jeremy Ashkenas
9a7420ccd0
adding support for calling variadic functions with less than the requested number of arguments.
2010-05-08 12:44:54 -04:00
Jeremy Ashkenas
be72120311
further minor cleanup to varargs
2010-05-08 12:20:14 -04:00
Jeremy Ashkenas
c452c3a101
minor cleanup to varargs
2010-05-08 12:15:47 -04:00
Tim Jones
0b3bb66708
Added safe soaking on non-existent variables.
2010-05-05 21:58:48 +12:00
Tim Jones
ae70d10996
Removing obsolete delete calls.
2010-05-03 21:17:30 -04:00
Tim Jones
52e6399e02
Added missing or to IndexNode.
2010-05-03 21:17:23 -04:00
Tim Jones
ac05f62f2f
Wrapping all soaked chains that are involved in operations.
2010-05-03 21:17:16 -04:00
Tim Jones
4d935efd09
Stop anonymous supers.
2010-05-03 21:16:50 -04:00
gfxmonk
c8e0f8b149
Cleaned up IfNodes
...
- renamed rewrite_condition() to switches_over(),
and @switcher to @switch_subject
- removed unused else_body constructor parameter, as well
as unnecessary push() method
- ensure both @body and @else_body are always Expressions
(previously they could be either Expressions or IfNode)
2010-05-02 00:39:34 +10:00
Dan Holmsand
144c096ae6
Remove unused variable index_var from for loops
2010-04-30 09:48:30 +02:00
Jeremy Ashkenas
adbcd320b2
adding until loops as the inverse of while loops
2010-04-28 22:08:00 -04:00
Jeremy Ashkenas
17ba44056e
changing 'filter' to 'guard' to get around Express' clobbering of Object.prototype.
2010-04-28 21:46:47 -04:00
Jeremy Ashkenas
502abade7c
rewriting the compiler using 'unless' blocks where appropriate.
2010-04-27 19:38:24 -04:00
Jeremy Ashkenas
b5606a247d
adding pattern matching for comprehensions.
2010-04-26 23:46:35 -04:00