void PrepareRenameProperty(MPropertyDef propDef) { if (propDef.IsVirtual()) throw new ApplicationException("Can't rename virtual props here"); var propInfo = Property(propDef); if (propInfo.renamed) return; string propName = propInfo.oldName; if (!NameChecker.IsValidPropertyName(propName)) propName = propInfo.suggestedName; if (!NameChecker.IsValidPropertyName(propName)) { if (propDef.IsItemProperty()) propName = "Item"; else propName = variableNameState.GetNewPropertyName(propDef.PropertyDef); } variableNameState.AddPropertyName(propName); propInfo.Rename(propName); RenameSpecialMethod(propDef.GetMethod, "get_" + propName); RenameSpecialMethod(propDef.SetMethod, "set_" + propName); }