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.