1

Closed

overriding unsafe methods

description

When inheriting of a class with unsafe methods there are some problems
 
[Wrapper("AcGiDrawableOverrule")]
public abstract class DrawableOverrule : Overrule
{
public virtual int SetAttributes(Drawable drawable, DrawableTraits traits);
[return: MarshalAs(UnmanagedType.U1)]
public virtual bool WorldDraw(Drawable drawable, WorldDraw wd);
}
 
When subclassing this class in IronRuby it isn't allowed to call super in this method because that will throw an error
 
class MySubClass < DrawableOverride
def world_draw(drawable, wd)
   super  # yields an exception on RubyOverloadResolver.MapSpecialParamaters()
end
end
 
The expected behaviour is probably that there is no exception and things work
Closed Jul 22, 2009 at 11:03 PM by jredville
regression spec added

comments

TomasMatousek wrote Jun 2, 2009 at 2:53 AM

This is an issue for general super calls, marshalling is not relevant - the assertion needs to be fixed.
We also emitted invalid IL the super method was abstract.