/
githubmirror
/
roslyn
Обзор
Документация
Войти
/
githubmirror
/
roslyn
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/Features/VisualBasic/Portable/ChangeSignature/UnifiedArgumentSyntax.vb
55 строк
2 KB
Ankita Khera
Change Signature - Fix 'remove parameter' removing arguments with '@' (#66628)
01 фев 2023, 03:32
Не верифицирован
01 фев 2023, 03:32
885426b
Код
Авторство
О чём код?
' 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.ChangeSignature Imports Microsoft.CodeAnalysis.VisualBasic.Syntax Namespace Microsoft.CodeAnalysis.VisualBasic.ChangeSignature Friend Class UnifiedArgumentSyntax Implements IUnifiedArgumentSyntax Private ReadOnly _argument As ArgumentSyntax Private Sub New(argument As ArgumentSyntax) Debug.Assert(argument.IsKind(SyntaxKind.SimpleArgument)) Me._argument = argument End Sub Public Shared Function Create(argument As ArgumentSyntax) As IUnifiedArgumentSyntax Return New UnifiedArgumentSyntax(argument) End Function Private ReadOnly Property IsDefault As Boolean Implements IUnifiedArgumentSyntax.IsDefault Get Return _argument Is Nothing End Get End Property Private ReadOnly Property IsNamed As Boolean Implements IUnifiedArgumentSyntax.IsNamed Get Return _argument.IsNamed End Get End Property Public Shared Widening Operator CType(ByVal unified As UnifiedArgumentSyntax) As ArgumentSyntax Return unified._argument End Operator Public Function GetName() As String Implements IUnifiedArgumentSyntax.GetName Return If(_argument.IsNamed, DirectCast(_argument, SimpleArgumentSyntax).NameColonEquals.Name.Identifier.ValueText, Nothing) End Function Private Function WithName(name As String) As IUnifiedArgumentSyntax Implements IUnifiedArgumentSyntax.WithName Return If(_argument.IsNamed, Create(DirectCast(_argument, SimpleArgumentSyntax).WithNameColonEquals(DirectCast(_argument, SimpleArgumentSyntax).NameColonEquals.WithName(SyntaxFactory.IdentifierName(name)))), Create(SyntaxFactory.SimpleArgument(SyntaxFactory.NameColonEquals(SyntaxFactory.IdentifierName(name)), _argument.GetExpression()))) End Function Public Function WithAdditionalAnnotations(annotation As SyntaxAnnotation) As IUnifiedArgumentSyntax Implements IUnifiedArgumentSyntax.WithAdditionalAnnotations Return New UnifiedArgumentSyntax(_argument.WithAdditionalAnnotations(annotation)) End Function End Class End Namespace