Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 4
0
        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());
 }