internal static ImmutableArray <Words> GetBaseNames(ITypeSymbol type, bool pluralize) { var baseName = TryRemoveInterfacePrefix(type); using var parts = TemporaryArray <TextSpan> .Empty; StringBreaker.AddWordParts(baseName, ref parts.AsRef()); var result = GetInterleavedPatterns(parts, baseName, pluralize); return(result); }
public static IdentifierNameParts CreateIdentifierNameParts(ISymbol symbol, ImmutableArray <NamingRule> rules) { var baseName = RemovePrefixesAndSuffixes(symbol, rules, symbol.Name); using var parts = TemporaryArray <TextSpan> .Empty; StringBreaker.AddWordParts(baseName, ref parts.AsRef()); var words = CreateWords(parts, baseName); return(new IdentifierNameParts(baseName, words)); }
internal static ImmutableArray <Words> GetBaseNames(IAliasSymbol alias) { var name = alias.Name; if (alias.Target.IsType && ((INamedTypeSymbol)alias.Target).IsInterfaceType() && CanRemoveInterfacePrefix(name)) { name = name.Substring(1); } using var breaks = TemporaryArray <TextSpan> .Empty; StringBreaker.AddWordParts(name, ref breaks.AsRef()); var result = GetInterleavedPatterns(breaks, name, pluralize: false); return(result); }