in SharpGen/Transform/NamingRulesManager.cs [39:77]
private static string RenameCore(string originalName, MappingRule tag, string rootName, out bool isFinal,
out bool isPrematureBreak)
{
var name = originalName;
// Handle Tag
var nameModifiedByTag = false;
if (!string.IsNullOrEmpty(tag.MappingName))
{
nameModifiedByTag = true;
name = tag.MappingName;
// Rename is tagged as final, then return the string
if (tag.IsFinalMappingName == true)
{
isFinal = true;
isPrematureBreak = false;
return name;
}
}
isFinal = false;
if (!name.Contains("_") && name.Any(char.IsLower) && char.IsUpper(name[0]))
{
isPrematureBreak = true;
return name;
}
isPrematureBreak = false;
// Remove Prefix (for enums). Don't modify names that are modified by tag
if (!nameModifiedByTag && rootName != null && originalName.StartsWith(rootName))
name = originalName.Substring(rootName.Length, originalName.Length - rootName.Length);
// Remove leading '_'
return name.TrimStart('_');
}