public SignatureHelpModel(TextSpan applicableSpan, IEnumerable <SignatureItem> signatures, SignatureItem signature, int selectedParameter) { Signatures = signatures.ToImmutableArray(); ApplicableSpan = applicableSpan; Signature = signature; SelectedParameter = selectedParameter; }
internal Signature(ITrackingSpan applicableSpan, SignatureItem signatureItem, int selectedParameter) { var parameters = signatureItem.Parameters.Select(CreateParameter).OfType <IParameter>().ToImmutableArray(); ApplicableToSpan = applicableSpan; Content = signatureItem.Content; Documentation = signatureItem.Documentation; Parameters = new ReadOnlyCollection <IParameter>(parameters); CurrentParameter = selectedParameter >= 0 && selectedParameter < parameters.Length ? parameters[selectedParameter] : null; }
public SignatureHelpModel WithSignature(SignatureItem signatureItem) { return(new SignatureHelpModel(ApplicableSpan, Signatures, signatureItem, SelectedParameter)); }