public static async Task <IList <MemberDeclarationSyntax> > GetMembers(
            InspectorContext context, Document document,
            bool collectMethods = true, bool collectProperties = false)
        {
            var visitor = new MemberExtractorVisitor(collectMethods, collectProperties);
            var root    = await document.GetSyntaxRootAsync();

            visitor._semanticModel = context.GetSemanticModelFor(root);

            visitor.Visit(root);
            return(visitor._members);
        }
        public static async Task <IList <MemberDeclarationSyntax> > GetMembers(
            InspectorContext context, Project project,
            bool collectMethods = true, bool collectProperties = false)
        {
            var visitor = new MemberExtractorVisitor(collectMethods, collectProperties);

            foreach (var document in project.Documents)
            {
                visitor._members.AddRange(
                    await GetMembers(context, document, collectMethods, collectProperties));
            }

            return(visitor._members);
        }