Rubberduck.Parsing.Symbols.DeclarationFinder.DeclarationFinder C# (CSharp) Method

DeclarationFinder() public method

public DeclarationFinder ( IReadOnlyList declarations, IEnumerable comments, IEnumerable annotations ) : System
declarations IReadOnlyList
comments IEnumerable
annotations IEnumerable
return System
        public DeclarationFinder(
            IReadOnlyList<Declaration> declarations, 
            IEnumerable<CommentNode> comments,
            IEnumerable<IAnnotation> annotations)
        {
            _comments = comments.GroupBy(node => node.QualifiedSelection.QualifiedName)
                .ToDictionary(grouping => grouping.Key, grouping => grouping.ToArray());
            _annotations = annotations.GroupBy(node => node.QualifiedSelection.QualifiedName)
                .ToDictionary(grouping => grouping.Key, grouping => grouping.ToArray());

            _declarationsByName = declarations.GroupBy(declaration => new
                {
                    IdentifierName = declaration.Project != null && 
                        declaration.DeclarationType == DeclarationType.Project
                            ? declaration.Project.Name
                            : declaration.IdentifierName
                })
                .ToDictionary(grouping => grouping.Key.IdentifierName, grouping => grouping.ToArray());
        }