From f2ce4b3f2ee6f74eee2597621b019f7ecbf23965 Mon Sep 17 00:00:00 2001 From: Gen Lu Date: Fri, 25 Aug 2017 17:00:20 -0700 Subject: [PATCH] Address review comments --- src/Compilers/CSharp/Portable/Operations/CSharpArgument.cs | 2 +- .../VisualBasic/Portable/Operations/VisualBasicArgument.vb | 4 ++-- .../Operations/VisualBasicOperationFactory_Methods.vb | 5 +++-- src/Compilers/VisualBasic/Portable/VisualBasicExtensions.vb | 4 ++-- .../Test/Semantic/IOperation/IOperationTests_IArgument.vb | 2 -- 5 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/Compilers/CSharp/Portable/Operations/CSharpArgument.cs b/src/Compilers/CSharp/Portable/Operations/CSharpArgument.cs index 1e19af53ad5..f43c009c20c 100644 --- a/src/Compilers/CSharp/Portable/Operations/CSharpArgument.cs +++ b/src/Compilers/CSharp/Portable/Operations/CSharpArgument.cs @@ -5,7 +5,7 @@ namespace Microsoft.CodeAnalysis.CSharp { - internal abstract class BaseCSharpArgument : BaseArgument, IArgument + internal abstract class BaseCSharpArgument : BaseArgument { public BaseCSharpArgument(ArgumentKind argumentKind, IParameterSymbol parameter, SemanticModel semanticModel, SyntaxNode syntax, ITypeSymbol type, Optional constantValue) : base(argumentKind, parameter, semanticModel, syntax, type, constantValue) diff --git a/src/Compilers/VisualBasic/Portable/Operations/VisualBasicArgument.vb b/src/Compilers/VisualBasic/Portable/Operations/VisualBasicArgument.vb index fb31421a047..d5c7f44e470 100644 --- a/src/Compilers/VisualBasic/Portable/Operations/VisualBasicArgument.vb +++ b/src/Compilers/VisualBasic/Portable/Operations/VisualBasicArgument.vb @@ -19,13 +19,13 @@ Namespace Microsoft.CodeAnalysis.VisualBasic Public Overrides ReadOnly Property InConversion As [Optional](Of CommonConversion) Get - Return If(InConversionInternal = Nothing, New [Optional](Of CommonConversion)(), InConversionInternal.ToCommonConversion()) + Return If(InConversionInternal.Exists, InConversionInternal.ToCommonConversion(), New [Optional](Of CommonConversion)()) End Get End Property Public Overrides ReadOnly Property OutConversion As [Optional](Of CommonConversion) Get - Return If(OutConversionInternal = Nothing, New [Optional](Of CommonConversion)(), OutConversionInternal.ToCommonConversion()) + Return If(OutConversionInternal.Exists, OutConversionInternal.ToCommonConversion(), New [Optional](Of CommonConversion)()) End Get End Property End Class diff --git a/src/Compilers/VisualBasic/Portable/Operations/VisualBasicOperationFactory_Methods.vb b/src/Compilers/VisualBasic/Portable/Operations/VisualBasicOperationFactory_Methods.vb index 56fa96257b3..ed265e09874 100644 --- a/src/Compilers/VisualBasic/Portable/Operations/VisualBasicOperationFactory_Methods.vb +++ b/src/Compilers/VisualBasic/Portable/Operations/VisualBasicOperationFactory_Methods.vb @@ -74,11 +74,12 @@ Namespace Microsoft.CodeAnalysis.Semantics Private Function CreateConversion(expression As BoundExpression) As Conversion If expression.Kind = BoundKind.Conversion Then Dim conversion = DirectCast(expression, BoundConversion) + Dim conversionKind = conversion.ConversionKind Dim method As MethodSymbol = Nothing - If conversion.Operand.Kind = BoundKind.UserDefinedConversion Then + If conversionKind.HasFlag(VisualBasic.ConversionKind.UserDefined) AndAlso conversion.Operand.Kind = BoundKind.UserDefinedConversion Then method = DirectCast(conversion.Operand, BoundUserDefinedConversion).Call.Method End If - Return New Conversion(KeyValuePair.Create(conversion.ConversionKind, method)) + Return New Conversion(KeyValuePair.Create(conversionKind, method)) End If Return New Conversion(Nothing) 'NoConversion End Function diff --git a/src/Compilers/VisualBasic/Portable/VisualBasicExtensions.vb b/src/Compilers/VisualBasic/Portable/VisualBasicExtensions.vb index 7ae6d57899e..52ad8536c7a 100644 --- a/src/Compilers/VisualBasic/Portable/VisualBasicExtensions.vb +++ b/src/Compilers/VisualBasic/Portable/VisualBasicExtensions.vb @@ -1384,7 +1384,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic ''' ''' The argument to get original info from. ''' The underlying of the InConversion. - ''' If the was not created from Visual Basic code. + ''' If the was not created from Visual Basic code. Public Function GetInConversion(argument As IArgument) As Conversion Dim basicArgument = TryCast(argument, BaseVisualBasicArgument) @@ -1402,7 +1402,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic ''' ''' The argument to get original info from. ''' The underlying of the OutConversion. - ''' If the was not created from Visual Basic code. + ''' If the was not created from Visual Basic code. Public Function GetOutConversion(argument As IArgument) As Conversion Dim basicArgument = TryCast(argument, BaseVisualBasicArgument) diff --git a/src/Compilers/VisualBasic/Test/Semantic/IOperation/IOperationTests_IArgument.vb b/src/Compilers/VisualBasic/Test/Semantic/IOperation/IOperationTests_IArgument.vb index 975411e8c5c..fb8f08a6c28 100644 --- a/src/Compilers/VisualBasic/Test/Semantic/IOperation/IOperationTests_IArgument.vb +++ b/src/Compilers/VisualBasic/Test/Semantic/IOperation/IOperationTests_IArgument.vb @@ -758,8 +758,6 @@ BC30272: 'y' is not a parameter of 'Public Sub M2(x As Integer)'. VerifyOperationTreeAndDiagnosticsForTest(Of InvocationExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics) End Sub - - Public Sub InOutConversion() -- GitLab