protected override EasyConstructor GenerateConstructor()
{
ArgumentReference arg1 = new ArgumentReference(Context.Interceptor);
ArgumentReference arg2 = new ArgumentReference(typeof(object));
ArgumentReference arg3 = new ArgumentReference(typeof(object[]));
EasyConstructor constructor;
if (Context.HasMixins)
{
constructor = MainTypeBuilder.CreateConstructor(arg1, arg2, arg3);
}
else
{
constructor = MainTypeBuilder.CreateConstructor(arg1, arg2);
}
GenerateConstructorCode(constructor.CodeBuilder, arg1, SelfReference.Self, arg3);
constructor.CodeBuilder.InvokeBaseConstructor();
constructor.CodeBuilder.AddStatement(new AssignStatement(
_targetField, arg2.ToExpression()));
constructor.CodeBuilder.AddStatement(new ReturnStatement());
return constructor;
}