public static string BuildFullTypeTag <T>(TypeMatchBase <T> cls) where T : BaseTypeDeclarationSyntax { StringBuilder builder = new(); List <string> parents = new() { cls.Tag }; var cur = cls.ParentClass; while (cur != null) { parents.Add(cur.Tag); cur = cur.ParentClass; } parents.Reverse(); builder.Append(string.Join("_", parents)); if (cls is EnumMatch) { builder.Append("__Enum"); } return(builder.ToString()); }
public FieldMatch WithType <T>(TypeMatchBase <T> typeMatchBase) where T : BaseTypeDeclarationSyntax { AddPred("type matches", p => typeMatchBase.Matches(Registry.GetClass <T>(p.Declaration.Type.ToString()))); return(this); }
public static void DisplayMatches <T>(TypeMatchBase <T> name, IEnumerable <T> cl) where T : BaseTypeDeclarationSyntax { DisplayMatchesString(name, UsingDirective.BuildFullTypeTag(name), cl.Select(UsingDirective.BuildFullTypeName).ToList()); }