[Ironruby-core] Code Review: Procs5

Tomas Matousek Tomas.Matousek at microsoft.com
Tue Apr 29 23:16:00 EDT 2008


tfpt review /shelveset:Procs5;REDMOND\tomat

Refactors Ruby blocks and procs:
-       The compiled block has now signature (BlockParam, self, formal-args) - self argument was added. Previously it was passed thru BlockParam.Proc in a very hacky way.
-       Removed hacks from dynamic actions on blocks and methods created by define_method. Improved rules generated for these actions.
-       RubyBlockInfo no longer inherits from RubyMemberInfo. There is no reason to do so, blocks are not directly stored in method tables and cannot be invoked via InvokeMemberAction.

Adds YieldAction - a custom Ruby action for yielding to a block that allows to pass BlockParam and self.
Implements module_eval/class_eval - both Proc and string versions.
Implements eval that takes Proc as a binding.
Adds module_eval and proc related unit tests.

Tomas

-------------- next part --------------
A non-text attachment was scrubbed...
Name: Procs5.diff
Type: application/octet-stream
Size: 71068 bytes
Desc: Procs5.diff
URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20080429/94f86ac0/attachment-0001.obj>


More information about the Ironruby-core mailing list