Robert Krimen
04ea4a2729
Prevent otto.Value from becoming a _goStructObject
...
Fix #21 , this would happen during .Set(...)
2013-06-05 21:52:59 -07:00
Robert Krimen
3c8bf4f87c
Fix Arguments initialization
...
Should contain what was passed, not exactly what was declared
2013-06-02 16:25:17 -07:00
Robert Krimen
6669f98a8e
Improve type_go_* behavior
2013-05-31 22:50:51 -07:00
Robert Krimen
64182c96bd
Handle Ptr properly in type_go_*
...
Though I'm not sure that &map..., or &[]..., makes sense.
2013-05-30 19:17:57 -07:00
Robert Krimen
e2e79bb697
A Value panic during a FunctionCall is the same as a throw in JavaScript
2013-05-19 15:54:10 -07:00
Robert Krimen
791a2c0c8e
Add FunctionCall.Otto
2013-05-19 14:57:01 -07:00
Robert Krimen
699232d49a
Consolidate run/runSafe into _runtime
2013-05-18 16:18:17 -07:00
Robert Krimen
7e2b4f2063
Rewrite of property handling to be more robust and compliant
...
* No more _stash
* Now using a "virtual table" system via _objectClass
* Make Array.concat GoArray compatible (via .isArray())
Fix #16
2013-05-12 14:14:51 -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
8ab608b974
Makefile for building of otto/otto*
...
Fix stray dbg(...) in runtime
2013-04-26 09:27:49 +02:00
Robert Krimen
2277e46d05
tryEvaluate => tryCatchEvaluate
2013-04-20 22:13:19 -07:00
Robert Krimen
345c4705f9
Improve function declaration: adhere more closely to the specification
2013-04-17 16:13:19 -07:00
Robert Krimen
260b2a48bf
Fix (band-aid) Go/JavaScript cross-boundary error transformation
2013-03-06 12:07:26 -08:00
Robert Krimen
d1c4cf79ab
Fix always passing in the global object as this for eval
...
Should be passing in the this of the parent execution context instead
2013-03-05 14:41:50 -08:00
Robert Krimen
299495ba0a
Set callee property of Arguments object
2013-03-05 09:08:46 -08:00
Robert Krimen
d68cd0afe2
Establish eval execution context with the global object
2013-02-27 21:42:30 -08:00
Robert Krimen
16a30ee951
Differentiate between direct and indirect eval
2013-02-27 21:23:21 -08:00
Robert Krimen
fc55f7c7d9
Remove cruft from arguments
2013-02-25 13:34:37 -08:00
Robert Krimen
c5f05dd873
Rework _reference interface to correspond to ECMA more closely
2013-02-25 13:26:12 -08:00
Robert Krimen
03cd7ef8f7
Functions declared in a function should replace parameters
2013-02-24 14:28:16 -08:00
Robert Krimen
321cc0dca8
Add _argumentsStash, with better conforming arguments behavior:
...
1. Can not delete a function parameter
2. Deleting the index of an arguments object simply
removes the link to that function parameter
2013-02-24 14:28:07 -08:00
Robert Krimen
a879744c20
Add Go <=> JavaScript type interaction
...
Via reflection for struct, map, and slice/array
Fix #10
2013-02-04 10:31:44 -08: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
783516caed
Add eval flag to _executionContext
2012-11-05 18:03:54 -08:00
Robert Krimen
bc6cd2ef12
Get variable binding a bit closer to the specification
2012-11-05 17:39:52 -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
474a473e36
Convert _syntaxError to SyntaxError (eval)
2012-10-17 10:27:22 -07:00
Robert Krimen
a780c85861
Fill out switch, for, for-in labelling
...
This and the previous commit fix #4
2012-10-16 23:11:35 -07:00
Robert Krimen
4a8c7ffc00
Initial commit
2012-10-05 18:47:53 -07:00