public override void Emit (EmitContext ec)
{
//
// It can be null for struct initializers or System.Object
//
if (base_ctor == null) {
if (type == ec.BuiltinTypes.Object)
return;
ec.Emit (OpCodes.Ldarg_0);
ec.Emit (OpCodes.Initobj, type);
return;
}
var call = new CallEmitter ();
call.InstanceExpression = new CompilerGeneratedThis (type, loc);
call.EmitPredefined (ec, base_ctor, argument_list, false);
}