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());
        }
Example #2
0
 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);
 }
Example #3
0
 public static void DisplayMatches <T>(TypeMatchBase <T> name, IEnumerable <T> cl)
     where T : BaseTypeDeclarationSyntax
 {
     DisplayMatchesString(name, UsingDirective.BuildFullTypeTag(name),
                          cl.Select(UsingDirective.BuildFullTypeName).ToList());
 }