private void LoadAddressForInitObj(Expression argument)
{
IEntity entity = argument.Entity;
switch (entity.EntityType)
{
case EntityType.Local:
{
InternalLocal local = (InternalLocal)entity;
LocalBuilder builder = local.LocalBuilder;
_il.Emit(OpCodes.Ldloca, builder);
break;
}
case EntityType.Field:
{
EmitLoadFieldAddress(argument, (IField)entity);
break;
}
default:
NotImplemented(argument, "__initobj__");
break;
}
}