Commit Graph

9 Commits

Author SHA1 Message Date
David Wendt a5865d7c7d Implement DefineFunction2 2019-10-06 13:02:31 -07:00
David Wendt ec1b5c457e Allow activations to hold their own private register set. 2019-10-06 13:02:31 -07:00
David Wendt 9b81a92516 Fix a number of bugs preventing the with-scope test from working at all:
1. We no longer implicitly return Undefined unless we're specifically returning from a function (this also keeps actions from filling the stack with Undefined)
2. With scopes are now always inserted behind the current set of locals rather than overriding them
3. `ActionSubtract` now subtracts (instead of adds)
2019-10-06 13:02:31 -07:00
David Wendt fc1ce7692b Implement ActionWith 2019-10-06 13:02:31 -07:00
David Wendt 22f75b7a4c Implement closure scope 2019-10-06 13:02:31 -07:00
David Wendt d757ce0cd2 Implement arguments object. 2019-10-06 13:02:31 -07:00
David Wendt 9ede91df4f Move `this` into the activation object.
Also, change the implicit `this` on functions to `active_clip` as per the `ActionContext` docstrings.
2019-10-06 13:02:31 -07:00
David Wendt f3d83908ab All activation frames share the same stack (and can see each other's garbage). 2019-10-06 13:02:31 -07:00
David Wendt 667b30f4b5 Add scope chains for local variable resolution. 2019-10-06 13:02:31 -07:00