protected override SignatureHelpModel GetModel(SemanticModel semanticModel, CoalesceExpressionSyntax node, int position) { var span = node.Span; var signature = SignatureHelpExtensions.GetCoalesceSignatureItem(); var signatures = new[] { signature }; var parameterIndex = node.ArgumentList.GetParameterIndex(position); return(new SignatureHelpModel(span, signatures, signature, parameterIndex)); }
protected override SignatureHelpModel GetModel(SemanticModel semanticModel, CastExpressionSyntax node, int position) { var span = node.Span; var signature = SignatureHelpExtensions.GetCastSignatureItem(); var signatures = new[] { signature }; var asKeyword = node.AsKeyword; var isBeforeAsKeyword = asKeyword.IsMissing || position <= asKeyword.Span.Start; var parameterIndex = isBeforeAsKeyword ? 0 : 1; return(new SignatureHelpModel(span, signatures, signature, parameterIndex)); }
protected override SignatureHelpModel GetModel(SemanticModel semanticModel, NullIfExpressionSyntax node, int position) { var span = node.Span; var signature = SignatureHelpExtensions.GetNullIfSignatureItem(); var signatures = new[] { signature }; var commaToken = node.CommaToken; var isBeforeComma = commaToken.IsMissing || position <= commaToken.Span.Start; var parameterIndex = isBeforeComma ? 0 : 1; return(new SignatureHelpModel(span, signatures, signature, parameterIndex)); }
private void RegisterSignatureHelpProvider() { var controller = new NQuerySignatureHelpController(); RegisterService(controller); var provider = new NQuerySignatureHelpProvider(); provider.Providers.AddRange(SignatureHelpExtensions.GetStandardSignatureHelpModelProviders()); RegisterService <INQuerySignatureHelpProvider>(provider); RegisterService <IParameterInfoProvider>(provider); }
public SignatureHelpModelProviderService([ImportMany] IEnumerable <ISignatureHelpModelProvider> providers) { Providers = providers.Concat(SignatureHelpExtensions.GetStandardSignatureHelpModelProviders()).ToImmutableArray(); }
protected override IEnumerable <SignatureItem> GetExpectedSignatures(SemanticModel semanticModel) { yield return(SignatureHelpExtensions.GetCoalesceSignatureItem()); }