protected SignatureHelpItem CreateItem( ISymbol orderSymbol, SemanticModel semanticModel, int position, ISymbolDisplayService symbolDisplayService, IAnonymousTypeDisplayService anonymousTypeDisplayService, bool isVariadic, Func <CancellationToken, IEnumerable <SymbolDisplayPart> > documentationFactory, IEnumerable <SymbolDisplayPart> prefixParts, IEnumerable <SymbolDisplayPart> separatorParts, IEnumerable <SymbolDisplayPart> suffixParts, IEnumerable <SignatureHelpParameter> parameters, IEnumerable <SymbolDisplayPart> descriptionParts = null) { var item = new SymbolKeySignatureHelpItem( orderSymbol, isVariadic, documentationFactory, prefixParts, separatorParts, suffixParts, parameters, descriptionParts); return(FixAnonymousTypeParts(orderSymbol, item, semanticModel, position, symbolDisplayService, anonymousTypeDisplayService)); }
private SignatureHelpItem FixAnonymousTypeParts( ISymbol orderSymbol, SignatureHelpItem item, SemanticModel semanticModel, int position, ISymbolDisplayService symbolDisplayService, IAnonymousTypeDisplayService anonymousTypeDisplayService) { var currentItem = new SymbolKeySignatureHelpItem( orderSymbol, item.IsVariadic, item.DocumentationFactory, anonymousTypeDisplayService.InlineDelegateAnonymousTypes(item.PrefixDisplayParts, semanticModel, position, symbolDisplayService), anonymousTypeDisplayService.InlineDelegateAnonymousTypes(item.SeparatorDisplayParts, semanticModel, position, symbolDisplayService), anonymousTypeDisplayService.InlineDelegateAnonymousTypes(item.SuffixDisplayParts, semanticModel, position, symbolDisplayService), item.Parameters.Select(p => InlineDelegateAnonymousTypes(p, semanticModel, position, symbolDisplayService, anonymousTypeDisplayService)), item.DescriptionParts); var directAnonymousTypeReferences = from part in currentItem.GetAllParts() where part.Symbol.IsNormalAnonymousType() select(INamedTypeSymbol) part.Symbol; var info = anonymousTypeDisplayService.GetNormalAnonymousTypeDisplayInfo( orderSymbol, directAnonymousTypeReferences, semanticModel, position, symbolDisplayService); if (info.AnonymousTypesParts.Count > 0) { var anonymousTypeParts = new List <SymbolDisplayPart> { new SymbolDisplayPart(SymbolDisplayPartKind.Space, null, "\r\n\r\n") }; anonymousTypeParts.AddRange(info.AnonymousTypesParts); currentItem = new SymbolKeySignatureHelpItem( orderSymbol, currentItem.IsVariadic, currentItem.DocumentationFactory, info.ReplaceAnonymousTypes(currentItem.PrefixDisplayParts), info.ReplaceAnonymousTypes(currentItem.SeparatorDisplayParts), info.ReplaceAnonymousTypes(currentItem.SuffixDisplayParts), currentItem.Parameters.Select(p => ReplaceAnonymousTypes(p, info)), anonymousTypeParts); } return(currentItem); }
private SignatureHelpItem FixAnonymousTypeParts( ISymbol orderSymbol, SignatureHelpItem item, SemanticModel semanticModel, int position, ISymbolDisplayService symbolDisplayService, IAnonymousTypeDisplayService anonymousTypeDisplayService) { var currentItem = new SymbolKeySignatureHelpItem( orderSymbol, item.IsVariadic, item.DocumenationFactory, anonymousTypeDisplayService.InlineDelegateAnonymousTypes(item.PrefixDisplayParts, semanticModel, position, symbolDisplayService), anonymousTypeDisplayService.InlineDelegateAnonymousTypes(item.SeparatorDisplayParts, semanticModel, position, symbolDisplayService), anonymousTypeDisplayService.InlineDelegateAnonymousTypes(item.SuffixDisplayParts, semanticModel, position, symbolDisplayService), item.Parameters.Select(p => InlineDelegateAnonymousTypes(p, semanticModel, position, symbolDisplayService, anonymousTypeDisplayService)), item.DescriptionParts); var directAnonymousTypeReferences = from part in currentItem.GetAllParts() where part.Symbol.IsNormalAnonymousType() select (INamedTypeSymbol)part.Symbol; var info = anonymousTypeDisplayService.GetNormalAnonymousTypeDisplayInfo( orderSymbol, directAnonymousTypeReferences, semanticModel, position, symbolDisplayService); if (info.AnonymousTypesParts.Count > 0) { var anonymousTypeParts = new List<SymbolDisplayPart> { new SymbolDisplayPart(SymbolDisplayPartKind.Space, null, "\r\n\r\n") }; anonymousTypeParts.AddRange(info.AnonymousTypesParts); currentItem = new SymbolKeySignatureHelpItem( orderSymbol, currentItem.IsVariadic, currentItem.DocumenationFactory, info.ReplaceAnonymousTypes(currentItem.PrefixDisplayParts), info.ReplaceAnonymousTypes(currentItem.SeparatorDisplayParts), info.ReplaceAnonymousTypes(currentItem.SuffixDisplayParts), currentItem.Parameters.Select(p => ReplaceAnonymousTypes(p, info)), anonymousTypeParts); } return currentItem; }
protected SignatureHelpItem CreateItem( ISymbol orderSymbol, SemanticModel semanticModel, int position, ISymbolDisplayService symbolDisplayService, IAnonymousTypeDisplayService anonymousTypeDisplayService, bool isVariadic, Func<CancellationToken, IEnumerable<SymbolDisplayPart>> documentationFactory, IEnumerable<SymbolDisplayPart> prefixParts, IEnumerable<SymbolDisplayPart> separatorParts, IEnumerable<SymbolDisplayPart> suffixParts, IEnumerable<SignatureHelpParameter> parameters, IEnumerable<SymbolDisplayPart> descriptionParts = null) { var item = new SymbolKeySignatureHelpItem( orderSymbol, isVariadic, documentationFactory, prefixParts, separatorParts, suffixParts, parameters, descriptionParts); return FixAnonymousTypeParts(orderSymbol, item, semanticModel, position, symbolDisplayService, anonymousTypeDisplayService); }