David Wendt
|
d56db06447
|
Implement `resolve_multiname`, sort of.
|
2020-07-13 17:43:16 -04:00 |
David Wendt
|
78a1c9a7e3
|
Implement `pushscope`, `popscope`, and `pushwith`.
|
2020-07-13 17:43:16 -04:00 |
David Wendt
|
5e6fc79f42
|
Implement `getproperty`, `setproperty`
|
2020-07-13 17:43:15 -04:00 |
David Wendt
|
60c16b0a60
|
Implement `findproperty`, `findpropstrict`, and `getlex`; which are necessary for interacting with global scope.
|
2020-07-13 17:43:15 -04:00 |
David Wendt
|
3c8035f871
|
clippy pls
|
2020-07-13 17:43:14 -04:00 |
David Wendt
|
12223d524a
|
Add support methods in `Scope` to support opcodes that traverse the scope chain.
|
2020-07-13 17:43:14 -04:00 |
David Wendt
|
0ff1ba7120
|
Multiname resolution is another object method.
|
2020-07-13 17:43:14 -04:00 |
David Wendt
|
376d1a8ca6
|
Add scope support
|
2020-07-13 17:43:13 -04:00 |
David Wendt
|
1a6acb9440
|
Implement late binding and runtime qualifications for names.
|
2020-07-13 17:43:12 -04:00 |
David Wendt
|
2f3a3aff6f
|
Add exact type assertion methods for strings and namespace values.
|
2020-07-13 17:43:11 -04:00 |
David Wendt
|
6d8dc6e63d
|
Pull ABC constant pool methods out of Avm2 and into Value.
The old methods still exist and do the same thing, but the Value methods
accept arbitrary AbcFile references.
|
2020-07-13 17:42:51 -04:00 |
David Wendt
|
c65d93d063
|
Implement multinames, sans runtime namespace support.
|
2020-07-13 17:42:50 -04:00 |
David Wendt
|
6bd94d6bc9
|
`from_abc_namespace` should accept a namespace index and retrieve it from the file's constant pool itself.
|
2020-07-13 17:42:50 -04:00 |
David Wendt
|
43f1080fab
|
Implement namespaces as a value type
|
2020-07-13 17:42:49 -04:00 |
David Wendt
|
52ac7a6583
|
Implement call/return for bare functions
|
2020-07-13 17:42:49 -04:00 |
David Wendt
|
115f0393aa
|
Add `call` method to the object trait. Only functions are callable in AVM2, all others error out.
|
2020-07-13 17:42:48 -04:00 |
David Wendt
|
d1aeae8e02
|
Add support for local registers in the interpreter.
|
2020-07-13 17:42:47 -04:00 |
David Wendt
|
4d000e1ce0
|
Implement `pushxyz` opcodes for all value types that we currently support.
|
2020-07-13 17:42:46 -04:00 |
David Wendt
|
7f60fab1e5
|
Add the bare minimum necessary to get opcodes out of an ABC and into an interpreter loop.
Surprisingly enough, the "bare minimum" includes a stack, object model, and values already.
|
2020-07-13 17:42:45 -04:00 |
David Wendt
|
e80c887261
|
Add a very basic object model to the AVM2 interpreter.
|
2020-07-13 17:42:44 -04:00 |
David Wendt
|
a852a6939a
|
Add an extremely trivial implementation for the AVM2 interpreter state.
|
2020-07-13 17:42:31 -04:00 |