(many) First steps towards class support
This is still a bit WIP, working on #66, but opening it now since all tests are green.
Implemented parts
-
Be able to define classes -
Detect multiple classes with the same name, throw an exception if this happens -
Support for calling static methods (only on native .NET classes at the moment)
Remaining parts
-
Support for calling static methods with parameters. (this one should be quite easy to fix) -
Support for instantiating classes. -
Support for calling methods on instances -
Support for fields and/or properties -
Support for defining static methods -
...probably a bunch of other things as well -
Support for defining classes in "native" .NET code, and static methods on these.
For me, the last one of these is perhaps the most important. I would like the base64_encode
and base64_decode
top-level functions to be moved to a Base64
class, and be Base64.encode
and Base64.decode
, or something like that. So I might focus on some fixes moving in that direction in the near future.