After a hack to work around the previous regular expression substitution 
problem, we continue ...

1) throw exception "Malformed version number"  (due to $1 returning nil after a 
successful match)
    - fixed my previous Regexp.=== patch to set CurrentMatch in current scope, 
see attached patch

2) $1 still incorrectly returns nil
    - fixed trivial index range bug in RubyScope.GetCurrentMatchGroup, see 
attached patch

3) Wrong number or type of arguments for method "module_eval"
    - created module_eval aliases for each class_eval method in 
Builtins.ModuleOps
    - corrected signatures for overloads that take a code string with file name 
and line number
    - implemented these new methods by calling the version  that takes code 
string (and ignoring the other parameters)
    (see attached patch)

4) Wrong number or type of arguments for method "private"
    - generalized ModuleOps.SetPrivateVisibility to take param array of obects 
rather than Symbols and cast them to symbols, see attached patch.
   - will need to do the same for protected, public and top-level versions of 
these methods

5) Wrong number or type of arguments for method "define_method"
    - created overloaded version of define_method that takes method name string 
and converts it to Symbol, see attached patch.

6) Undefined method "module_function"
    - not yet implemented in ModuleOps.
    - this one looks a little tricker, so I'll leave it to someone with greater 
knowledge of the IronRuby internals ...

Cheers, Wayne.

Attachment: ModuleOps.patch
Description: ModuleOps.patch

Attachment: Reqexp.patch
Description: Reqexp.patch

Attachment: RubyScope.patch
Description: RubyScope.patch

_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org
http://rubyforge.org/mailman/listinfo/ironruby-core

Reply via email to