1
0
mirror of https://github.com/robertkrimen/otto synced 2025-10-19 19:55:30 +08:00
Commit Graph

19 Commits

Author SHA1 Message Date
Robert Krimen
ad8a97c028 New parser
* Faster, more straightforward, etc.
* More advanced object literals (get ..., set ...)
* More tests using JavaScript from the wild (http://cdnjs.com/)
2014-04-10 20:42:25 -07:00
Robert Krimen
aef9bfcb9a Fix "memory leak" by gelcapping panic values with _exception
Basically, the Go runtime sees the gelcap shell of the exception,
which dissolves (payload is set to nil) once we catch the error.

This prevents the Go runtime from hanging onto a heavy object for the
panic log (or whatever it is doing with the panic value).

This fixes #59
2014-02-21 18:24:07 -08:00
Tim Jurcka
805a4c27b1 Fix redundant evaluation of test in "for" (sdgoij/MatrixFrog)
This fixes #39
2014-01-19 09:08:47 -08:00
Robert Krimen
4ebf6416d0 Fix Uint32 Array/String indexing
Also, a bunch of toValue_* streamlining
And maybe a few miscellaneous tweaks
2013-06-22 15:49:22 +02:00
Robert Krimen
73bf2f9fa8 Implement return/break/continue without panic/recover
This fixes #25
2013-06-13 22:17:04 -07:00
Robert Krimen
7ff3e8668e Allow (internal) enumeration through _every_ Object property
For .freeze, .isFrozen, etc.
2013-06-02 15:21:25 -07:00
Robert Krimen
cfd5635e46 Fix iterator evaluation to return the proper result if a break happens 2013-04-27 22:03:12 +02:00
Robert Krimen
cc243b17d7 Can now attach a label to a block and have it break properly 2013-04-27 15:52:46 +02:00
Robert Krimen
2277e46d05 tryEvaluate => tryCatchEvaluate 2013-04-20 22:13:19 -07:00
Robert Krimen
2b3f317e3a Finally should still run even if Catch has break, continue, return, etc. 2013-04-20 21:59:42 -07:00
Robert Krimen
20d2e8bba6 gofmt
Ugh.
2013-01-25 09:59:42 -08:00
Robert Krimen
d9765234a4 Fix to not bypass finally on continue, break, return, etc. 2012-11-06 17:58:31 -08:00
Robert Krimen
a4de862caa Test condition in case of continue in do-while 2012-11-06 17:27:12 -08:00
Robert Krimen
19c039924a Simplify _environment interface
Factor out derivative-environment creation
2012-11-05 16:40:19 -08:00
Robert Krimen
3c93384f5c Cleanup of stash, property, and object
Use octal to designate write/enumerate/configure (experimental)
Move extensibility responsibility into the stash
Rename propertyStash => objectStash (be congruent with arrayStash, etc.)
Get rid of a bunch of useless methods
Privatize everything ([A-Z] => [a-z_])
gofmt
2012-10-26 15:47:19 -07:00
Robert Krimen
58cf2a4b67 Add break capability to switch 2012-10-16 22:57:25 -07:00
Robert Krimen
89e26f042e Allow empty test/update in for statements
Fix #1
2012-10-14 10:42:06 -07:00
Robert Krimen
c6e45a7118 Change getIdentifierReference to accept a node argument
To track/report where errors are coming from
2012-10-09 17:26:08 -07:00
Robert Krimen
4a8c7ffc00 Initial commit 2012-10-05 18:47:53 -07:00