private void CreateSignatures( ITrackingSpan triggerSpan, int?selectedParameter) { _signatureMap = BidirectionalMap <SignatureHelpItem, Signature> .Empty; foreach (var item in _signatureHelpItems) { _signatureMap = _signatureMap.Add(item, new Signature(triggerSpan, item, GetParameterIndexForItem(item, selectedParameter))); } }
public DocumentId AddTextContainer(SourceTextContainer textContainer, string fullPath, SourceCodeKind sourceCodeKind, ImmutableArray <string> folders) { if (textContainer == null) { throw new ArgumentNullException(nameof(textContainer)); } var documentId = DocumentId.CreateNewId(_project.Id, fullPath); var textLoader = new SourceTextLoader(textContainer, fullPath); var documentInfo = DocumentInfo.Create( documentId, FileNameUtilities.GetFileName(fullPath), folders: folders.IsDefault ? null : (IEnumerable <string>)folders, sourceCodeKind: sourceCodeKind, loader: textLoader, filePath: fullPath); lock (_project._gate) { if (_sourceTextContainersToDocumentIds.ContainsKey(textContainer)) { throw new ArgumentException($"{nameof(textContainer)} is already added to this project.", nameof(textContainer)); } if (fullPath != null) { if (_documentPathsToDocumentIds.ContainsKey(fullPath)) { throw new ArgumentException($"'{fullPath}' has already been added to this project."); } _documentPathsToDocumentIds.Add(fullPath, documentId); } _sourceTextContainersToDocumentIds = _sourceTextContainersToDocumentIds.Add(textContainer, documentInfo.Id); if (_project._activeBatchScopes > 0) { _documentsAddedInBatch.Add(documentInfo); } else { _project._workspace.ApplyChangeToWorkspace(w => { _project._workspace.AddDocumentToDocumentsNotFromFiles(documentInfo.Id); _documentAddAction(w, documentInfo); w.OnDocumentOpened(documentInfo.Id, textContainer); }); } } return(documentId); }
private void CreateSignatures( ITrackingSpan triggerSpan, int?selectedParameter) { _signatureMap = BidirectionalMap <SignatureHelpItem, Signature> .Empty; foreach (var item in _signatureHelpItems) { _signatureMap = _signatureMap.Add(item, new Signature(triggerSpan, item)); } this.SetCurrentParameterForAllItems(selectedParameter); }
private void CreateSignatures( ITrackingSpan triggerSpan, int? selectedParameter) { _signatureMap = BidirectionalMap<SignatureHelpItem, Signature>.Empty; foreach (var item in _signatureHelpItems) { _signatureMap = _signatureMap.Add(item, new Signature(triggerSpan, item, GetParameterIndexForItem(item, selectedParameter))); } }
private void CreateSignatures( ITrackingSpan triggerSpan, int? selectedParameter) { _signatureMap = BidirectionalMap<SignatureHelpItem, Signature>.Empty; foreach (var item in _signatureHelpItems) { _signatureMap = _signatureMap.Add(item, new Signature(triggerSpan, item)); } this.SetCurrentParameterForAllItems(selectedParameter); }