Construct VB conversions directly from the bound node.

上级 0b2e4028
......@@ -496,8 +496,7 @@ Namespace Microsoft.CodeAnalysis.Semantics
Private Function CreateBoundTryCastOperation(boundTryCast As BoundTryCast) As IConversionExpression
Dim operand As Lazy(Of IOperation) = New Lazy(Of IOperation)(Function() Create(boundTryCast.Operand))
Dim syntax As SyntaxNode = boundTryCast.Syntax
Dim summary As BoundNodeSummary = New BoundNodeSummary(boundTryCast.Operand, boundTryCast, Nothing)
Dim conversion As Conversion = _semanticModel.GetTypeInfoForNode(summary).ImplicitConversion
Dim conversion As Conversion = New Conversion(New KeyValuePair(Of VisualBasic.ConversionKind, MethodSymbol)(boundTryCast.ConversionKind, Nothing))
Dim isExplicitCastInCode As Boolean = True
Dim isTryCast As Boolean = True
Dim isChecked = False
......@@ -510,8 +509,7 @@ Namespace Microsoft.CodeAnalysis.Semantics
Private Function CreateBoundDirectCastOperation(boundDirectCast As BoundDirectCast) As IConversionExpression
Dim operand As Lazy(Of IOperation) = New Lazy(Of IOperation)(Function() Create(boundDirectCast.Operand))
Dim syntax As SyntaxNode = boundDirectCast.Syntax
Dim summary As BoundNodeSummary = New BoundNodeSummary(boundDirectCast.Operand, boundDirectCast, Nothing)
Dim conversion As Conversion = _semanticModel.GetTypeInfoForNode(summary).ImplicitConversion
Dim conversion As Conversion = New Conversion(New KeyValuePair(Of VisualBasic.ConversionKind, MethodSymbol)(boundDirectCast.ConversionKind, Nothing))
Dim isExplicit As Boolean = True
Dim isTryCast As Boolean = False
Dim isChecked = False
......@@ -524,8 +522,7 @@ Namespace Microsoft.CodeAnalysis.Semantics
Private Function CreateBoundConversionOperation(boundConversion As BoundConversion) As IConversionExpression
Dim operand As Lazy(Of IOperation) = New Lazy(Of IOperation)(Function() Create(boundConversion.Operand))
Dim syntax As SyntaxNode = boundConversion.Syntax
Dim summary As BoundNodeSummary = New BoundNodeSummary(boundConversion.Operand, boundConversion, Nothing)
Dim conversion As Conversion = _semanticModel.GetTypeInfoForNode(summary).ImplicitConversion
Dim conversion As Conversion = New Conversion(New KeyValuePair(Of VisualBasic.ConversionKind, MethodSymbol)(boundConversion.ConversionKind, TryCast(boundConversion.ExpressionSymbol, MethodSymbol)))
Dim isExplicit As Boolean = boundConversion.ExplicitCastInCode
Dim isTryCast As Boolean = False
Dim isChecked = False
......@@ -538,8 +535,7 @@ Namespace Microsoft.CodeAnalysis.Semantics
Private Function CreateBoundUserDefinedConversionOperation(boundUserDefinedConversion As BoundUserDefinedConversion) As IConversionExpression
Dim operand As Lazy(Of IOperation) = New Lazy(Of IOperation)(Function() Create(boundUserDefinedConversion.Operand))
Dim syntax As SyntaxNode = boundUserDefinedConversion.Syntax
Dim summary As BoundNodeSummary = New BoundNodeSummary(boundUserDefinedConversion.Operand, boundUserDefinedConversion, Nothing)
Dim conversion As Conversion = _semanticModel.GetTypeInfoForNode(summary).ImplicitConversion
Dim conversion As Conversion = New Conversion(New KeyValuePair(Of VisualBasic.ConversionKind, MethodSymbol)(VisualBasic.ConversionKind.UserDefined, boundUserDefinedConversion.Call.Method))
Dim isExplicit As Boolean = Not boundUserDefinedConversion.WasCompilerGenerated
Dim isTryCast As Boolean = False
Dim isChecked = False
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册