예제 #1
0
        public override MetadataItem VisitAssembly(IAssemblySymbol symbol)
        {
            var item = new MetadataItem
            {
                Name        = symbol.GetRawId(),
                RawComment  = symbol.GetDocumentationCommentXml(),
                DisplayName = symbol.MetadataName,
                Type        = MemberType.Assembly,
            };

            var namespaces = symbol.GlobalNamespace.GetNamespaceMembers();

            item.Items = VisitDescendants(
                namespaces,
                ns => ns.GetMembers().OfType <INamespaceSymbol>(),
                ns => ns.GetMembers().OfType <INamedTypeSymbol>().Any(t => ApiFilter.CanVisitApi(t))
                );
            return(item);
        }