private static string RenameCore()

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('_');
        }