public AdditionResult AddConstructor (Constructor c)
{
if (c.Name != Basename)
return AdditionResult.NotAConstructor;
bool is_static = (c.ModFlags & Modifiers.STATIC) != 0;
if (is_static){
have_static_constructor = true;
if (default_static_constructor != null){
Console.WriteLine ("I have a static constructor already");
Console.WriteLine (" " + default_static_constructor);
return AdditionResult.MethodExists;
}
default_static_constructor = c;
} else {
if (c.IsDefault ()){
if (default_constructor != null)
return AdditionResult.MethodExists;
default_constructor = c;
}
if (instance_constructors == null)
instance_constructors = new ArrayList ();
instance_constructors.Add (c);
}
return AdditionResult.Success;
}