public override void VisitNew(NewExpression newExpr)
{
ParameterInfo[] parameters =
typeManager.GetParameters(newExpr.Constructor);
ModalExpression arg = (ModalExpression) newExpr.Arguments.First;
foreach (ParameterInfo param in parameters) {
if (arg == null)
break;
arg.Accept(this);
BoxIfNecessary(arg.RawType, param.ParameterType);
arg = (ModalExpression) arg.Next;
}
ilGenerator.Emit(OpCodes.Newobj, newExpr.Constructor);
}