| File: SignatureHelp\ConditionalExpressionSignatureHelpProvider.vb | Web Access |
| Project: src\roslyn\src\Features\VisualBasic\Portable\Microsoft.CodeAnalysis.VisualBasic.Features.vbproj (Microsoft.CodeAnalysis.VisualBasic.Features) |
' Licensed to the .NET Foundation under one or more agreements. ' The .NET Foundation licenses this file to you under the MIT license. ' See the LICENSE file in the project root for more information. Imports System.Collections.Immutable Imports System.Composition Imports System.Threading Imports Microsoft.CodeAnalysis.Host.Mef Imports Microsoft.CodeAnalysis.SignatureHelp Imports Microsoft.CodeAnalysis.VisualBasic.Syntax Imports Microsoft.CodeAnalysis.VisualBasic.Utilities.IntrinsicOperators Namespace Microsoft.CodeAnalysis.VisualBasic.SignatureHelp Friend MustInherit Class ConditionalExpressionSignatureHelpProvider(Of T As SyntaxNode) Inherits AbstractIntrinsicOperatorSignatureHelpProvider(Of T) Protected MustOverride ReadOnly Property Kind As SyntaxKind Protected Overrides Function GetIntrinsicOperatorDocumentationAsync(node As T, document As Document, cancellationToken As CancellationToken) As ValueTask(Of IEnumerable(Of AbstractIntrinsicOperatorDocumentation)) Return New ValueTask(Of IEnumerable(Of AbstractIntrinsicOperatorDocumentation))({New BinaryConditionalExpressionDocumentation(), New TernaryConditionalExpressionDocumentation()}) End Function Protected Overrides Function IsTriggerToken(token As SyntaxToken) As Boolean Return token.IsKind(SyntaxKind.OpenParenToken, SyntaxKind.CommaToken) AndAlso token.Parent.Kind = Kind End Function Public Overrides ReadOnly Property TriggerCharacters As ImmutableArray(Of Char) = ImmutableArray.Create("("c, ","c) Public Overrides ReadOnly Property RetriggerCharacters As ImmutableArray(Of Char) = ImmutableArray.Create(")"c) Protected Overrides Function IsArgumentListToken(node As T, token As SyntaxToken) As Boolean Return node.Span.Contains(token.SpanStart) AndAlso (token.Kind <> SyntaxKind.CloseParenToken OrElse token.Parent.Kind <> Kind) End Function End Class <ExportSignatureHelpProvider("BinaryConditionalExpressionSignatureHelpProvider", LanguageNames.VisualBasic), [Shared]> Friend Class BinaryConditionalExpressionSignatureHelpProvider Inherits ConditionalExpressionSignatureHelpProvider(Of BinaryConditionalExpressionSyntax) <ImportingConstructor> <Obsolete(MefConstruction.ImportingConstructorMessage, True)> Public Sub New() End Sub Protected Overrides ReadOnly Property Kind As SyntaxKind Get Return SyntaxKind.BinaryConditionalExpression End Get End Property End Class <ExportSignatureHelpProvider("TernaryConditionalExpressionSignatureHelpProvider", LanguageNames.VisualBasic), [Shared]> Friend Class TernaryConditionalExpressionSignatureHelpProvider Inherits ConditionalExpressionSignatureHelpProvider(Of TernaryConditionalExpressionSyntax) <ImportingConstructor> <Obsolete(MefConstruction.ImportingConstructorMessage, True)> Public Sub New() End Sub Protected Overrides ReadOnly Property Kind As SyntaxKind Get Return SyntaxKind.TernaryConditionalExpression End Get End Property End Class End Namespace