internal IDictionary <string, IAnalysisSet> GetAllMembers(IMemberContainer container, IModuleContext moduleContext) { var names = container.GetMemberNames(moduleContext); var result = new Dictionary <string, IAnalysisSet>(); foreach (var name in names) { result[name] = GetAnalysisValueFromObjects(container.GetMember(moduleContext, name)); } var children = (container as IModule)?.GetChildrenPackages(moduleContext); if (children?.Any() ?? false) { foreach (var child in children) { IAnalysisSet existing; if (result.TryGetValue(child.Key, out existing)) { result[child.Key] = existing.Add(child.Value); } else { result[child.Key] = child.Value; } } } return(result); }
internal IDictionary <string, ISet <Namespace> > GetAllMembers(IMemberContainer container, IModuleContext moduleContext) { var names = container.GetMemberNames(moduleContext); var result = new Dictionary <string, ISet <Namespace> >(); foreach (var name in names) { result[name] = GetNamespaceFromObjects(container.GetMember(moduleContext, name)); } return(result); }
public static IEnumerable <IMember> GetMembers(this IMemberContainer mc) => mc.GetMemberNames().Select(mc.GetMember);