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());
}