예제 #1
0
    private static List <ApiEntry> GetApis(IAssemblySymbol symbol)
    {
        var result = new List <ApiEntry>();
        var types  = symbol.GetAllTypes()
                     .Where(t => t.IsIncludedInCatalog())
                     .GroupBy(t => t.ContainingNamespace, SymbolEqualityComparer.Default);

        foreach (var namespaceGroup in types)
        {
            var entry = ApiEntry.Create(namespaceGroup.Key !);
            result.Add(entry);

            foreach (var type in namespaceGroup)
            {
                AddType(entry, type);
            }
        }

        return(result);
    }