Orion Edwards
2009-Nov-09 02:27 UTC
[Ironruby-core] IronRuby 0.9.2 bug - super(.S, 1*&):433 @1 not supported on foreign meta-objects
I have the following code, which used to work under IronRuby 0.9.1 and earlier class Object def method_missing(sym, *args, &block) if sym.to_s =~ /blah regex/ # do stuff else super # call through to underlying ruby method_missing end end end Under 0.9.1 this worked across the board, and under 0.9.2 it works for most objects, but suddenly for COM objects it''s throwing an exception on the call to ''super'' Repro code: load_assembly "microsoft.office.interop.word" word = Microsoft.Office.Interop.Word.ApplicationClass.new word.fdsfgdsf System::NotSupportedException: super(.S,1*&):482 @1 not supported on foreign meta-objects from (irb):12:in `method_missing'' from (irb):16 from C:/Dev/TEST/ruby/lib/ruby/1.8/irb.rb:150:in `eval_input'' from :0:in `eval'' from C:/Dev/TEST/ruby/lib/ruby/1.8/irb.rb:263:in `signal_status'' from C:/Dev/TEST/ruby/lib/ruby/1.8/irb.rb:147:in `eval_input'' from C:/Dev/TEST/ruby/lib/ruby/1.8/irb.rb:146:in `eval_input'' from C:/Dev/TEST/ruby/lib/ruby/1.8/irb.rb:70:in `start'' from C:/Dev/TEST/ruby/lib/ruby/1.8/irb.rb:69:in `start'' from C:/Dev/TEST/ruby/bin/iirb:13 from :0:in `loop'' from :0:in `catch'' from :0:in `catch'' I''d be more than happy to work around it by not calling super if the object is a "foreign meta-object", but how can I tell that? Cheers, Orion -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20091109/0d1d11e1/attachment-0001.html>