More Affe hackery

Today I added:

  • Variable persistence. If a field of type ScriptState is tagged [AffeBound] on the host class, it will be used to store the state of all of the variables local to the script. If no such field is found, no state preserving IL will be emitted.
  • Bound methods can now return anything, but only methods returning float can be used in expressions. Others can be used in call statements.
  • The return keyword is now supported. In the case of a state-preserved script, it will cause a jump to the code that stores variable state.

The library is also in my public Subversion repository: svn co