| File: InitializeParameter\VisualBasicAddParameterCheckCodeRefactoringProvider.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.Composition Imports System.Diagnostics.CodeAnalysis Imports Microsoft.CodeAnalysis.CodeRefactorings Imports Microsoft.CodeAnalysis.InitializeParameter Imports Microsoft.CodeAnalysis.VisualBasic.Simplification Imports Microsoft.CodeAnalysis.VisualBasic.Syntax Namespace Microsoft.CodeAnalysis.VisualBasic.InitializeParameter <ExportCodeRefactoringProvider(LanguageNames.VisualBasic, Name:=PredefinedCodeRefactoringProviderNames.AddParameterCheck), [Shared]> <ExtensionOrder(Before:=PredefinedCodeRefactoringProviderNames.ChangeSignature)> Friend Class VisualBasicAddParameterCheckCodeRefactoringProvider Inherits AbstractAddParameterCheckCodeRefactoringProvider(Of TypeBlockSyntax, ParameterSyntax, StatementSyntax, ExpressionSyntax, BinaryExpressionSyntax, VisualBasicSimplifierOptions) <ImportingConstructor> <SuppressMessage("RoslynDiagnosticsReliability", "RS0033:Importing constructor should be [Obsolete]", Justification:="Used in test code: https://github.com/dotnet/roslyn/issues/42814")> Public Sub New() End Sub Protected Overrides Function IsFunctionDeclaration(node As SyntaxNode) As Boolean Return InitializeParameterHelpers.IsFunctionDeclaration(node) End Function Protected Overrides Function GetBody(functionDeclaration As SyntaxNode) As SyntaxNode Return InitializeParameterHelpers.GetBody(functionDeclaration) End Function Protected Overrides Function IsImplicitConversion(compilation As Compilation, source As ITypeSymbol, destination As ITypeSymbol) As Boolean Return InitializeParameterHelpers.IsImplicitConversion(compilation, source, destination) End Function Protected Overrides Function CanOffer(body As SyntaxNode) As Boolean Return True End Function Protected Overrides Function PrefersThrowExpression(options As VisualBasicSimplifierOptions) As Boolean ' No throw expression preference option is defined for VB because it doesn't support throw expressions. Return False End Function Protected Overrides Function EscapeResourceString(input As String) As String Return input.Replace("""", """""") End Function Protected Overrides Function CreateParameterCheckIfStatement(condition As ExpressionSyntax, ifTrueStatement As StatementSyntax, options As VisualBasicSimplifierOptions) As StatementSyntax Return SyntaxFactory.MultiLineIfBlock( ifStatement:=SyntaxFactory.IfStatement(SyntaxFactory.Token(SyntaxKind.IfKeyword), condition, SyntaxFactory.Token(SyntaxKind.ThenKeyword)), statements:=New SyntaxList(Of StatementSyntax)(ifTrueStatement), elseIfBlocks:=Nothing, elseBlock:=Nothing) End Function End Class End Namespace