private void Process(List<CatelType> catelTypes)
{
foreach (var catelType in catelTypes)
{
if (catelType.SetValueInvoker == null)
{
continue;
}
if (_configuration.WeaveCalculatedProperties)
{
var onPropertyChangedWeaver = new OnPropertyChangedWeaver(catelType, _msCoreReferenceFinder);
onPropertyChangedWeaver.Execute();
}
FodyEnvironment.LogDebug("\t" + catelType.TypeDefinition.FullName);
foreach (var propertyData in catelType.Properties)
{
if (AlreadyContainsCallToMember(propertyData.PropertyDefinition, catelType.GetValueInvoker.Name) ||
AlreadyContainsCallToMember(propertyData.PropertyDefinition, catelType.SetValueInvoker.Name))
{
FodyEnvironment.LogDebug($"\t{propertyData.PropertyDefinition.GetName()} already has GetValue and/or SetValue functionality. Property will be ignored.");
continue;
}
var body = propertyData.PropertyDefinition.SetMethod.Body;
body.SimplifyMacros();
var propertyWeaver = new CatelPropertyWeaver(catelType, propertyData, _msCoreReferenceFinder);
propertyWeaver.Execute();
body.InitLocals = true;
body.OptimizeMacros();
}
}
}