|
' 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 Microsoft.CodeAnalysis.EmbeddedLanguages.VirtualChars
Imports Microsoft.CodeAnalysis.LanguageService
Imports Microsoft.CodeAnalysis.VisualBasic.LanguageService
Namespace Microsoft.CodeAnalysis.VisualBasic.EmbeddedLanguages.VirtualChars
Friend Class VisualBasicVirtualCharService
Inherits AbstractVirtualCharService
Public Shared ReadOnly Instance As IVirtualCharService = New VisualBasicVirtualCharService()
Protected Sub New()
End Sub
Public Overrides Function TryGetEscapeCharacter(ch As VirtualChar, ByRef escapedChar As Char) As Boolean
' Not needed yet for VB. Implement when there is an appropriate consumer that needs
' this.
Throw New NotImplementedException()
End Function
Protected Overrides ReadOnly Property SyntaxFacts As ISyntaxFacts
Get
Return VisualBasicSyntaxFacts.Instance
End Get
End Property
Protected Overrides Function IsMultiLineRawStringToken(token As SyntaxToken) As Boolean
Return False
End Function
Protected Overrides Function TryConvertToVirtualCharsWorker(token As SyntaxToken) As VirtualCharSequence
Debug.Assert(Not token.ContainsDiagnostics)
If token.Kind() = SyntaxKind.StringLiteralToken Then
Return TryConvertSimpleDoubleQuoteString(token, """", """", escapeBraces:=False)
End If
If token.Kind() = SyntaxKind.InterpolatedStringTextToken Then
Return TryConvertSimpleDoubleQuoteString(token, "", "", escapeBraces:=True)
End If
Return Nothing
End Function
End Class
End Namespace
|