2325 references to ConversionKind
Microsoft.CodeAnalysis.VisualBasic (903)
Analysis\InitializerRewriter.vb (1)
78
ConversionKind
.WideningNothingLiteral,
Binding\Binder_Conversions.vb (62)
87
Dim conv As
ConversionKind
= Conversions.ClassifyDirectCastConversion(argument, targetType, Me, useSiteInfo)
99
argument = New BoundDirectCast(node, argument,
ConversionKind
.Identity, targetType)
153
conv =
ConversionKind
.WideningNothingLiteral OrElse
193
Dim conv As
ConversionKind
212
argument = New BoundTryCast(node, argument,
ConversionKind
.Identity, targetType)
348
Dim conv As KeyValuePair(Of
ConversionKind
, MethodSymbol)
420
convKind As KeyValuePair(Of
ConversionKind
, MethodSymbol),
439
If (convKind.Key And
ConversionKind
.UserDefined) = 0 AndAlso
447
argument = New BoundConversion(tree, argument,
ConversionKind
.Identity, CheckOverflow, isExplicit, targetType)
466
Debug.Assert(argument.Kind <> BoundKind.ArrayLiteral OrElse (convKind.Key And
ConversionKind
.UserDefined) <> 0)
511
(convKind.Key And
ConversionKind
.InvolvesNarrowingFromNumericConstant) = 0 Then
538
If (convKind.Key And
ConversionKind
.VarianceConversionAmbiguity) <> 0 Then
553
If (convKind.Key And
ConversionKind
.AnonymousDelegate) = 0 OrElse
554
(convKind.Key And
ConversionKind
.DelegateRelaxationLevelMask) <>
ConversionKind
.DelegateRelaxationLevelWideningDropReturnOrArgs Then
560
If (convKind.Key And
ConversionKind
.VarianceConversionAmbiguity) <> 0 Then
575
If (convKind.Key And
ConversionKind
.UserDefined) <> 0 AndAlso convKind.Value IsNot Nothing Then
587
Return New BoundConversion(tree, argument, convKind.Key And (Not
ConversionKind
.UserDefined), CheckOverflow, isExplicit, targetType, hasErrors:=True)
591
If (convKind.Key And
ConversionKind
.UserDefined) <> 0 Then
652
convKind As
ConversionKind
,
666
convKind As
ConversionKind
,
675
If (convKind And
ConversionKind
.UserDefined) <> 0 Then
829
Dim conv As
ConversionKind
= Nothing
841
If Not Conversions.IsNarrowingConversion(conv) OrElse (conv And
ConversionKind
.VarianceConversionAmbiguity) = 0 Then
857
(conv And
ConversionKind
.VarianceConversionAmbiguity) = 0 Then
972
convKind As
ConversionKind
,
977
Debug.Assert(Conversions.ConversionExists(convKind) AndAlso (convKind And
ConversionKind
.UserDefined) = 0)
982
If (convKind And
ConversionKind
.AnonymousDelegate) <> 0 Then
994
If (convKind And
ConversionKind
.NeedAStub) <> 0 Then
1009
convKind And
ConversionKind
.DelegateRelaxationLevelMask,
1052
convKind As
ConversionKind
,
1056
If (convKind And
ConversionKind
.Tuple) <> 0 Then
1078
convKind As KeyValuePair(Of
ConversionKind
, MethodSymbol),
1084
Debug.Assert((convKind.Key And
ConversionKind
.UserDefined) <> 0 AndAlso convKind.Value IsNot Nothing AndAlso
1096
Dim intermediateConv As
ConversionKind
1183
convKind As
ConversionKind
,
1292
convKind As
ConversionKind
,
1312
Debug.Assert(Conversions.NoConversion(convKind) AndAlso (convKind And
ConversionKind
.DelegateRelaxationLevelMask) = 0)
1315
(convKind And
ConversionKind
.DelegateRelaxationLevelMask) >=
ConversionKind
.DelegateRelaxationLevelWideningToNonLambda)
1332
Debug.Assert((convKind And
ConversionKind
.DelegateRelaxationLevelMask) = 0)
1354
Debug.Assert(delegateInvoke IsNot Nothing OrElse (convKind And
ConversionKind
.DelegateRelaxationLevelMask) = 0)
1366
Debug.Assert((convKind And
ConversionKind
.DelegateRelaxationLevelMask) = 0)
1394
Debug.Assert((convKind And
ConversionKind
.DelegateRelaxationLevelMask) >= boundLambda.DelegateRelaxation)
1396
((convKind And
ConversionKind
.DelegateRelaxationLevelMask) <>
ConversionKind
.DelegateRelaxationLevelNone AndAlso
1405
If (convKind And
ConversionKind
.DelegateRelaxationLevelMask) =
ConversionKind
.DelegateRelaxationLevelInvalid AndAlso
1439
Dim anonymousDelegateInstance = New BoundConversion(tree, boundLambda,
ConversionKind
.Widening Or
ConversionKind
.Lambda,
1494
convKind As
ConversionKind
,
1604
Private Function ReclassifyInterpolatedStringExpression(conversionSemantics As SyntaxKind, tree As SyntaxNode, convKind As
ConversionKind
, isExplicit As Boolean, node As BoundInterpolatedStringExpression, targetType As TypeSymbol, diagnostics As BindingDiagnosticBag) As BoundExpression
1606
If (convKind And
ConversionKind
.InterpolatedString) =
ConversionKind
.InterpolatedString Then
1608
Return New BoundConversion(tree, node,
ConversionKind
.InterpolatedString, False, isExplicit, targetType)
1616
convKind As
ConversionKind
,
1625
Dim isNullableTupleConversion = (convKind And
ConversionKind
.Nullable) <> 0
1677
ConversionKind
.Identity,
1687
convKind As
ConversionKind
,
1761
(elemConv And (
ConversionKind
.Reference Or
ConversionKind
.Value Or
ConversionKind
.TypeParameter)) <> 0) Then
Binding\Binder_Delegates.vb (13)
22
Public ReadOnly DelegateConversions As
ConversionKind
28
DelegateConversions As
ConversionKind
,
137
boundFirstArgument = New BoundConversion(node, boundFirstArgument,
ConversionKind
.Identity, CheckOverflow, True, delegateType)
324
Dim delegateConversions As
ConversionKind
= Conversions.DetermineDelegateRelaxationLevel(methodConversions)
326
If (delegateConversions And
ConversionKind
.DelegateRelaxationLevelInvalid) <>
ConversionKind
.DelegateRelaxationLevelInvalid Then
328
delegateConversions = delegateConversions Or
ConversionKind
.Narrowing
330
delegateConversions = delegateConversions Or
ConversionKind
.Widening
908
) As
ConversionKind
1024
delegateResolutionResult.DelegateConversions And
ConversionKind
.DelegateRelaxationLevelMask,
1076
delegateRelaxation As
ConversionKind
,
1145
delegateRelaxation As
ConversionKind
,
1153
Debug.Assert((delegateRelaxation And (Not
ConversionKind
.DelegateRelaxationLevelMask)) = 0)
Binding\Binder_Expressions.vb (6)
109
Dim reclassified = ReclassifyArrayLiteralExpression(SyntaxKind.CTypeKeyword, arrayLiteral.Syntax,
ConversionKind
.Widening, False, arrayLiteral, arrayLiteral.InferredType, diagnostics)
771
Dim convKind As
ConversionKind
= Conversions.ClassifyTryCastConversion(operandType, targetType, useSiteInfo)
1413
Return New BoundConversion(expr.Syntax, expr,
ConversionKind
.WideningNothingLiteral, False, False, expr.ConstantValueOpt,
1465
conv As
ConversionKind
,
1471
Debug.Assert((conv And
ConversionKind
.UserDefined) = 0)
1474
If Conversions.NoConversion(conv) AndAlso (conv And
ConversionKind
.FailedDueToArrayLiteralElementConversion) = 0 Then
Binding\Binder_Invocation.vb (16)
2328
Dim arrayConversion As KeyValuePair(Of
ConversionKind
, MethodSymbol) = Nothing
2502
Dim conv As KeyValuePair(Of
ConversionKind
, MethodSymbol) = Conversions.ClassifyConversion(boundTemp, copyBackType, Me, CompoundUseSiteInfo(Of AssemblySymbol).Discarded)
2509
Debug.Assert((conv.Key And
ConversionKind
.InvolvesNarrowingFromNumericConstant) = 0)
2560
Dim conv As KeyValuePair(Of
ConversionKind
, MethodSymbol) = Conversions.ClassifyConversion(argument, targetType, Me, CompoundUseSiteInfo(Of AssemblySymbol).Discarded)
2577
If (conv.Key And
ConversionKind
.InvolvesNarrowingFromNumericConstant) = 0 Then
2595
ElseIf (conv.Key And
ConversionKind
.InvolvesNarrowingFromNumericConstant) <> 0 Then
2705
Dim conversion As KeyValuePair(Of
ConversionKind
, MethodSymbol) = Conversions.Identity
2706
Dim conversionBack As KeyValuePair(Of
ConversionKind
, MethodSymbol) = Conversions.Identity
2801
conversionTo As KeyValuePair(Of
ConversionKind
, MethodSymbol),
2803
conversionFrom As KeyValuePair(Of
ConversionKind
, MethodSymbol),
2824
conversionTo As KeyValuePair(Of
ConversionKind
, MethodSymbol),
2825
conversionFrom As KeyValuePair(Of
ConversionKind
, MethodSymbol),
2832
Dim checkAgainst As KeyValuePair(Of
ConversionKind
, MethodSymbol) = Conversions.ClassifyConversion(argument, targetType, Me, CompoundUseSiteInfo(Of AssemblySymbol).Discarded)
2962
conversion As KeyValuePair(Of
ConversionKind
, MethodSymbol),
2967
Dim checkAgainst As KeyValuePair(Of
ConversionKind
, MethodSymbol) = Conversions.ClassifyConversion(argument, targetType, Me, CompoundUseSiteInfo(Of AssemblySymbol).Discarded)
3194
If Not (convertedValue.Kind = BoundKind.Conversion AndAlso (DirectCast(convertedValue, BoundConversion).ConversionKind And
ConversionKind
.UserDefined) <> 0) Then
Binding\Binder_Lambda.vb (18)
155
Dim maxRelaxationLevel As
ConversionKind
=
ConversionKind
.DelegateRelaxationLevelNone
220
Dim delegateRelaxation As
ConversionKind
= Nothing
226
delegateRelaxation =
ConversionKind
.DelegateRelaxationLevelInvalid 'No conversion
230
delegateRelaxation =
ConversionKind
.DelegateRelaxationLevelNone
241
If Not seenReturnWithAValue AndAlso lambdaSymbol.IsAsync AndAlso delegateRelaxation <
ConversionKind
.DelegateRelaxationLevelWideningDropReturnOrArgs AndAlso
243
delegateRelaxation =
ConversionKind
.DelegateRelaxationLevelWideningDropReturnOrArgs
251
If delegateRelaxation <>
ConversionKind
.DelegateRelaxationLevelInvalid Then
273
delegateRelaxation =
ConversionKind
.DelegateRelaxationLevelInvalid 'No conversion
279
If delegateRelaxation <>
ConversionKind
.DelegateRelaxationLevelInvalid Then
286
delegateRelaxation =
ConversionKind
.DelegateRelaxationLevelInvalid 'No conversion
297
delegateRelaxation = CType(Math.Max(delegateRelaxation, Conversions.DetermineDelegateRelaxationLevel(methodConversions)),
ConversionKind
)
309
delegateRelaxation =
ConversionKind
.DelegateRelaxationLevelInvalid 'No conversion
327
Private _delegateRelaxationLevel As
ConversionKind
=
ConversionKind
.DelegateRelaxationLevelNone
342
) As
ConversionKind
384
Dim returnRelaxation As
ConversionKind
= Conversions.DetermineDelegateRelaxationLevelForLambdaReturn(node.ExpressionOpt, _useSiteDiagnostics)
395
Dim returnRelaxation As
ConversionKind
= Conversions.DetermineDelegateRelaxationLevelForLambdaReturn(node.Expression, _useSiteDiagnostics)
Binding\Binder_Operators.vb (1)
794
dbNullOperand = New BoundConversion(dbNullOperand.Syntax, dbNullOperand,
ConversionKind
.Widening,
Binding\Binder_Statements.vb (1)
3482
Dim conversionKind As
ConversionKind
= Conversions.ClassifyTryCastConversion(enumeratorType, idisposableType, useSiteInfo)
Binding\SyntheticBoundTrees\AnonymousTypeSyntheticMethods.vb (5)
69
Dim boundTryCast As BoundExpression = New BoundTryCast(syntax, boundObjReference,
ConversionKind
.NarrowingReference,
151
ConversionKind
.WideningTypeParameter,
213
ConversionKind
.WideningReference, objectType, Nothing).MakeCompilerGenerated(),
304
ConversionKind
.WideningTypeParameter,
356
ConversionKind
.WideningTypeParameter, objectType, Nothing).MakeCompilerGenerated()
Binding\SyntheticBoundTrees\SynthesizedStringSwitchHashMethod.vb (2)
91
textI = F.Convert(i.Type, textI,
ConversionKind
.WideningNumeric)
92
textI = F.Convert(hashCode.Type, textI,
ConversionKind
.WideningNumeric)
BoundTree\BoundAddressOfOperator.vb (1)
34
Friend Function GetConversionClassification(targetType As TypeSymbol) As
ConversionKind
BoundTree\BoundArrayCreation.vb (1)
17
Public Sub New(syntax As SyntaxNode, bounds As ImmutableArray(Of BoundExpression), initializerOpt As BoundArrayInitialization, arrayLiteralOpt As BoundArrayLiteral, arrayLiteralConversion As
ConversionKind
, type As TypeSymbol, Optional hasErrors As Boolean = False)
BoundTree\BoundBinaryConditionalExpression.vb (1)
41
Dim conversion As
ConversionKind
= Conversions.ClassifyDirectCastConversion(TestExpression.Type, Type, CompoundUseSiteInfo(Of AssemblySymbol).Discarded)
BoundTree\BoundConversion.vb (10)
16
conversionKind As
ConversionKind
,
28
conversionKind As
ConversionKind
,
44
Debug.Assert((ConversionKind And VisualBasic.
ConversionKind
.UserDefined) = 0)
46
Debug.Assert(((ConversionKind And VisualBasic.
ConversionKind
.UserDefined) <> 0) = (Operand.Kind = BoundKind.UserDefinedConversion))
52
If (ConversionKind And (
ConversionKind
.Lambda Or
ConversionKind
.AnonymousDelegate)) <> 0 Then
54
Debug.Assert((ConversionKind And
ConversionKind
.AnonymousDelegate) <> 0 OrElse
58
If (ConversionKind And
ConversionKind
.Tuple) <> 0 Then
70
If (ConversionKind And VisualBasic.
ConversionKind
.Nullable) <> 0 Then
83
If (ConversionKind And
ConversionKind
.UserDefined) <> 0 AndAlso
BoundTree\BoundConversionOrCast.vb (1)
8
Public MustOverride ReadOnly Property ConversionKind As
ConversionKind
BoundTree\BoundDirectCast.vb (3)
16
conversionKind As
ConversionKind
,
26
conversionKind As
ConversionKind
,
34
Public Sub New(syntax As SyntaxNode, operand As BoundExpression, conversionKind As
ConversionKind
, constantValueOpt As ConstantValue, type As TypeSymbol, Optional hasErrors As Boolean = False)
BoundTree\BoundLambda.vb (3)
37
Debug.Assert((DelegateRelaxation And (Not
ConversionKind
.DelegateRelaxationLevelMask)) = 0)
44
(DelegateRelaxation And
ConversionKind
.DelegateRelaxationLevelMask) <>
ConversionKind
.DelegateRelaxationLevelNone)
BoundTree\BoundTryCast.vb (3)
15
conversionKind As
ConversionKind
,
25
conversionKind As
ConversionKind
,
33
Public Sub New(syntax As SyntaxNode, operand As BoundExpression, conversionKind As
ConversionKind
, constantValueOpt As ConstantValue, type As TypeSymbol, Optional hasErrors As Boolean = False)
BoundTree\BoundUserDefinedConversion.vb (2)
58
Debug.Assert(Conversions.ConversionExists(outConversion.ConversionKind) AndAlso (outConversion.ConversionKind And
ConversionKind
.UserDefined) = 0)
68
Debug.Assert(Conversions.ConversionExists(inConversion.ConversionKind) AndAlso (inConversion.ConversionKind And
ConversionKind
.UserDefined) = 0)
CodeGen\EmitConversion.vb (1)
179
If (conversion.ConversionKind And
ConversionKind
.Narrowing) <> 0 Then
Compilation\SemanticModel.vb (1)
940
conversion = New Conversion(New KeyValuePair(Of
ConversionKind
, MethodSymbol)(DirectCast(lowestExpr, BoundArrayCreation).ArrayLiteralConversion, Nothing))
Compilation\VisualBasicCompilation.vb (2)
1903
Return New Conversion(New KeyValuePair(Of
ConversionKind
, MethodSymbol)(
ConversionKind
.WideningNothingLiteral, Nothing))
Generated\BoundNodes.xml.Generated.vb (20)
2066
Public Sub New(syntax As SyntaxNode, operand As BoundExpression, conversionKind As
ConversionKind
, checked As Boolean, explicitCastInCode As Boolean, constantValueOpt As ConstantValue, extendedInfoOpt As BoundExtendedConversionInfo, type As TypeSymbol, Optional hasErrors As Boolean = False)
2093
Private ReadOnly _ConversionKind As
ConversionKind
2094
Public Overrides ReadOnly Property ConversionKind As
ConversionKind
2133
Public Function Update(operand As BoundExpression, conversionKind As
ConversionKind
, checked As Boolean, explicitCastInCode As Boolean, constantValueOpt As ConstantValue, extendedInfoOpt As BoundExtendedConversionInfo, type As TypeSymbol) As BoundConversion
2297
Public Sub New(syntax As SyntaxNode, operand As BoundExpression, conversionKind As
ConversionKind
, suppressVirtualCalls As Boolean, constantValueOpt As ConstantValue, relaxationLambdaOpt As BoundLambda, type As TypeSymbol, Optional hasErrors As Boolean = False)
2323
Private ReadOnly _ConversionKind As
ConversionKind
2324
Public Overrides ReadOnly Property ConversionKind As
ConversionKind
2356
Public Function Update(operand As BoundExpression, conversionKind As
ConversionKind
, suppressVirtualCalls As Boolean, constantValueOpt As ConstantValue, relaxationLambdaOpt As BoundLambda, type As TypeSymbol) As BoundDirectCast
2369
Public Sub New(syntax As SyntaxNode, operand As BoundExpression, conversionKind As
ConversionKind
, constantValueOpt As ConstantValue, relaxationLambdaOpt As BoundLambda, type As TypeSymbol, Optional hasErrors As Boolean = False)
2394
Private ReadOnly _ConversionKind As
ConversionKind
2395
Public Overrides ReadOnly Property ConversionKind As
ConversionKind
2420
Public Function Update(operand As BoundExpression, conversionKind As
ConversionKind
, constantValueOpt As ConstantValue, relaxationLambdaOpt As BoundLambda, type As TypeSymbol) As BoundTryCast
3937
Public Sub New(syntax As SyntaxNode, isParamArrayArgument As Boolean, bounds As ImmutableArray(Of BoundExpression), initializerOpt As BoundArrayInitialization, arrayLiteralOpt As BoundArrayLiteral, arrayLiteralConversion As
ConversionKind
, type As TypeSymbol, Optional hasErrors As Boolean = False)
3984
Private ReadOnly _ArrayLiteralConversion As
ConversionKind
3985
Public ReadOnly Property ArrayLiteralConversion As
ConversionKind
3996
Public Function Update(isParamArrayArgument As Boolean, bounds As ImmutableArray(Of BoundExpression), initializerOpt As BoundArrayInitialization, arrayLiteralOpt As BoundArrayLiteral, arrayLiteralConversion As
ConversionKind
, type As TypeSymbol) As BoundArrayCreation
6849
Public Sub New(syntax As SyntaxNode, lambdaSymbol As LambdaSymbol, body As BoundBlock, diagnostics As ImmutableBindingDiagnostic(Of AssemblySymbol), lambdaBinderOpt As LambdaBodyBinder, delegateRelaxation As
ConversionKind
, methodConversionKind As MethodConversionKind, Optional hasErrors As Boolean = False)
6897
Private ReadOnly _DelegateRelaxation As
ConversionKind
6898
Public ReadOnly Property DelegateRelaxation As
ConversionKind
6916
Public Function Update(lambdaSymbol As LambdaSymbol, body As BoundBlock, diagnostics As ImmutableBindingDiagnostic(Of AssemblySymbol), lambdaBinderOpt As LambdaBodyBinder, delegateRelaxation As
ConversionKind
, methodConversionKind As MethodConversionKind) As BoundLambda
Lowering\Diagnostics\DiagnosticsPass_ExpressionLambdas.vb (6)
321
If (node.ConversionKind And
ConversionKind
.ConvertedToExpressionTree) <> 0 Then
325
If Me.IsInExpressionLambda AndAlso (node.ConversionKind And
ConversionKind
.Lambda) <> 0 Then
337
If (node.ConversionKind And
ConversionKind
.ConvertedToExpressionTree) <> 0 Then
341
If Me.IsInExpressionLambda AndAlso (node.ConversionKind And
ConversionKind
.Lambda) <> 0 Then
353
If (node.ConversionKind And
ConversionKind
.ConvertedToExpressionTree) <> 0 Then
357
If Me.IsInExpressionLambda AndAlso (node.ConversionKind And
ConversionKind
.Lambda) <> 0 Then
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter_BinaryOperator.vb (2)
428
If ((conversion.ConversionKind And
ConversionKind
.Nullable) <> 0) AndAlso Not conversion.ExplicitCastInCode AndAlso Not operandType.IsNullableType Then
654
Return New BoundConversion(oldArg.Syntax, oldArg,
ConversionKind
.NarrowingNullable, False, False, parameterType)
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter_ConditionalExpresion.vb (13)
101
If (conversion.ConversionKind And
ConversionKind
.UserDefined) = 0 Then
107
Dim convKind As
ConversionKind
= Conversions.ClassifyPredefinedConversion(parameterType, conversion.Operand.Type, useSiteInfo)
110
If (convKind And
ConversionKind
.NarrowingNullable) =
ConversionKind
.NarrowingNullable AndAlso Not toType.IsNullableType Then
153
conversionKind:=
ConversionKind
.Narrowing Or
ConversionKind
.UserDefined,
182
Debug.Assert((conversion.ConversionKind And
ConversionKind
.UserDefined) <> 0)
200
Dim innerConversion As
ConversionKind
= Conversions.ClassifyConversion(realParameterType, expectedParameterType, useSiteInfo).Key
205
Debug.Assert((innerConversion And
ConversionKind
.NarrowingNullable) =
ConversionKind
.NarrowingNullable)
240
Dim newConversionKind As
ConversionKind
= conversion.ConversionKind And Not
ConversionKind
.Nullable
243
newConversionKind = newConversionKind Or
ConversionKind
.Nullable
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter_Conversion.vb (6)
53
Private Function ConvertExpression(operand As BoundExpression, conversion As
ConversionKind
, typeFrom As TypeSymbol, typeTo As TypeSymbol,
66
Debug.Assert(conversion =
ConversionKind
.WideningNothingLiteral OrElse
69
(conversion And (
ConversionKind
.Reference Or
ConversionKind
.Array)) <> 0)
95
If (conversion And
ConversionKind
.UserDefined) <> 0 Then
99
Return CreateUserDefinedConversion(userDefinedConversion, typeTo, (conversion And
ConversionKind
.Nullable) <> 0, isChecked)
Lowering\LambdaRewriter\LambdaRewriter.Analysis.vb (3)
346
Return VisitLambda(lambda, (node.ConversionKind And
ConversionKind
.ConvertedToExpressionTree) <> 0)
357
Return VisitLambda(lambda, (node.ConversionKind And
ConversionKind
.ConvertedToExpressionTree) <> 0)
368
Return VisitLambda(lambda, (conversion.ConversionKind And
ConversionKind
.ConvertedToExpressionTree) <> 0)
Lowering\LambdaRewriter\LambdaRewriter.vb (4)
440
New BoundDirectCast(syntaxNode, parameterExpr.MakeRValue(),
ConversionKind
.WideningReference, obj, Nothing),
915
Dim result As BoundExpression = RewriteLambda(lambda, VisitType(node.Type), (node.ConversionKind And
ConversionKind
.ConvertedToExpressionTree) <> 0)
930
Dim result As BoundExpression = RewriteLambda(lambda, VisitType(node.Type), (node.ConversionKind And
ConversionKind
.ConvertedToExpressionTree) <> 0)
945
Dim result As BoundExpression = RewriteLambda(lambda, VisitType(conversion.Type), (conversion.ConversionKind And
ConversionKind
.ConvertedToExpressionTree) <> 0)
Lowering\LocalRewriter\LocalRewriter_AssignmentOperator.vb (2)
411
Dim conversionKind As
ConversionKind
427
Debug.Assert((conversionKind And
ConversionKind
.UserDefined) = 0)
Lowering\LocalRewriter\LocalRewriter_BinaryOperators.vb (2)
611
result = New BoundDirectCast(node.Syntax, op,
ConversionKind
.WideningValue, node.Type, Nothing)
743
result = New BoundConversion(node.Syntax, DirectCast(result, BoundExpression),
ConversionKind
.NarrowingBoolean, node.Checked, False, node.Type)
Lowering\LocalRewriter\LocalRewriter_Call.vb (1)
27
ConversionKind
.WideningNumeric,
Lowering\LocalRewriter\LocalRewriter_ConditionalExpressions.vb (3)
37
If Conversions.IsWideningConversion(conversion) AndAlso Conversions.IsCLRPredefinedConversion(conversion) AndAlso ((conversion And
ConversionKind
.TypeParameter) = 0) Then
143
ConversionKind
.WideningNullable,
155
ConversionKind
.WideningNullable,
Lowering\LocalRewriter\LocalRewriter_Conversion.vb (48)
23
ConversionKind
.Identity,
45
If (node.ConversionKind And
ConversionKind
.Nullable) <> 0 Then
61
If (node.ConversionKind And
ConversionKind
.AnonymousDelegate) <> 0 Then
106
If (node.ConversionKind And (
ConversionKind
.Lambda Or
ConversionKind
.ConvertedToExpressionTree)) = (
ConversionKind
.Lambda Or
ConversionKind
.ConvertedToExpressionTree) Then
113
ElseIf (node.ConversionKind And
ConversionKind
.InterpolatedString) =
ConversionKind
.InterpolatedString Then
116
ElseIf (node.ConversionKind And (
ConversionKind
.Tuple Or
ConversionKind
.Nullable)) =
ConversionKind
.Tuple Then
160
Return conversion.ConversionKind =
ConversionKind
.Identity AndAlso Not conversion.ExplicitCastInCode
444
ConversionKind
.WideningNothingLiteral,
464
node.ConversionKind And (Not
ConversionKind
.Nullable),
537
Debug.Assert((convKind And
ConversionKind
.Tuple) = (node.ConversionKind And
ConversionKind
.Tuple))
553
If (convKind And
ConversionKind
.Tuple) <> 0 Then
632
node.ConversionKind And (Not
ConversionKind
.Nullable),
646
ConversionKind
.WideningNothingLiteral,
806
Debug.Assert(rewrittenConversion.ConversionKind =
ConversionKind
.WideningNothingLiteral OrElse
809
(rewrittenConversion.ConversionKind And (
ConversionKind
.Reference Or
ConversionKind
.Array)) <> 0)
908
(node.ConversionKind And (Not
ConversionKind
.DelegateRelaxationLevelMask)) =
984
Dim conv =
ConversionKind
.NarrowingNumeric Or
ConversionKind
.InvolvesEnumTypeConversions
1050
Dim conv As
ConversionKind
1053
conv =
ConversionKind
.WideningNumeric Or
ConversionKind
.InvolvesEnumTypeConversions
1055
conv =
ConversionKind
.WideningNumeric
1128
Dim conv =
ConversionKind
.NarrowingNumeric Or
ConversionKind
.InvolvesEnumTypeConversions
1189
Dim conv As
ConversionKind
1192
conv =
ConversionKind
.WideningNumeric Or
ConversionKind
.InvolvesEnumTypeConversions
1194
conv =
ConversionKind
.WideningNumeric
1265
Dim conv =
ConversionKind
.NarrowingNumeric Or
ConversionKind
.InvolvesEnumTypeConversions
1304
Debug.Assert(
ConversionKind
.WideningNumeric = Conversions.ClassifyConversion(typeFrom, mathRound.Parameters(0).Type, CompoundUseSiteInfo(Of AssemblySymbol).Discarded).Key)
1306
operand = New BoundConversion(node.Syntax, operand,
ConversionKind
.WideningNumeric, node.Checked, node.ExplicitCastInCode,
1380
If (node.ConversionKind And (
ConversionKind
.Lambda Or
ConversionKind
.ConvertedToExpressionTree)) = (
ConversionKind
.Lambda Or
ConversionKind
.ConvertedToExpressionTree) Then
1406
If (node.ConversionKind And (
ConversionKind
.Lambda Or
ConversionKind
.ConvertedToExpressionTree)) = (
ConversionKind
.Lambda Or
ConversionKind
.ConvertedToExpressionTree) Then
Lowering\LocalRewriter\LocalRewriter_DelegateCreation.vb (2)
45
ConversionKind
.Lambda Or
ConversionKind
.Widening,
Lowering\LocalRewriter\LocalRewriter_InterpolatedString.vb (2)
56
Debug.Assert((conversion.ConversionKind And
ConversionKind
.InterpolatedString) =
ConversionKind
.InterpolatedString)
Lowering\LocalRewriter\LocalRewriter_LateAddressOf.vb (2)
142
ConversionKind
.DelegateRelaxationLevelWidening,
148
ConversionKind
.DelegateRelaxationLevelWidening,
Lowering\LocalRewriter\LocalRewriter_NullableHelpers.vb (5)
209
Return (conversion.ConversionKind And (
ConversionKind
.Widening Or
ConversionKind
.Nullable Or
ConversionKind
.UserDefined)) = (
ConversionKind
.Widening Or
ConversionKind
.Nullable) AndAlso
Lowering\LocalRewriter\LocalRewriter_ObjectCreation.vb (1)
43
Dim conv As
ConversionKind
= Conversions.ClassifyDirectCastConversion(result.Type, node.Type, useSiteInfo)
Lowering\LocalRewriter\LocalRewriter_Query.vb (1)
209
ConversionKind
.DelegateRelaxationLevelNone,
Lowering\LocalRewriter\LocalRewriter_With.vb (1)
120
ConversionKind
.WideningNothingLiteral,
Lowering\SyntheticBoundNodeFactory.vb (5)
640
ConversionKind
.WideningNothingLiteral,
982
Return Convert(type, arg,
ConversionKind
.WideningNothingLiteral, isChecked)
984
Return Convert(type, arg,
ConversionKind
.WideningReference, isChecked) ' will abort before code gen due to error, so doesn't matter if conversion kind is wrong.
990
Public Function Convert(type As TypeSymbol, arg As BoundExpression, convKind As
ConversionKind
, Optional isChecked As Boolean = False) As BoundConversion
991
Debug.Assert((convKind And
ConversionKind
.UserDefined) = 0)
Operations\VisualBasicOperationFactory_Methods.vb (4)
552
If (boundConversion.ConversionKind And
ConversionKind
.UserDefined) =
ConversionKind
.UserDefined Then
578
If conversionKind.HasFlag(VisualBasic.
ConversionKind
.UserDefined) AndAlso conversion.Operand.Kind = BoundKind.UserDefinedConversion Then
583
Return New Conversion(KeyValuePairUtil.Create(Of
ConversionKind
, MethodSymbol)(DirectCast(expression, BoundConversionOrCast).ConversionKind, Nothing))
Semantics\Conversions.vb (505)
21
Private ReadOnly _convKind As
ConversionKind
24
Friend Sub New(conv As KeyValuePair(Of
ConversionKind
, MethodSymbol))
29
Friend ReadOnly Property Kind As
ConversionKind
84
Return (_convKind And
ConversionKind
.WideningNothingLiteral) =
ConversionKind
.WideningNothingLiteral
94
Return (_convKind And
ConversionKind
.Numeric) <> 0
103
Return (_convKind And
ConversionKind
.Boolean) <> 0
113
Return (_convKind And
ConversionKind
.Reference) <> 0
123
Return (_convKind And
ConversionKind
.AnonymousDelegate) <> 0
132
Return (_convKind And
ConversionKind
.Lambda) <> 0
142
Return (_convKind And
ConversionKind
.Array) <> 0
152
Return (_convKind And
ConversionKind
.Value) <> 0
162
Return (_convKind And
ConversionKind
.Nullable) <> 0
172
Return (_convKind And
ConversionKind
.String) <> 0
182
Return (_convKind And
ConversionKind
.TypeParameter) <> 0
196
Return (_convKind And
ConversionKind
.UserDefined) <> 0
315
''' Can be combined with <see cref="
ConversionKind
.Tuple"/> to indicate that the underlying value conversion is a predefined tuple conversion
401
''' Can be combined with <see cref="
ConversionKind
.Nullable"/> to indicate that the underlying value conversion is a predefined tuple conversion
461
Public Shared ReadOnly Identity As New KeyValuePair(Of
ConversionKind
, MethodSymbol)(
ConversionKind
.Identity, Nothing)
477
Const IDN As Integer =
ConversionKind
.Identity
478
Const NUM As Integer =
ConversionKind
.WideningNumeric
479
Const NNM As Integer =
ConversionKind
.NarrowingNumeric
480
Const IRF As Integer =
ConversionKind
.WideningReference
481
Const NRF As Integer =
ConversionKind
.NarrowingReference
482
Const WIV As Integer =
ConversionKind
.WideningValue
483
Const NAV As Integer =
ConversionKind
.NarrowingValue
484
Const NST As Integer =
ConversionKind
.NarrowingString
485
Const WST As Integer =
ConversionKind
.WideningString
486
Const NBO As Integer =
ConversionKind
.NarrowingBoolean
512
Public Shared Function ClassifyPredefinedConversion(source As TypeSymbol, target As TypeSymbol) As
ConversionKind
?
558
Return
ConversionKind
.WideningValue
563
Return
ConversionKind
.NarrowingValue
567
Dim conv As
ConversionKind
= CType(s_convkind(sourceIndex.Value, targetIndex.Value),
ConversionKind
)
594
conv =
ConversionKind
.NarrowingNumeric Or
ConversionKind
.InvolvesEnumTypeConversions
600
conv = conv Or
ConversionKind
.InvolvesEnumTypeConversions
601
If (conv And
ConversionKind
.Identity) <> 0 Then
602
conv = (conv And Not
ConversionKind
.Identity) Or
ConversionKind
.Widening Or
ConversionKind
.Numeric
608
conv = conv Or
ConversionKind
.InvolvesEnumTypeConversions
615
conv = (conv And Not
ConversionKind
.Widening) Or
ConversionKind
.Narrowing Or
ConversionKind
.InvolvesEnumTypeConversions
616
If (conv And
ConversionKind
.Identity) <> 0 Then
617
conv = (conv And Not
ConversionKind
.Identity) Or
ConversionKind
.Numeric
621
Debug.Assert(Conversions.IsIdentityConversion(conv) OrElse (conv And
ConversionKind
.InvolvesEnumTypeConversions) <> 0)
647
conv =
ConversionKind
.NarrowingNullable
651
conv =
ConversionKind
.WideningNullable
659
conv =
ConversionKind
.NarrowingNullable
668
conv =
ConversionKind
.WideningNullable
672
conv =
ConversionKind
.NarrowingNullable
681
Private Shared Function FastClassifyPredefinedConversion(source As TypeSymbol, target As TypeSymbol) As
ConversionKind
?
866
conversion As
ConversionKind
,
881
conversion As
ConversionKind
,
893
If conversion =
ConversionKind
.WideningNothingLiteral OrElse
895
(conversion And
ConversionKind
.WideningReference) =
ConversionKind
.WideningReference OrElse
896
(conversion And
ConversionKind
.WideningArray) =
ConversionKind
.WideningArray Then
906
Public Shared Function ClassifyConversion(source As TypeSymbol, destination As TypeSymbol, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As KeyValuePair(Of
ConversionKind
, MethodSymbol)
913
Dim predefinedConversion As
ConversionKind
= ClassifyPredefinedConversion(source, destination, useSiteInfo)
916
Return New KeyValuePair(Of
ConversionKind
, MethodSymbol)(predefinedConversion, Nothing)
926
Public Shared Function ClassifyPredefinedConversion(source As BoundExpression, destination As TypeSymbol, binder As Binder, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As
ConversionKind
936
) As
ConversionKind
942
Dim conv As
ConversionKind
997
Dim predefinedConversion As
ConversionKind
= ClassifyPredefinedConversion(sourceType, destination, useSiteInfo)
1012
Public Shared Function ClassifyConversion(source As BoundExpression, destination As TypeSymbol, binder As Binder, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As KeyValuePair(Of
ConversionKind
, MethodSymbol)
1017
Dim conv As
ConversionKind
1022
(conv And (
ConversionKind
.Lambda Or
ConversionKind
.FailedDueToArrayLiteralElementConversion)) <> 0 Then
1023
Return New KeyValuePair(Of
ConversionKind
, MethodSymbol)(conv, Nothing)
1030
Return New KeyValuePair(Of
ConversionKind
, MethodSymbol)(conv, Nothing)
1042
Private Shared Function ClassifyExpressionReclassification(source As BoundExpression, destination As TypeSymbol, binder As Binder, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As
ConversionKind
1076
Private Shared Function ClassifyUnboundLambdaConversion(source As UnboundLambda, destination As TypeSymbol) As
ConversionKind
1077
Dim leastRelaxationLevel As
ConversionKind
=
ConversionKind
.DelegateRelaxationLevelNone
1078
Dim conversionKindExpressionTree As
ConversionKind
= Nothing ' Set to ConversionKind.ConvertedToExpressionTree if expression tree involved.
1085
leastRelaxationLevel =
ConversionKind
.DelegateRelaxationLevelWideningToNonLambda
1092
Return
ConversionKind
.Lambda ' No conversion
1103
conversionKindExpressionTree =
ConversionKind
.ConvertedToExpressionTree
1107
Return
ConversionKind
.Lambda Or conversionKindExpressionTree ' No conversion
1115
Return
ConversionKind
.Lambda Or conversionKindExpressionTree ' No conversion
1125
bound.DelegateRelaxation =
ConversionKind
.DelegateRelaxationLevelInvalid)
1127
If bound.DelegateRelaxation =
ConversionKind
.DelegateRelaxationLevelInvalid Then
1128
Return
ConversionKind
.Lambda Or
ConversionKind
.DelegateRelaxationLevelInvalid Or conversionKindExpressionTree ' No conversion
1131
Return
ConversionKind
.Lambda Or conversionKindExpressionTree Or
1132
If(IsNarrowingMethodConversion(bound.MethodConversionKind, isForAddressOf:=False),
ConversionKind
.Narrowing,
ConversionKind
.Widening) Or
1133
CType(Math.Max(bound.DelegateRelaxation, leastRelaxationLevel),
ConversionKind
)
1136
Public Shared Function ClassifyArrayLiteralConversion(source As BoundArrayLiteral, destination As TypeSymbol, binder As Binder, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As
ConversionKind
1190
Dim conv As
ConversionKind
= ClassifyStringConversion(sourceType, destination)
1216
Return
ConversionKind
.Narrowing
1222
Public Shared Function ClassifyInterpolatedStringConversion(source As BoundInterpolatedStringExpression, destination As TypeSymbol, binder As Binder) As
ConversionKind
1228
Return
ConversionKind
.InterpolatedString
1235
Public Shared Function ClassifyTupleConversion(source As BoundTupleLiteral, destination As TypeSymbol, binder As Binder, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As
ConversionKind
1237
Return
ConversionKind
.Identity
1242
Dim wideningConversion =
ConversionKind
.WideningTuple
1243
Dim narrowingConversion =
ConversionKind
.NarrowingTuple
1248
wideningConversion =
ConversionKind
.WideningNullableTuple
1249
narrowingConversion =
ConversionKind
.NarrowingNullableTuple
1268
Dim result As
ConversionKind
= wideningConversion
1272
Dim involvesNarrowingFromNumericConstant As
ConversionKind
= Nothing
1273
Dim allNarrowingIsFromNumericConstant =
ConversionKind
.InvolvesNarrowingFromNumericConstant
1275
Dim maxDelegateRelaxationLevel =
ConversionKind
.DelegateRelaxationLevelNone
1291
Dim elementDelegateRelaxationLevel = elementConversion And
ConversionKind
.DelegateRelaxationLevelMask
1304
Debug.Assert((allNarrowingIsFromNumericConstant And Not
ConversionKind
.InvolvesNarrowingFromNumericConstant) = 0)
1308
Private Shared Function ClassifyArrayInitialization(source As BoundArrayInitialization, targetElementType As TypeSymbol, binder As Binder, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As
ConversionKind
1314
Return
ConversionKind
.FailedDueToArrayLiteralElementConversion
1317
Dim result =
ConversionKind
.Widening
1318
Dim mergedInvolvesNarrowingFromNumericConstant As
ConversionKind
=
ConversionKind
.InvolvesNarrowingFromNumericConstant
1324
Dim elementConv As
ConversionKind
1333
result =
ConversionKind
.Narrowing
1340
result =
ConversionKind
.FailedDueToArrayLiteralElementConversion
1345
If IsWideningConversion(result) AndAlso (elementConv And
ConversionKind
.InvolvesNarrowingFromNumericConstant) <> 0 Then
1349
Debug.Assert((mergedInvolvesNarrowingFromNumericConstant And
ConversionKind
.InvolvesNarrowingFromNumericConstant) <> 0)
1361
Private Shared Function ClassifyAddressOfConversion(source As BoundAddressOfOperator, destination As TypeSymbol) As
ConversionKind
1365
Private Shared Function ClassifyQueryLambdaConversion(source As BoundQueryLambda, destination As TypeSymbol, binder As Binder, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As
ConversionKind
1374
Dim conversionKindExpressionTree As
ConversionKind
= If(wasExpressionTree,
ConversionKind
.ConvertedToExpressionTree, Nothing)
1403
Dim conv As KeyValuePair(Of
ConversionKind
, MethodSymbol)
1412
Return conv.Key And (Not
ConversionKind
.Identity) Or (
ConversionKind
.Widening Or
ConversionKind
.Lambda) Or conversionKindExpressionTree
1414
Return conv.Key Or (
ConversionKind
.Lambda Or
ConversionKind
.FailedDueToQueryLambdaBodyMismatch) Or conversionKindExpressionTree
1416
Debug.Assert(((conv.Key And
ConversionKind
.UserDefined) <> 0) = (conv.Value IsNot Nothing))
1417
Return (conv.Key And (Not (
ConversionKind
.UserDefined Or
ConversionKind
.Nullable Or
ConversionKind
.Tuple))) Or
ConversionKind
.Lambda Or conversionKindExpressionTree
1421
Return
ConversionKind
.Widening Or
ConversionKind
.Lambda Or conversionKindExpressionTree
1434
) As KeyValuePair(Of
ConversionKind
, MethodSymbol)
1456
Dim conv As KeyValuePair(Of
ConversionKind
, MethodSymbol) = Conversions.ClassifyConversion(operand, booleanType, binder, useSiteInfo)
1470
Dim convToNullableOfBoolean As KeyValuePair(Of
ConversionKind
, MethodSymbol) = Nothing
1509
Return New KeyValuePair(Of
ConversionKind
, MethodSymbol)(
ConversionKind
.Widening, Nothing)
1511
Not ((convToNullableOfBoolean.Key And (
ConversionKind
.UserDefined Or
ConversionKind
.Nullable)) =
1512
ConversionKind
.UserDefined AndAlso
1526
Private Shared Function ClassifyGroupTypeInferenceLambdaConversion(source As GroupTypeInferenceLambda, destination As TypeSymbol) As
ConversionKind
1578
Return (
ConversionKind
.Widening Or
ConversionKind
.Lambda)
1581
Private Shared Function ClassifyNumericConstantConversion(constantExpression As BoundExpression, destination As TypeSymbol, binder As Binder) As
ConversionKind
1596
Return
ConversionKind
.WideningNumeric Or
ConversionKind
.InvolvesEnumTypeConversions
1599
Return
ConversionKind
.NarrowingNullable Or
ConversionKind
.InvolvesNarrowingFromNumericConstant
1612
Return
ConversionKind
.Identity
1615
Dim conv As
ConversionKind
= Nothing 'ConversionKind.NoConversions
1631
conv = conv Or
ConversionKind
.InvolvesNarrowingFromNumericConstant
1642
conv = (conv And (Not
ConversionKind
.Narrowing)) Or
ConversionKind
.Widening
1648
Return
ConversionKind
.FailedDueToIntegerOverflow
1663
conv = conv Or
ConversionKind
.InvolvesNarrowingFromNumericConstant
1683
conv =
ConversionKind
.FailedDueToNumericOverflow
1687
Return
ConversionKind
.FailedDueToIntegerOverflow
1695
Private Shared Function ClassifyNothingLiteralConversion(constantExpression As BoundExpression, destination As TypeSymbol) As
ConversionKind
1705
Return
ConversionKind
.Identity
1708
Return
ConversionKind
.WideningNothingLiteral
1718
) As
ConversionKind
1729
Dim result As
ConversionKind
1743
Return
ConversionKind
.NarrowingNumeric Or
ConversionKind
.InvolvesEnumTypeConversions
1748
Return
ConversionKind
.WideningNumeric Or
ConversionKind
.InvolvesEnumTypeConversions
1755
Return
ConversionKind
.NarrowingNumeric Or
ConversionKind
.InvolvesEnumTypeConversions
1783
Public Shared Function ClassifyDirectCastConversion(source As BoundExpression, destination As TypeSymbol, binder As Binder, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As
ConversionKind
1788
Dim conv As
ConversionKind
1800
If ConversionExists(conv) OrElse (conv And (
ConversionKind
.Lambda Or
ConversionKind
.FailedDueToArrayLiteralElementConversion)) <> 0 Then
1822
Public Shared Function ClassifyTryCastConversion(source As TypeSymbol, destination As TypeSymbol, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As
ConversionKind
1829
Dim result As
ConversionKind
1839
Public Shared Function ClassifyTryCastConversion(source As BoundExpression, destination As TypeSymbol, binder As Binder, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As
ConversionKind
1844
Dim conv As
ConversionKind
1856
If ConversionExists(conv) OrElse (conv And (
ConversionKind
.Lambda Or
ConversionKind
.FailedDueToArrayLiteralElementConversion)) <> 0 Then
1878
Private Shared Function ClassifyTryCastConversionForTypeParameters(source As TypeSymbol, destination As TypeSymbol, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As
ConversionKind
1971
Return
ConversionKind
.Narrowing
1979
Dim conv As
ConversionKind
= ClassifyDirectCastConversion(src, dst, useSiteInfo)
1982
Debug.Assert((conv And
ConversionKind
.VarianceConversionAmbiguity) = 0)
1997
Return
ConversionKind
.Narrowing Or (conv And
ConversionKind
.InvolvesEnumTypeConversions)
2004
Debug.Assert((conv And
ConversionKind
.VarianceConversionAmbiguity) = 0)
2019
Return
ConversionKind
.Narrowing Or (conv And
ConversionKind
.InvolvesEnumTypeConversions)
2079
Private Shared Function ClassifyUserDefinedConversion(source As TypeSymbol, destination As TypeSymbol, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As KeyValuePair(Of
ConversionKind
, MethodSymbol)
2103
Private Shared Function ClassifyUserDefinedConversion(source As BoundExpression, destination As TypeSymbol, binder As Binder, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As KeyValuePair(Of
ConversionKind
, MethodSymbol)
2127
Dim conv As KeyValuePair(Of
ConversionKind
, MethodSymbol) = ClassifyUserDefinedConversion(sourceType, destination, useSiteInfo)
2137
Dim inConversion As
ConversionKind
2154
conv = New KeyValuePair(Of
ConversionKind
, MethodSymbol)((conv.Key And Not
ConversionKind
.Narrowing) Or
2155
(inConversion And
ConversionKind
.FailedDueToNumericOverflowMask),
2166
If (inConversion And
ConversionKind
.InvolvesNarrowingFromNumericConstant) <> 0 AndAlso
2170
Dim newConv As
ConversionKind
= conv.Key Or
ConversionKind
.InvolvesNarrowingFromNumericConstant
2174
newConv = (newConv And Not
ConversionKind
.Narrowing) Or
ConversionKind
.Widening
2177
conv = New KeyValuePair(Of
ConversionKind
, MethodSymbol)(newConv, conv.Value)
2188
Public Shared Function ClassifyPredefinedConversion(source As TypeSymbol, destination As TypeSymbol, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As
ConversionKind
2204
Private Shared Function ClassifyPredefinedConversionSlow(source As TypeSymbol, destination As TypeSymbol, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As
ConversionKind
2206
Dim result As
ConversionKind
2262
Private Shared Function AddDelegateRelaxationInformationForADelegate(source As TypeSymbol, destination As TypeSymbol, convKind As
ConversionKind
) As
ConversionKind
2263
Debug.Assert((convKind And
ConversionKind
.DelegateRelaxationLevelMask) = 0)
2268
convKind = convKind And (Not
ConversionKind
.DelegateRelaxationLevelMask)
2271
Return convKind Or
ConversionKind
.DelegateRelaxationLevelInvalid
2276
Return convKind Or
ConversionKind
.DelegateRelaxationLevelWideningToNonLambda
2278
Return convKind Or
ConversionKind
.DelegateRelaxationLevelWidening
2282
Return convKind Or
ConversionKind
.DelegateRelaxationLevelNarrowing
2289
Private Shared Function ClassifyIdentityConversion(source As TypeSymbol, destination As TypeSymbol) As
ConversionKind
2297
Return
ConversionKind
.Identity
2309
) As
ConversionKind
2347
Return
ConversionKind
.WideningReference
2353
Return
ConversionKind
.NarrowingReference
2356
Dim conv As
ConversionKind
= ClassifyReferenceConversionFromArrayToAnInterface(destination, source, varianceCompatibilityClassificationDepth, useSiteInfo)
2363
Return
ConversionKind
.NarrowingReference Or (conv And
ConversionKind
.InvolvesEnumTypeConversions)
2373
Dim conv As
ConversionKind
= ToInterfaceConversionClassifier.ClassifyConversionToVariantCompatibleInterface(DirectCast(source, NamedTypeSymbol),
2381
Debug.Assert((conv And Not (
ConversionKind
.Widening Or
ConversionKind
.Narrowing Or
2382
ConversionKind
.InvolvesEnumTypeConversions Or
2383
ConversionKind
.VarianceConversionAmbiguity)) = 0)
2384
Return conv Or
ConversionKind
.Reference
2391
Return
ConversionKind
.NarrowingReference
2405
Return
ConversionKind
.WideningReference
2409
Return
ConversionKind
.NarrowingReference
2413
Dim conv As
ConversionKind
= ClassifyConversionToVariantCompatibleDelegateType(DirectCast(source, NamedTypeSymbol),
2419
Debug.Assert((conv And Not (
ConversionKind
.Widening Or
ConversionKind
.Narrowing Or
2420
ConversionKind
.InvolvesEnumTypeConversions Or
2421
ConversionKind
.NarrowingDueToContraVarianceInDelegate)) = 0)
2422
Return conv Or
ConversionKind
.Reference
2423
ElseIf (conv And
ConversionKind
.MightSucceedAtRuntime) <> 0 Then
2424
Return
ConversionKind
.MightSucceedAtRuntime
2439
) As
ConversionKind
2450
Return
ConversionKind
.WideningReference
2492
Return
ConversionKind
.WideningReference
2495
Dim conv As
ConversionKind
= ClassifyArrayConversionBasedOnElementTypes(arrayElement, dstUnderlyingElement, varianceCompatibilityClassificationDepth, useSiteInfo)
2497
Debug.Assert((conv And
ConversionKind
.VarianceConversionAmbiguity) = 0)
2498
Return
ConversionKind
.WideningReference Or (conv And
ConversionKind
.InvolvesEnumTypeConversions)
2500
Return
ConversionKind
.NarrowingReference Or
2501
(conv And (
ConversionKind
.InvolvesEnumTypeConversions Or
ConversionKind
.VarianceConversionAmbiguity))
2507
Return
ConversionKind
.NarrowingReference
2515
Dim conv As
ConversionKind
= ClassifyDirectCastConversion(source, destination, useSiteInfo)
2518
(conv And
ConversionKind
.InvolvesEnumTypeConversions) = 0 Then
2530
) As
ConversionKind
2534
Const validBits As
ConversionKind
= (
ConversionKind
.Widening Or
ConversionKind
.Narrowing Or
2535
ConversionKind
.InvolvesEnumTypeConversions Or
2536
ConversionKind
.VarianceConversionAmbiguity Or
2537
ConversionKind
.MightSucceedAtRuntime Or
2538
ConversionKind
.NarrowingDueToContraVarianceInDelegate)
2540
Dim forwardConv As
ConversionKind
= ClassifyImmediateVarianceCompatibility(source, destination, varianceCompatibilityClassificationDepth, useSiteInfo)
2547
Dim backwardConv As
ConversionKind
= ClassifyImmediateVarianceCompatibility(destination, source, varianceCompatibilityClassificationDepth, useSiteInfo)
2551
Return (backwardConv And Not (
ConversionKind
.Widening Or
ConversionKind
.NarrowingDueToContraVarianceInDelegate)) Or
ConversionKind
.Narrowing
2554
Return ((forwardConv Or backwardConv) And
ConversionKind
.MightSucceedAtRuntime)
2562
Private _conv As
ConversionKind
2565
Public ReadOnly Property Result As
ConversionKind
2568
Return
ConversionKind
.Widening
2573
(_conv =
ConversionKind
.Widening OrElse
2574
_conv =
ConversionKind
.Narrowing OrElse
2575
_conv = (
ConversionKind
.Widening Or
ConversionKind
.InvolvesEnumTypeConversions) OrElse
2576
_conv = (
ConversionKind
.Narrowing Or
ConversionKind
.InvolvesEnumTypeConversions) OrElse
2577
_conv = (
ConversionKind
.Narrowing Or
ConversionKind
.VarianceConversionAmbiguity))))
2593
) As
ConversionKind
2649
Dim addConv As
ConversionKind
= ClassifyImmediateVarianceCompatibility(source, destination, varianceCompatibilityClassificationDepth, useSiteInfo)
2651
Debug.Assert((addConv And
ConversionKind
.NarrowingDueToContraVarianceInDelegate) = 0)
2653
If (addConv And
ConversionKind
.MightSucceedAtRuntime) <> 0 Then
2655
addConv =
ConversionKind
.Narrowing Or (addConv And (
ConversionKind
.InvolvesEnumTypeConversions Or
ConversionKind
.VarianceConversionAmbiguity))
2658
Const validNonidentityBits As
ConversionKind
= (
ConversionKind
.Widening Or
ConversionKind
.Narrowing Or
2659
ConversionKind
.InvolvesEnumTypeConversions Or
2660
ConversionKind
.VarianceConversionAmbiguity)
2666
_conv =
ConversionKind
.Identity
2673
If (_conv And
ConversionKind
.VarianceConversionAmbiguity) <> 0 Then
2678
_conv =
ConversionKind
.Narrowing Or
ConversionKind
.VarianceConversionAmbiguity
2698
) As
ConversionKind
2721
Return
ConversionKind
.Narrowing
2753
Dim involvesEnumTypeConversions As
ConversionKind
= Nothing
2754
Dim varianceConversionAmbiguity As
ConversionKind
=
ConversionKind
.VarianceConversionAmbiguity
2781
Dim conv As
ConversionKind
= Nothing
2788
(conv And
ConversionKind
.NarrowingDueToContraVarianceInDelegate) <> 0 Then
2812
If (conv And
ConversionKind
.MightSucceedAtRuntime) = 0 Then
2819
If (conv And
ConversionKind
.InvolvesEnumTypeConversions) <> 0 Then
2820
involvesEnumTypeConversions =
ConversionKind
.InvolvesEnumTypeConversions
2828
Debug.Assert((conv And
ConversionKind
.VarianceConversionAmbiguity) = 0)
2840
Return
ConversionKind
.Identity
2843
Return
ConversionKind
.MightSucceedAtRuntime Or varianceConversionAmbiguity Or involvesEnumTypeConversions
2846
Return
ConversionKind
.Narrowing Or
ConversionKind
.NarrowingDueToContraVarianceInDelegate Or involvesEnumTypeConversions
2848
Return
ConversionKind
.Widening Or involvesEnumTypeConversions
2938
Private Shared Function ClassifyAnonymousDelegateConversion(source As TypeSymbol, destination As TypeSymbol, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As
ConversionKind
2961
Dim additionalFlags As
ConversionKind
= DetermineDelegateRelaxationLevel(methodConversion)
2964
additionalFlags = additionalFlags Or
ConversionKind
.NeedAStub
2975
Return
ConversionKind
.AnonymousDelegate Or
ConversionKind
.Narrowing Or additionalFlags
2977
Return
ConversionKind
.AnonymousDelegate Or
ConversionKind
.Widening Or additionalFlags
2989
) As
ConversionKind
3032
Public Shared Function ClassifyArrayElementConversion(srcElem As TypeSymbol, dstElem As TypeSymbol, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As
ConversionKind
3034
Dim result As
ConversionKind
3050
) As
ConversionKind
3053
If NoConversion(conv) AndAlso (conv And
ConversionKind
.MightSucceedAtRuntime) = 0 Then
3056
If NoConversion(conv) AndAlso (conv And
ConversionKind
.MightSucceedAtRuntime) = 0 Then
3074
) As
ConversionKind
3106
Debug.Assert((conv And
ConversionKind
.VarianceConversionAmbiguity) = 0)
3112
Return
ConversionKind
.WideningArray Or (conv And
ConversionKind
.InvolvesEnumTypeConversions)
3130
Return
ConversionKind
.WideningArray Or (conv And
ConversionKind
.InvolvesEnumTypeConversions)
3139
Return
ConversionKind
.NarrowingArray Or (conv And
ConversionKind
.InvolvesEnumTypeConversions)
3147
Return
ConversionKind
.NarrowingArray Or (conv And
ConversionKind
.InvolvesEnumTypeConversions)
3157
Return
ConversionKind
.NarrowingArray Or (conv And
ConversionKind
.InvolvesEnumTypeConversions)
3164
Return
ConversionKind
.NarrowingArray Or
3165
(conv And (
ConversionKind
.InvolvesEnumTypeConversions Or
ConversionKind
.VarianceConversionAmbiguity))
3167
ElseIf (conv And
ConversionKind
.MightSucceedAtRuntime) <> 0 Then
3169
Return
ConversionKind
.MightSucceedAtRuntime
3181
Dim mightSucceedAtRuntime As
ConversionKind
= Nothing
3187
Debug.Assert((conv And
ConversionKind
.VarianceConversionAmbiguity) = 0)
3192
Return
ConversionKind
.WideningArray Or (conv And
ConversionKind
.InvolvesEnumTypeConversions)
3196
Return
ConversionKind
.NarrowingArray Or (conv And
ConversionKind
.InvolvesEnumTypeConversions)
3199
If (conv And
ConversionKind
.MightSucceedAtRuntime) <> 0 Then
3200
mightSucceedAtRuntime =
ConversionKind
.MightSucceedAtRuntime
3237
Return
ConversionKind
.NarrowingArray Or
ConversionKind
.InvolvesEnumTypeConversions
3244
Return
ConversionKind
.WideningArray Or
ConversionKind
.InvolvesEnumTypeConversions
3247
Return
ConversionKind
.NarrowingArray Or
ConversionKind
.InvolvesEnumTypeConversions
3255
Return
ConversionKind
.NarrowingArray Or
ConversionKind
.InvolvesEnumTypeConversions
3270
mightSucceedAtRuntime =
ConversionKind
.MightSucceedAtRuntime
3285
Debug.Assert((conv And
ConversionKind
.VarianceConversionAmbiguity) = 0)
3286
Return
ConversionKind
.NarrowingArray Or (conv And
ConversionKind
.InvolvesEnumTypeConversions)
3291
If (conv And
ConversionKind
.MightSucceedAtRuntime) <> 0 Then
3292
Return
ConversionKind
.MightSucceedAtRuntime
3298
Return
ConversionKind
.MightSucceedAtRuntime
3315
Return
ConversionKind
.NarrowingArray Or (conv And
ConversionKind
.InvolvesEnumTypeConversions)
3320
If (conv And
ConversionKind
.MightSucceedAtRuntime) <> 0 Then
3321
Return
ConversionKind
.MightSucceedAtRuntime
3325
Return
ConversionKind
.MightSucceedAtRuntime
3371
Private Shared Function ClassifyValueTypeConversion(source As TypeSymbol, destination As TypeSymbol, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As
ConversionKind
3392
Return
ConversionKind
.WideningValue ' Shortcut
3398
Return
ConversionKind
.WideningValue
3403
Dim conv As
ConversionKind
= ToInterfaceConversionClassifier.ClassifyConversionToVariantCompatibleInterface(
3413
Debug.Assert((conv And Not (
ConversionKind
.Widening Or
ConversionKind
.Narrowing Or
3414
ConversionKind
.InvolvesEnumTypeConversions Or
3415
ConversionKind
.VarianceConversionAmbiguity)) = 0)
3416
Return conv Or
ConversionKind
.Value
3425
Return
ConversionKind
.NarrowingValue ' Shortcut
3431
Return
ConversionKind
.NarrowingValue
3442
Return
ConversionKind
.NarrowingValue
3452
Private Shared Function ClassifyNullableConversion(source As TypeSymbol, destination As TypeSymbol, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As
ConversionKind
3490
Const preserveConversionKindFromUnderlyingPredefinedConversion As
ConversionKind
=
ConversionKind
.Tuple Or
ConversionKind
.DelegateRelaxationLevelMask
3494
Dim conv As
ConversionKind
3499
Debug.Assert((conv And
ConversionKind
.VarianceConversionAmbiguity) = 0)
3500
Debug.Assert((conv And
ConversionKind
.DelegateRelaxationLevelMask) = 0 OrElse (conv And
ConversionKind
.Tuple) <> 0)
3504
Return
ConversionKind
.WideningNullable Or (conv And preserveConversionKindFromUnderlyingPredefinedConversion)
3507
Return
ConversionKind
.NarrowingNullable Or (conv And preserveConversionKindFromUnderlyingPredefinedConversion)
3514
Debug.Assert((conv And
ConversionKind
.Tuple) = 0)
3518
Return
ConversionKind
.WideningNullable
3521
Return
ConversionKind
.NarrowingNullable
3526
Return
ConversionKind
.NarrowingNullable
3529
Debug.Assert((conv And
ConversionKind
.DelegateRelaxationLevelMask) = 0 OrElse (conv And
ConversionKind
.Tuple) <> 0)
3533
Return
ConversionKind
.NarrowingNullable Or (conv And preserveConversionKindFromUnderlyingPredefinedConversion)
3543
Return
ConversionKind
.WideningNullable
3547
Debug.Assert((conv And
ConversionKind
.VarianceConversionAmbiguity) = 0)
3548
Debug.Assert((conv And
ConversionKind
.DelegateRelaxationLevelMask) = 0 OrElse (conv And
ConversionKind
.Tuple) <> 0)
3552
Return
ConversionKind
.WideningNullable Or (conv And preserveConversionKindFromUnderlyingPredefinedConversion)
3555
Return
ConversionKind
.NarrowingNullable Or (conv And preserveConversionKindFromUnderlyingPredefinedConversion)
3563
Private Shared Function ClassifyTupleConversion(source As TypeSymbol, destination As TypeSymbol, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As
ConversionKind
3580
Dim result As
ConversionKind
=
ConversionKind
.WideningTuple
3581
Dim maxDelegateRelaxationLevel =
ConversionKind
.DelegateRelaxationLevelNone
3597
Debug.Assert((elementConversion And
ConversionKind
.InvolvesNarrowingFromNumericConstant) = 0)
3598
Dim elementDelegateRelaxationLevel = elementConversion And
ConversionKind
.DelegateRelaxationLevelMask
3604
result =
ConversionKind
.NarrowingTuple
3611
Public Shared Function ClassifyStringConversion(source As TypeSymbol, destination As TypeSymbol) As
ConversionKind
3632
Return
ConversionKind
.WideningString
3634
Return
ConversionKind
.NarrowingString
3647
) As
ConversionKind
3671
Dim conv As
ConversionKind
3691
Return
ConversionKind
.MightSucceedAtRuntime
3702
) As
ConversionKind
3706
Return
ConversionKind
.WideningTypeParameter
3710
Dim result As
ConversionKind
= ClassifyConversionFromTypeParameter(typeParameter, destination, queue, varianceCompatibilityClassificationDepth, useSiteInfo)
3725
) As
ConversionKind
3748
Return
ConversionKind
.WideningTypeParameter
3760
Return
ConversionKind
.WideningTypeParameter
3778
Return
ConversionKind
.WideningTypeParameter
3783
Return
ConversionKind
.WideningTypeParameter Or
ConversionKind
.InvolvesEnumTypeConversions
3810
Return
ConversionKind
.WideningTypeParameter
3815
Dim conv As
ConversionKind
= ClassifyReferenceConversionFromArrayToAnInterface(constraint, destination, varianceCompatibilityClassificationDepth, useSiteInfo)
3819
Debug.Assert((conv And
ConversionKind
.VarianceConversionAmbiguity) = 0)
3820
Return
ConversionKind
.WideningTypeParameter Or (conv And
ConversionKind
.InvolvesEnumTypeConversions)
3828
Return
ConversionKind
.WideningTypeParameter
3833
Dim conv As
ConversionKind
= ClassifyArrayConversion(constraint, destination, varianceCompatibilityClassificationDepth, useSiteInfo)
3837
Debug.Assert((conv And
ConversionKind
.VarianceConversionAmbiguity) = 0)
3838
Return
ConversionKind
.WideningTypeParameter Or (conv And
ConversionKind
.InvolvesEnumTypeConversions)
3872
Dim conv As
ConversionKind
= convToInterface.Result
3880
Debug.Assert((conv And Not (
ConversionKind
.Widening Or
ConversionKind
.Narrowing Or
3881
ConversionKind
.InvolvesEnumTypeConversions Or
3882
ConversionKind
.VarianceConversionAmbiguity)) = 0)
3883
Return
ConversionKind
.TypeParameter Or conv
3888
Return
ConversionKind
.NarrowingTypeParameter
3899
) As
ConversionKind
3902
Return
ConversionKind
.NarrowingTypeParameter
3908
Return
ConversionKind
.NarrowingTypeParameter
3916
Return
ConversionKind
.NarrowingTypeParameter
3930
Return
ConversionKind
.NarrowingTypeParameter
3942
Return
ConversionKind
.NarrowingTypeParameter
3947
Return
ConversionKind
.NarrowingTypeParameter Or
ConversionKind
.InvolvesEnumTypeConversions
3964
Return
ConversionKind
.NarrowingTypeParameter
3973
Debug.Assert((conv And
ConversionKind
.VarianceConversionAmbiguity) = 0)
3974
Return
ConversionKind
.NarrowingTypeParameter Or (conv And
ConversionKind
.InvolvesEnumTypeConversions)
3986
Dim conv As
ConversionKind
= ClassifyTypeParameterConversion(source, constraint, varianceCompatibilityClassificationDepth, useSiteInfo)
3992
Return
ConversionKind
.NarrowingTypeParameter Or (conv And
ConversionKind
.InvolvesEnumTypeConversions)
4069
Dim typeConversion As
ConversionKind
= ClassifyConversion(returnTypeOfConvertFromMethod, returnTypeOfConvertToMethod, useSiteInfo).Key
4087
(typeConversion And
ConversionKind
.UserDefined) <> 0 Then
4120
conversion As
ConversionKind
,
4229
) As
ConversionKind
4232
Return
ConversionKind
.DelegateRelaxationLevelNone
4238
Return
ConversionKind
.DelegateRelaxationLevelNone
4267
) As
ConversionKind
4268
Dim result As
ConversionKind
4271
result =
ConversionKind
.DelegateRelaxationLevelNone
4274
result =
ConversionKind
.DelegateRelaxationLevelInvalid
4277
result =
ConversionKind
.DelegateRelaxationLevelNarrowing
4280
result =
ConversionKind
.DelegateRelaxationLevelWidening
4283
result =
ConversionKind
.DelegateRelaxationLevelWideningDropReturnOrArgs
4434
Public Shared Function IsWideningConversion(conv As
ConversionKind
) As Boolean
4436
((conv And
ConversionKind
.Widening) <> 0) <> ((conv And
ConversionKind
.Narrowing) <> 0))
4437
Return (conv And
ConversionKind
.Widening) <> 0
4440
Public Shared Function IsNarrowingConversion(conv As
ConversionKind
) As Boolean
4442
((conv And
ConversionKind
.Widening) <> 0) <> ((conv And
ConversionKind
.Narrowing) <> 0))
4443
Return (conv And
ConversionKind
.Narrowing) <> 0
4446
Public Shared Function NoConversion(conv As
ConversionKind
) As Boolean
4447
Return (conv And (
ConversionKind
.Narrowing Or
ConversionKind
.Widening)) = 0
4450
Public Shared Function ConversionExists(conv As
ConversionKind
) As Boolean
4451
Return (conv And (
ConversionKind
.Narrowing Or
ConversionKind
.Widening)) <> 0
4454
Public Shared Function IsIdentityConversion(conv As
ConversionKind
) As Boolean
4456
((conv And
ConversionKind
.Widening) <> 0) <> ((conv And
ConversionKind
.Narrowing) <> 0))
4457
Return (conv And
ConversionKind
.Identity) =
ConversionKind
.Identity
4460
Public Shared Function FailedDueToNumericOverflow(conv As
ConversionKind
) As Boolean
4461
Return (conv And (
ConversionKind
.Narrowing Or
ConversionKind
.Widening Or
ConversionKind
.FailedDueToNumericOverflow)) =
ConversionKind
.FailedDueToNumericOverflow
4464
Public Shared Function FailedDueToQueryLambdaBodyMismatch(conv As
ConversionKind
) As Boolean
4465
Return (conv And (
ConversionKind
.Narrowing Or
ConversionKind
.Widening Or
ConversionKind
.FailedDueToQueryLambdaBodyMismatch)) =
ConversionKind
.FailedDueToQueryLambdaBodyMismatch
4474
Public Shared Function IsCLRPredefinedConversion(conversion As
ConversionKind
) As Boolean
4479
Const combinedClrConversions =
ConversionKind
.Reference Or
ConversionKind
.Array Or
ConversionKind
.TypeParameter
Semantics\Operators.vb (37)
1930
) As KeyValuePair(Of
ConversionKind
, MethodSymbol)
1934
Dim result As KeyValuePair(Of
ConversionKind
, MethodSymbol) = Nothing
1961
Dim conversionKinds = ArrayBuilder(Of KeyValuePair(Of
ConversionKind
,
ConversionKind
)).GetInstance()
1969
result = New KeyValuePair(Of
ConversionKind
, MethodSymbol)(
ConversionKind
.Widening Or
ConversionKind
.UserDefined, bestMatch)
1979
result = New KeyValuePair(Of
ConversionKind
, MethodSymbol)(
ConversionKind
.Narrowing Or
ConversionKind
.UserDefined, bestMatch)
2004
result = New KeyValuePair(Of
ConversionKind
, MethodSymbol)(
ConversionKind
.Widening Or
2005
ConversionKind
.UserDefined Or
2006
ConversionKind
.Nullable, bestMatch)
2012
result = New KeyValuePair(Of
ConversionKind
, MethodSymbol)(
ConversionKind
.Narrowing Or
2013
ConversionKind
.UserDefined Or
2014
ConversionKind
.Nullable, bestMatch)
2035
conversionKinds As ArrayBuilder(Of KeyValuePair(Of
ConversionKind
,
ConversionKind
)),
2115
Dim conversionIn As
ConversionKind
2116
Dim conversionOut As
ConversionKind
2119
conversionKinds(currentIndex) = New KeyValuePair(Of
ConversionKind
,
ConversionKind
)(conversionIn, conversionOut)
2302
<Out()> ByRef conversionIn As
ConversionKind
,
2303
<Out()> ByRef conversionOut As
ConversionKind
,
2327
conversionIn =
ConversionKind
.Identity
2372
conversionKinds As ArrayBuilder(Of KeyValuePair(Of
ConversionKind
,
ConversionKind
)),
2459
Dim conversionIn As
ConversionKind
2460
Dim conversionOut As
ConversionKind
2466
Dim conversion As KeyValuePair(Of
ConversionKind
,
ConversionKind
) = conversionKinds(currentIndex)
2475
conversionKinds(currentIndex) = New KeyValuePair(Of
ConversionKind
,
ConversionKind
)(conversionIn, conversionOut)
2695
Dim conv As
ConversionKind
= Conversions.ClassifyPredefinedConversion(type, typeSet(j), useSiteInfo)
2740
Dim conv As
ConversionKind
= Conversions.ClassifyPredefinedConversion(typeSet(j), type, useSiteInfo)
Semantics\OverloadResolution.vb (43)
507
Private Const s_delegateRelaxationLevelMask_AssertZero = SmallFieldMask.DelegateRelaxationLevelMask -
ConversionKind
.DelegateRelaxationLevelMask
518
Public ReadOnly Conversion As KeyValuePair(Of
ConversionKind
, MethodSymbol)
521
Public Sub New(value As BoundExpression, conversion As KeyValuePair(Of
ConversionKind
, MethodSymbol), dependencies As ImmutableArray(Of AssemblySymbol))
599
Public ReadOnly Property MaxDelegateRelaxationLevel As
ConversionKind
601
Return CType(_smallFields And SmallFieldMask.DelegateRelaxationLevelMask,
ConversionKind
)
605
Public Sub RegisterDelegateRelaxationLevel(conversionKind As
ConversionKind
)
609
Debug.Assert(relaxationLevel <=
ConversionKind
.DelegateRelaxationLevelNarrowing)
611
If relaxationLevel =
ConversionKind
.DelegateRelaxationLevelNarrowing Then
698
Public ConversionsOpt As ImmutableArray(Of KeyValuePair(Of
ConversionKind
, MethodSymbol))
699
Public ConversionsBackOpt As ImmutableArray(Of KeyValuePair(Of
ConversionKind
, MethodSymbol))
1626
Dim minMaxRelaxation As
ConversionKind
=
ConversionKind
.DelegateRelaxationLevelInvalid
1633
Dim relaxation As
ConversionKind
= current.MaxDelegateRelaxationLevel
1653
Dim relaxation As
ConversionKind
= current.MaxDelegateRelaxationLevel
2398
Dim conv As KeyValuePair(Of
ConversionKind
, MethodSymbol) = current.ConversionsOpt(j)
2404
If (conv.Key And
ConversionKind
.UserDefined) = 0 Then
2410
If (conv.Key And
ConversionKind
.Nullable) = 0 Then
2535
conv As
ConversionKind
,
2539
Debug.Assert((conv And
ConversionKind
.UserDefined) = 0)
2540
Return (conv And
ConversionKind
.Nullable) <> 0 AndAlso
2871
Dim conversionKinds As KeyValuePair(Of
ConversionKind
, MethodSymbol)() = Nothing
2872
Dim conversionBackKinds As KeyValuePair(Of
ConversionKind
, MethodSymbol)() = Nothing
2953
Dim arrayConversion As KeyValuePair(Of
ConversionKind
, MethodSymbol) = Nothing
2984
conversionKinds = New KeyValuePair(Of
ConversionKind
, MethodSymbol)(arguments.Length - 1) {}
3031
Dim conv As KeyValuePair(Of
ConversionKind
, MethodSymbol) = Nothing
3048
conversionKinds = New KeyValuePair(Of
ConversionKind
, MethodSymbol)(arguments.Length - 1) {}
3111
Dim conversion As KeyValuePair(Of
ConversionKind
, MethodSymbol) = Nothing
3112
Dim conversionBack As KeyValuePair(Of
ConversionKind
, MethodSymbol) = Nothing
3132
conversionKinds = New KeyValuePair(Of
ConversionKind
, MethodSymbol)(arguments.Length - 1) {}
3159
conversionBackKinds = New KeyValuePair(Of
ConversionKind
, MethodSymbol)(arguments.Length - 1) {}
3205
<Out()> ByRef outConversionKind As KeyValuePair(Of
ConversionKind
, MethodSymbol),
3206
<Out()> ByRef outConversionBackKind As KeyValuePair(Of
ConversionKind
, MethodSymbol),
3224
Dim conv As KeyValuePair(Of
ConversionKind
, MethodSymbol) = Conversions.ClassifyConversion(targetType, copyBackType, useSiteInfo)
3238
Debug.Assert((conv.Key And
ConversionKind
.InvolvesNarrowingFromNumericConstant) = 0)
3284
<Out()> ByRef outConversionKind As KeyValuePair(Of
ConversionKind
, MethodSymbol),
3300
Dim conv As KeyValuePair(Of
ConversionKind
, MethodSymbol) = Conversions.ClassifyConversion(argument, targetType, binder, useSiteInfo)
3308
If (conv.Key And (
ConversionKind
.DelegateRelaxationLevelMask Or
ConversionKind
.Lambda)) = (
ConversionKind
.DelegateRelaxationLevelInvalid Or
ConversionKind
.Lambda) Then
3355
If (conv.Key And
ConversionKind
.InvolvesNarrowingFromNumericConstant) = 0 Then
3375
ElseIf (conv.Key And
ConversionKind
.InvolvesNarrowingFromNumericConstant) <> 0 Then
3433
<Out()> ByRef outConvKind As KeyValuePair(Of
ConversionKind
, MethodSymbol),
Semantics\TypeInference\TypeInferenceCollection.vb (14)
258
Dim conversion As
ConversionKind
270
conversion =
ConversionKind
.Identity
429
Dim conversion As
ConversionKind
436
conversion =
ConversionKind
.Identity
458
conversion =
ConversionKind
.Identity
459
ElseIf (conversion And
ConversionKind
.InvolvesNarrowingFromNumericConstant) <> 0 Then
468
conversion =
ConversionKind
.Narrowing
479
Dim inConversion As
ConversionKind
= Conversions.ClassifyConversion(hint, candidate, useSiteInfo).Key
482
Dim outConversion As
ConversionKind
= Conversions.ClassifyConversion(candidate, hint, useSiteInfo).Key
488
conversion =
ConversionKind
.Narrowing
490
conversion =
ConversionKind
.Identity
494
conversion =
ConversionKind
.Widening
514
conversion =
ConversionKind
.Identity
530
conversion =
ConversionKind
.Identity
Symbols\Metadata\PE\PEFieldSymbol.vb (1)
256
ConversionKind
.WideningNothingLiteral,
Symbols\Source\SynthesizedEventAccessorSymbol.vb (12)
325
Dim conversionKind1 As
ConversionKind
326
Dim conversionKind2 As
ConversionKind
333
Debug.Assert(conversionKind1 =
ConversionKind
.WideningReference)
334
Debug.Assert(conversionKind2 =
ConversionKind
.WideningReference)
344
New BoundDirectCast(syntax, boundBackingField.MakeRValue(),
ConversionKind
.WideningReference, updateMethod.Parameters(0).Type),
345
New BoundDirectCast(syntax, boundParameter,
ConversionKind
.WideningReference, updateMethod.Parameters(1).Type)),
348
ConversionKind
.NarrowingReference,
410
Debug.Assert(conversionKind1 =
ConversionKind
.WideningReference)
411
Debug.Assert(conversionKind2 =
ConversionKind
.WideningReference)
421
New BoundDirectCast(syntax, boundTmps(1).MakeRValue(),
ConversionKind
.WideningReference, updateMethod.Parameters(0).Type),
422
New BoundDirectCast(syntax, boundParameter,
ConversionKind
.WideningReference, updateMethod.Parameters(1).Type)),
425
ConversionKind
.NarrowingReference,
Symbols\Source\SynthesizedSubmissionConstructorSymbol.vb (3)
80
New BoundDirectCast(syntax, meReference,
ConversionKind
.Reference, type:=objectType),
94
ConversionKind
.Reference, type:=hostObjectField.Type),
114
ConversionKind
.Reference,
Utilities\VarianceAmbiguity.vb (1)
126
(Conversions.ClassifyDirectCastConversion(typeArgument1, typeArgument2, useSiteInfo) And
ConversionKind
.Reference) <> 0
Microsoft.CodeAnalysis.VisualBasic.Emit.UnitTests (315)
CodeGen\CodeGenTuples.vb (315)
1508
Assert.Equal(
ConversionKind
.WideningTuple, model.GetConversion(node).Kind)
1859
Assert.Equal(
ConversionKind
.Identity, model.GetConversion(node.Expression).Kind)
1917
Assert.Equal(
ConversionKind
.WideningTuple Or
ConversionKind
.InvolvesNarrowingFromNumericConstant, model.GetConversion(node).Kind)
1977
Assert.Equal(
ConversionKind
.NarrowingTuple, model.GetConversion(node).Kind)
3338
AssertConversions(model, nodes(0),
ConversionKind
.Identity,
ConversionKind
.Identity,
ConversionKind
.Identity)
3339
AssertConversions(model, nodes(1),
ConversionKind
.WideningTuple Or
ConversionKind
.InvolvesNarrowingFromNumericConstant,
3340
ConversionKind
.WideningNumeric Or
ConversionKind
.InvolvesNarrowingFromNumericConstant,
3341
ConversionKind
.Identity)
3342
AssertConversions(model, nodes(2),
ConversionKind
.WideningTuple Or
ConversionKind
.InvolvesNarrowingFromNumericConstant,
3343
ConversionKind
.Identity,
3344
ConversionKind
.WideningNumeric Or
ConversionKind
.InvolvesNarrowingFromNumericConstant)
3345
AssertConversions(model, nodes(3),
ConversionKind
.WideningTuple Or
ConversionKind
.InvolvesNarrowingFromNumericConstant,
3346
ConversionKind
.WideningNumeric Or
ConversionKind
.InvolvesNarrowingFromNumericConstant,
3347
ConversionKind
.WideningNumeric)
3348
AssertConversions(model, nodes(4),
ConversionKind
.WideningTuple Or
ConversionKind
.InvolvesNarrowingFromNumericConstant,
3349
ConversionKind
.WideningNumeric,
3350
ConversionKind
.WideningNumeric Or
ConversionKind
.InvolvesNarrowingFromNumericConstant)
3351
AssertConversions(model, nodes(5),
ConversionKind
.NarrowingTuple Or
ConversionKind
.InvolvesNarrowingFromNumericConstant,
3352
ConversionKind
.NarrowingNumeric Or
ConversionKind
.InvolvesNarrowingFromNumericConstant,
3353
ConversionKind
.Identity)
3354
AssertConversions(model, nodes(6),
ConversionKind
.NarrowingTuple Or
ConversionKind
.InvolvesNarrowingFromNumericConstant,
3355
ConversionKind
.Identity,
3356
ConversionKind
.NarrowingNumeric Or
ConversionKind
.InvolvesNarrowingFromNumericConstant)
3357
AssertConversions(model, nodes(7),
ConversionKind
.NarrowingTuple Or
ConversionKind
.InvolvesNarrowingFromNumericConstant,
3358
ConversionKind
.NarrowingNumeric Or
ConversionKind
.InvolvesNarrowingFromNumericConstant,
3359
ConversionKind
.WideningNumeric)
3360
AssertConversions(model, nodes(8),
ConversionKind
.NarrowingTuple Or
ConversionKind
.InvolvesNarrowingFromNumericConstant,
3361
ConversionKind
.WideningNumeric,
3362
ConversionKind
.NarrowingNumeric Or
ConversionKind
.InvolvesNarrowingFromNumericConstant)
3363
AssertConversions(model, nodes(9),
ConversionKind
.WideningTuple,
3364
ConversionKind
.WideningNumeric,
3365
ConversionKind
.WideningNumeric)
3366
AssertConversions(model, nodes(10),
ConversionKind
.NarrowingTuple Or
ConversionKind
.InvolvesNarrowingFromNumericConstant,
3367
ConversionKind
.WideningNumeric Or
ConversionKind
.InvolvesNarrowingFromNumericConstant,
3368
ConversionKind
.NarrowingNumeric Or
ConversionKind
.InvolvesNarrowingFromNumericConstant)
3369
AssertConversions(model, nodes(11),
ConversionKind
.NarrowingTuple Or
ConversionKind
.InvolvesNarrowingFromNumericConstant,
3370
ConversionKind
.NarrowingNumeric Or
ConversionKind
.InvolvesNarrowingFromNumericConstant,
3371
ConversionKind
.WideningNumeric Or
ConversionKind
.InvolvesNarrowingFromNumericConstant)
3372
AssertConversions(model, nodes(12),
ConversionKind
.NarrowingTuple,
3373
ConversionKind
.NarrowingNumeric,
3374
ConversionKind
.NarrowingNumeric Or
ConversionKind
.InvolvesNarrowingFromNumericConstant,
3375
ConversionKind
.WideningNumeric Or
ConversionKind
.InvolvesNarrowingFromNumericConstant)
3376
AssertConversions(model, nodes(13),
ConversionKind
.NarrowingTuple,
3377
ConversionKind
.NarrowingNumeric Or
ConversionKind
.InvolvesNarrowingFromNumericConstant,
3378
ConversionKind
.NarrowingNumeric,
3379
ConversionKind
.WideningNumeric Or
ConversionKind
.InvolvesNarrowingFromNumericConstant)
3380
AssertConversions(model, nodes(14),
ConversionKind
.NarrowingTuple,
3381
ConversionKind
.NarrowingNumeric Or
ConversionKind
.InvolvesNarrowingFromNumericConstant,
3382
ConversionKind
.WideningNumeric Or
ConversionKind
.InvolvesNarrowingFromNumericConstant,
3383
ConversionKind
.NarrowingNumeric)
3384
AssertConversions(model, nodes(15),
ConversionKind
.NarrowingTuple,
3385
ConversionKind
.NarrowingNumeric,
3386
ConversionKind
.NarrowingNumeric)
3387
AssertConversions(model, nodes(16),
ConversionKind
.WideningTuple Or
ConversionKind
.InvolvesNarrowingFromNumericConstant,
3388
ConversionKind
.Identity,
3389
ConversionKind
.WideningTuple Or
ConversionKind
.InvolvesNarrowingFromNumericConstant)
3392
Private Shared Sub AssertConversions(model As SemanticModel, literal As TupleExpressionSyntax, aggregate As
ConversionKind
, ParamArray parts As
ConversionKind
())
8293
Assert.Equal(
ConversionKind
.WideningNullableTuple, model.GetConversion(node).Kind)
8346
Assert.Equal(
ConversionKind
.WideningNullableTuple, model.GetConversion(node).Kind)
8381
Assert.Equal(
ConversionKind
.WideningTuple, model.GetConversion(node).Kind)
8418
Assert.Equal(
ConversionKind
.WideningTuple, model.GetConversion(node).Kind)
8449
Assert.Equal(
ConversionKind
.WideningNullableTuple, model.GetConversion(node).Kind)
8483
Assert.Equal(
ConversionKind
.Narrowing Or
ConversionKind
.UserDefined, model.GetConversion(firstTuple).Kind)
8489
Assert.Equal(
ConversionKind
.DelegateRelaxationLevelNone, model.GetConversion(secondTuple).Kind)
8526
Assert.Equal(
ConversionKind
.WideningTuple, model.GetConversion(firstTuple).Kind)
8532
Assert.Equal(
ConversionKind
.WideningTuple, model.GetConversion(secondTuple).Kind)
8569
Assert.Equal(
ConversionKind
.WideningTuple, model.GetConversion(firstTuple).Kind)
8575
Assert.Equal(
ConversionKind
.WideningTuple, model.GetConversion(secondTuple).Kind)
8609
Assert.Equal(
ConversionKind
.WideningTuple, model.GetConversion(firstTuple).Kind)
8615
Assert.Equal(
ConversionKind
.WideningTuple, model.GetConversion(secondTuple).Kind)
11781
Assert.Equal(
ConversionKind
.WideningNullableTuple Or
ConversionKind
.InvolvesNarrowingFromNumericConstant, model.GetConversion(node).Kind)
11788
Assert.Equal(
ConversionKind
.WideningNumeric Or
ConversionKind
.InvolvesNarrowingFromNumericConstant, model.GetConversion(e).Kind)
11795
Assert.Equal(
ConversionKind
.Identity, model.GetConversion(f).Kind)
11826
Assert.Equal(
ConversionKind
.WideningNullableTuple Or
ConversionKind
.InvolvesNarrowingFromNumericConstant, model.GetConversion(node).Kind)
11858
Assert.Equal(
ConversionKind
.Identity, model.GetConversion(l11).Kind)
11865
Assert.Equal(
ConversionKind
.WideningNullableTuple Or
ConversionKind
.InvolvesNarrowingFromNumericConstant, model.GetConversion(node).Kind)
11900
Assert.Equal(
ConversionKind
.WideningNullableTuple Or
ConversionKind
.InvolvesNarrowingFromNumericConstant, model.GetConversion(node).Kind)
11930
Assert.Equal(
ConversionKind
.WideningNullableTuple Or
ConversionKind
.InvolvesNarrowingFromNumericConstant, model.GetConversion(node).Kind)
11937
Assert.Equal(
ConversionKind
.WideningNumeric Or
ConversionKind
.InvolvesNarrowingFromNumericConstant, model.GetConversion(e).Kind)
11944
Assert.Equal(
ConversionKind
.Identity, model.GetConversion(f).Kind)
11974
Assert.Equal(
ConversionKind
.WideningTuple Or
ConversionKind
.InvolvesNarrowingFromNumericConstant, model.GetConversion(node).Kind)
11979
Assert.Equal(
ConversionKind
.WideningTuple Or
ConversionKind
.InvolvesNarrowingFromNumericConstant, model.GetConversion(node).Kind)
12010
Assert.Equal(
ConversionKind
.WideningTuple Or
ConversionKind
.InvolvesNarrowingFromNumericConstant, model.GetConversion(node).Kind)
12014
Assert.Equal(
ConversionKind
.WideningTuple Or
ConversionKind
.InvolvesNarrowingFromNumericConstant, model.GetConversion(node).Kind)
12045
Assert.Equal(
ConversionKind
.WideningTuple, model.GetConversion(node).Kind)
12051
Assert.Equal(
ConversionKind
.Identity, model.GetConversion(x).Kind)
12080
Assert.Equal(
ConversionKind
.WideningTuple, model.GetConversion(node).Kind)
12086
Assert.Equal(
ConversionKind
.Identity, model.GetConversion(x).Kind)
12114
Assert.Equal(
ConversionKind
.WideningNullableTuple, model.GetConversion(node).Kind)
12120
Assert.Equal(
ConversionKind
.Identity, model.GetConversion(x).Kind)
12147
Assert.Equal(
ConversionKind
.WideningNullableTuple, model.GetConversion(node).Kind)
12177
Assert.Equal(
ConversionKind
.WideningNullableTuple, model.GetConversion(node).Kind)
12182
Assert.Equal(
ConversionKind
.Identity, model.GetConversion(node.Parent).Kind)
12212
Assert.Equal(
ConversionKind
.Identity, model.GetConversion(node).Kind)
12216
Assert.Equal(
ConversionKind
.WideningNullable, model.GetConversion(node.Parent).Kind)
12246
Assert.Equal(
ConversionKind
.Identity, model.GetConversion(node).Kind)
12276
Assert.Equal(
ConversionKind
.Identity, model.GetConversion(node).Kind)
12307
Assert.Equal(
ConversionKind
.Identity, model.GetConversion(node).Kind)
12337
Assert.Equal(
ConversionKind
.WideningTuple Or
ConversionKind
.InvolvesNarrowingFromNumericConstant, model.GetConversion(node).Kind)
12344
Assert.Equal(
ConversionKind
.WideningNumeric Or
ConversionKind
.InvolvesNarrowingFromNumericConstant, model.GetConversion(e).Kind)
12351
Assert.Equal(
ConversionKind
.Identity, model.GetConversion(f).Kind)
12382
Assert.Equal(
ConversionKind
.Identity, model.GetConversion(l11).Kind)
12389
Assert.Equal(
ConversionKind
.WideningTuple Or
ConversionKind
.InvolvesNarrowingFromNumericConstant, model.GetConversion(node).Kind)
12393
Assert.Equal(
ConversionKind
.Identity, model.GetConversion(node.Parent).Kind)
12423
Assert.Equal(
ConversionKind
.WideningTuple Or
ConversionKind
.InvolvesNarrowingFromNumericConstant, model.GetConversion(node).Kind)
12454
Assert.Equal(
ConversionKind
.WideningNothingLiteral, model.GetConversion(lnothing).Kind)
12461
Assert.Equal(
ConversionKind
.WideningTuple Or
ConversionKind
.InvolvesNarrowingFromNumericConstant, model.GetConversion(node).Kind)
12465
Assert.Equal(
ConversionKind
.Identity, model.GetConversion(node.Parent).Kind)
12507
Assert.Equal(
ConversionKind
.NarrowingTuple, model.GetConversion(node).Kind)
12593
Assert.Equal(
ConversionKind
.NarrowingTuple, model.GetConversion(node).Kind)
12597
Assert.Equal(
ConversionKind
.Identity, model.GetConversion(node.Parent).Kind)
12645
Assert.Equal(
ConversionKind
.Narrowing Or
ConversionKind
.UserDefined, model.GetConversion(node).Kind)
12692
Assert.Equal(
ConversionKind
.Narrowing Or
ConversionKind
.UserDefined, model.GetConversion(node).Kind)
12743
Assert.Equal(
ConversionKind
.Narrowing Or
ConversionKind
.UserDefined, model.GetConversion(node).Kind)
12807
Assert.Equal(
ConversionKind
.Narrowing Or
ConversionKind
.UserDefined, model.GetConversion(node).Kind)
12879
Assert.Equal(
ConversionKind
.Narrowing Or
ConversionKind
.UserDefined, model.GetConversion(node).Kind)
12951
Assert.Equal(
ConversionKind
.Narrowing Or
ConversionKind
.UserDefined, model.GetConversion(node).Kind)
13272
AssertConversions(model, nodes(0),
ConversionKind
.WideningTuple,
ConversionKind
.Identity,
ConversionKind
.Widening Or
ConversionKind
.Lambda)
13273
AssertConversions(model, nodes(1),
ConversionKind
.WideningTuple Or
ConversionKind
.DelegateRelaxationLevelWidening,
13274
ConversionKind
.Identity,
13275
ConversionKind
.Widening Or
ConversionKind
.Lambda Or
ConversionKind
.DelegateRelaxationLevelWidening)
13276
AssertConversions(model, nodes(2),
ConversionKind
.WideningTuple Or
ConversionKind
.DelegateRelaxationLevelWideningDropReturnOrArgs,
13277
ConversionKind
.Identity,
13278
ConversionKind
.Widening Or
ConversionKind
.Lambda Or
ConversionKind
.DelegateRelaxationLevelWideningDropReturnOrArgs)
13279
AssertConversions(model, nodes(3),
ConversionKind
.WideningTuple Or
ConversionKind
.DelegateRelaxationLevelWideningToNonLambda,
13280
ConversionKind
.Identity,
13281
ConversionKind
.WideningReference Or
ConversionKind
.DelegateRelaxationLevelWideningToNonLambda)
13282
AssertConversions(model, nodes(4),
ConversionKind
.WideningTuple Or
ConversionKind
.DelegateRelaxationLevelNarrowing,
13283
ConversionKind
.Identity,
13284
ConversionKind
.Widening Or
ConversionKind
.Lambda Or
ConversionKind
.DelegateRelaxationLevelNarrowing)
13320
AssertConversions(model, nodes(0),
ConversionKind
.WideningTuple,
ConversionKind
.Widening Or
ConversionKind
.Lambda,
ConversionKind
.Identity)
13321
AssertConversions(model, nodes(1),
ConversionKind
.WideningTuple Or
ConversionKind
.DelegateRelaxationLevelWidening,
13322
ConversionKind
.Widening Or
ConversionKind
.Lambda Or
ConversionKind
.DelegateRelaxationLevelWidening,
13323
ConversionKind
.Identity)
13324
AssertConversions(model, nodes(2),
ConversionKind
.WideningTuple Or
ConversionKind
.DelegateRelaxationLevelWideningDropReturnOrArgs,
13325
ConversionKind
.Widening Or
ConversionKind
.Lambda Or
ConversionKind
.DelegateRelaxationLevelWideningDropReturnOrArgs,
13326
ConversionKind
.Identity)
13327
AssertConversions(model, nodes(3),
ConversionKind
.WideningTuple Or
ConversionKind
.DelegateRelaxationLevelWideningToNonLambda,
13328
ConversionKind
.WideningReference Or
ConversionKind
.DelegateRelaxationLevelWideningToNonLambda,
13329
ConversionKind
.Identity)
13330
AssertConversions(model, nodes(4),
ConversionKind
.WideningTuple Or
ConversionKind
.DelegateRelaxationLevelNarrowing,
13331
ConversionKind
.Widening Or
ConversionKind
.Lambda Or
ConversionKind
.DelegateRelaxationLevelNarrowing,
13332
ConversionKind
.Identity)
13333
AssertConversions(model, nodes(5),
ConversionKind
.WideningTuple Or
ConversionKind
.DelegateRelaxationLevelNarrowing,
13334
ConversionKind
.Widening Or
ConversionKind
.Lambda Or
ConversionKind
.DelegateRelaxationLevelNarrowing,
13335
ConversionKind
.Widening Or
ConversionKind
.Lambda Or
ConversionKind
.DelegateRelaxationLevelWidening)
13336
AssertConversions(model, nodes(6),
ConversionKind
.WideningTuple Or
ConversionKind
.DelegateRelaxationLevelNarrowing,
13337
ConversionKind
.Widening Or
ConversionKind
.Lambda Or
ConversionKind
.DelegateRelaxationLevelWidening,
13338
ConversionKind
.Widening Or
ConversionKind
.Lambda Or
ConversionKind
.DelegateRelaxationLevelNarrowing)
13339
AssertConversions(model, nodes(7),
ConversionKind
.NarrowingTuple Or
ConversionKind
.DelegateRelaxationLevelNarrowing,
13340
ConversionKind
.NarrowingNumeric,
13341
ConversionKind
.WideningTuple Or
ConversionKind
.DelegateRelaxationLevelNarrowing)
13374
AssertConversions(model, nodes(0),
ConversionKind
.WideningNullableTuple,
ConversionKind
.Identity,
ConversionKind
.Widening Or
ConversionKind
.Lambda)
13375
AssertConversions(model, nodes(1),
ConversionKind
.NarrowingNullableTuple Or
ConversionKind
.DelegateRelaxationLevelWidening,
13376
ConversionKind
.NarrowingNumeric,
13377
ConversionKind
.Widening Or
ConversionKind
.Lambda Or
ConversionKind
.DelegateRelaxationLevelWidening)
13378
AssertConversions(model, nodes(2),
ConversionKind
.WideningNullableTuple Or
ConversionKind
.DelegateRelaxationLevelWideningDropReturnOrArgs,
13379
ConversionKind
.Identity,
13380
ConversionKind
.Widening Or
ConversionKind
.Lambda Or
ConversionKind
.DelegateRelaxationLevelWideningDropReturnOrArgs)
13381
AssertConversions(model, nodes(3),
ConversionKind
.WideningNullableTuple Or
ConversionKind
.DelegateRelaxationLevelWideningToNonLambda,
13382
ConversionKind
.Identity,
13383
ConversionKind
.WideningReference Or
ConversionKind
.DelegateRelaxationLevelWideningToNonLambda)
13384
AssertConversions(model, nodes(4),
ConversionKind
.WideningNullableTuple Or
ConversionKind
.DelegateRelaxationLevelNarrowing,
13385
ConversionKind
.Identity,
13386
ConversionKind
.Widening Or
ConversionKind
.Lambda Or
ConversionKind
.DelegateRelaxationLevelNarrowing)
13420
Assert.Equal(
ConversionKind
.WideningTuple, model.GetConversion(nodes(0)).Kind)
13421
Assert.Equal(
ConversionKind
.WideningTuple Or
ConversionKind
.DelegateRelaxationLevelWidening, model.GetConversion(nodes(1)).Kind)
13422
Assert.Equal(
ConversionKind
.WideningTuple Or
ConversionKind
.DelegateRelaxationLevelWideningDropReturnOrArgs, model.GetConversion(nodes(2)).Kind)
13423
Assert.Equal(
ConversionKind
.WideningTuple Or
ConversionKind
.DelegateRelaxationLevelWideningToNonLambda, model.GetConversion(nodes(3)).Kind)
13424
Assert.Equal(
ConversionKind
.NarrowingTuple Or
ConversionKind
.DelegateRelaxationLevelNarrowing, model.GetConversion(nodes(4)).Kind)
13458
Assert.Equal(
ConversionKind
.WideningNullableTuple, model.GetConversion(nodes(0)).Kind)
13459
Assert.Equal(
ConversionKind
.WideningNullableTuple Or
ConversionKind
.DelegateRelaxationLevelWidening, model.GetConversion(nodes(1)).Kind)
13460
Assert.Equal(
ConversionKind
.WideningNullableTuple Or
ConversionKind
.DelegateRelaxationLevelWideningDropReturnOrArgs, model.GetConversion(nodes(2)).Kind)
13461
Assert.Equal(
ConversionKind
.WideningNullableTuple Or
ConversionKind
.DelegateRelaxationLevelWideningToNonLambda, model.GetConversion(nodes(3)).Kind)
13462
Assert.Equal(
ConversionKind
.NarrowingNullableTuple Or
ConversionKind
.DelegateRelaxationLevelNarrowing, model.GetConversion(nodes(4)).Kind)
13496
Assert.Equal(
ConversionKind
.WideningNullableTuple, model.GetConversion(nodes(0)).Kind)
13497
Assert.Equal(
ConversionKind
.WideningNullableTuple Or
ConversionKind
.DelegateRelaxationLevelWidening, model.GetConversion(nodes(1)).Kind)
13498
Assert.Equal(
ConversionKind
.WideningNullableTuple Or
ConversionKind
.DelegateRelaxationLevelWideningDropReturnOrArgs, model.GetConversion(nodes(2)).Kind)
13499
Assert.Equal(
ConversionKind
.WideningNullableTuple Or
ConversionKind
.DelegateRelaxationLevelWideningToNonLambda, model.GetConversion(nodes(3)).Kind)
13500
Assert.Equal(
ConversionKind
.NarrowingNullableTuple Or
ConversionKind
.DelegateRelaxationLevelNarrowing, model.GetConversion(nodes(4)).Kind)
13534
Assert.Equal(
ConversionKind
.NarrowingNullableTuple, model.GetConversion(nodes(0)).Kind)
13535
Assert.Equal(
ConversionKind
.NarrowingNullableTuple Or
ConversionKind
.DelegateRelaxationLevelWidening, model.GetConversion(nodes(1)).Kind)
13536
Assert.Equal(
ConversionKind
.NarrowingNullableTuple Or
ConversionKind
.DelegateRelaxationLevelWideningDropReturnOrArgs, model.GetConversion(nodes(2)).Kind)
13537
Assert.Equal(
ConversionKind
.NarrowingNullableTuple Or
ConversionKind
.DelegateRelaxationLevelWideningToNonLambda, model.GetConversion(nodes(3)).Kind)
13538
Assert.Equal(
ConversionKind
.NarrowingNullableTuple Or
ConversionKind
.DelegateRelaxationLevelNarrowing, model.GetConversion(nodes(4)).Kind)
21796
Assert.Equal(
ConversionKind
.NarrowingTuple, model.GetConversion(node).Kind)
21832
Assert.Equal(
ConversionKind
.DelegateRelaxationLevelNone, model.GetConversion(node).Kind)
21868
Assert.Equal(
ConversionKind
.DelegateRelaxationLevelNone, model.GetConversion(node).Kind)
Microsoft.CodeAnalysis.VisualBasic.ExpressionEvaluator.ExpressionCompiler (2)
Rewriters\CapturedVariableRewriter.vb (1)
103
conversionKind:=
ConversionKind
.WideningReference, ' From a class to its base class.
Symbols\PlaceholderLocalSymbol.vb (1)
124
Dim conversionKind As
ConversionKind
Microsoft.CodeAnalysis.VisualBasic.Semantic.UnitTests (1090)
Binding\ForEachTests.vb (9)
4603
Assert.Equal(
ConversionKind
.NarrowingValue, info.CurrentConversion.Kind)
4605
Assert.Equal(
ConversionKind
.Widening Or
ConversionKind
.UserDefined, info.ElementConversion.Kind)
4661
Assert.Equal(
ConversionKind
.NarrowingValue, info.CurrentConversion.Kind)
4663
Assert.Equal(
ConversionKind
.Widening Or
ConversionKind
.UserDefined, info.ElementConversion.Kind)
4724
Assert.Equal(
ConversionKind
.Identity, info.CurrentConversion.Kind)
4726
Assert.Equal(
ConversionKind
.Widening Or
ConversionKind
.UserDefined, info.ElementConversion.Kind)
Binding\ImplicitVariableTests.vb (2)
1243
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
1263
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
Compilation\MyTemplateTests.vb (2)
241
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
294
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
Compilation\SemanticModelAPITests.vb (2)
2911
Assert.Equal(
ConversionKind
.Widening, conv1.Kind)
2914
Assert.Equal(
ConversionKind
.Widening, conv2.Kind)
ExtensionMethods\SemanticModelTests.vb (5)
56
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
125
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
185
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
1340
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
1389
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
Semantics\ArrayLiteralTests.vb (7)
1500
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
1634
Assert.Equal(
ConversionKind
.Widening, semanticSummary.ImplicitConversion.Kind)
1690
Assert.Equal(
ConversionKind
.Widening Or
ConversionKind
.UserDefined, semanticSummary.ImplicitConversion.Kind)
1724
Assert.Equal(
ConversionKind
.WideningString, semanticSummary.ImplicitConversion.Kind)
2053
Assert.Equal(
ConversionKind
.Widening, semanticSummary.ImplicitConversion.Kind)
2086
Assert.Equal(
ConversionKind
.Widening, semanticSummary.ImplicitConversion.Kind)
Semantics\Conversions.vb (532)
24
Private Const s_noConversion As
ConversionKind
= Nothing
58
Assert.Equal(
ConversionKind
.WideningReference, ClassifyDirectCastAssignment(m13p(a), m13p(b), methodBodyBinder)) ' Object)
59
Assert.Equal(
ConversionKind
.WideningValue, ClassifyDirectCastAssignment(m13p(a), m13p(c), methodBodyBinder)) ' Object)
60
Assert.Equal(
ConversionKind
.NarrowingReference, ClassifyDirectCastAssignment(m13p(b), m13p(a), methodBodyBinder)) ' ValueType)
61
Assert.Equal(
ConversionKind
.WideningValue, ClassifyDirectCastAssignment(m13p(b), m13p(c), methodBodyBinder)) ' ValueType)
62
Assert.Equal(
ConversionKind
.NarrowingValue, ClassifyDirectCastAssignment(m13p(c), m13p(a), methodBodyBinder)) ' Integer)
63
Assert.Equal(
ConversionKind
.NarrowingValue, ClassifyDirectCastAssignment(m13p(c), m13p(b), methodBodyBinder)) ' Integer)
66
Assert.Equal(
ConversionKind
.WideningNumeric Or
ConversionKind
.InvolvesEnumTypeConversions, ClassifyDirectCastAssignment(m13p(c), m13p(e), methodBodyBinder)) ' Integer)
71
Assert.Equal(
ConversionKind
.NarrowingNumeric Or
ConversionKind
.InvolvesEnumTypeConversions, ClassifyDirectCastAssignment(m13p(e), m13p(g), methodBodyBinder)) ' Enum1)
74
Assert.Equal(
ConversionKind
.WideningArray, ClassifyDirectCastAssignment(m13p(h), m13p(i), methodBodyBinder)) ' Class8())
75
Assert.Equal(
ConversionKind
.NarrowingArray, ClassifyDirectCastAssignment(m13p(i), m13p(h), methodBodyBinder)) ' Class9())
79
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyDirectCastAssignment(m13p(k), m13p(m), methodBodyBinder)) ' MT1)
82
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyDirectCastAssignment(m13p(m), m13p(k), methodBodyBinder)) ' MT3)
94
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyDirectCastAssignment(m13p(s), m13p(w), methodBodyBinder)) ' MT6)
106
Assert.Equal(
ConversionKind
.WideningNothingLiteral, ClassifyDirectCastAssignment(m13p(a), [nothing], methodBodyBinder))
107
Assert.Equal(
ConversionKind
.WideningNothingLiteral, ClassifyDirectCastAssignment(m13p(b), [nothing], methodBodyBinder))
108
Assert.Equal(
ConversionKind
.WideningNothingLiteral, ClassifyDirectCastAssignment(m13p(c), [nothing], methodBodyBinder))
113
Assert.Equal(
ConversionKind
.NarrowingNumeric Or
ConversionKind
.InvolvesEnumTypeConversions, ClassifyDirectCastAssignment(m13p(e), intZero, methodBodyBinder))
115
Assert.Equal(
ConversionKind
.WideningNothingLiteral, ClassifyDirectCastAssignment(m13p(e), [nothing], methodBodyBinder))
116
Assert.Equal(
ConversionKind
.WideningNothingLiteral, ClassifyDirectCastAssignment(m13p(k), [nothing], methodBodyBinder))
117
Assert.Equal(
ConversionKind
.WideningNothingLiteral, ClassifyDirectCastAssignment(m13p(q), [nothing], methodBodyBinder))
119
Assert.Equal(
ConversionKind
.WideningReference, ClassifyTryCastAssignment(m13p(a), m13p(b), methodBodyBinder)) ' Object)
120
Assert.Equal(
ConversionKind
.WideningValue, ClassifyTryCastAssignment(m13p(a), m13p(c), methodBodyBinder)) ' Object)
121
Assert.Equal(
ConversionKind
.NarrowingReference, ClassifyTryCastAssignment(m13p(b), m13p(a), methodBodyBinder)) ' ValueType)
122
Assert.Equal(
ConversionKind
.WideningValue, ClassifyTryCastAssignment(m13p(b), m13p(c), methodBodyBinder)) ' ValueType)
123
Assert.Equal(
ConversionKind
.NarrowingValue, ClassifyTryCastAssignment(m13p(c), m13p(a), methodBodyBinder)) ' Integer) ' error BC30792: 'TryCast' operand must be reference type, but 'Integer' is a value type.
124
Assert.Equal(
ConversionKind
.NarrowingValue, ClassifyTryCastAssignment(m13p(c), m13p(b), methodBodyBinder)) ' Integer) ' error BC30792: 'TryCast' operand must be reference type, but 'Integer' is a value type.
125
Assert.Equal(
ConversionKind
.Identity, ClassifyTryCastAssignment(m13p(c), m13p(c), methodBodyBinder)) ' Integer) ' error BC30792: 'TryCast' operand must be reference type, but 'Integer' is a value type.
127
Assert.Equal(
ConversionKind
.WideningNumeric Or
ConversionKind
.InvolvesEnumTypeConversions, ClassifyTryCastAssignment(m13p(c), m13p(e), methodBodyBinder)) ' Integer) ' error BC30792: 'TryCast' operand must be reference type, but 'Integer' is a value type.
128
Assert.Equal(
ConversionKind
.Identity, ClassifyTryCastAssignment(m13p(d), m13p(d), methodBodyBinder)) ' Long) ' error BC30792: 'TryCast' operand must be reference type, but 'Long' is a value type.
130
Assert.Equal(
ConversionKind
.Identity, ClassifyTryCastAssignment(m13p(e), m13p(e), methodBodyBinder)) ' Enum1) ' error BC30792: 'TryCast' operand must be reference type, but 'Enum1' is a value type.
132
Assert.Equal(
ConversionKind
.NarrowingNumeric Or
ConversionKind
.InvolvesEnumTypeConversions, ClassifyTryCastAssignment(m13p(e), m13p(g), methodBodyBinder)) ' Enum1) ' error BC30792: 'TryCast' operand must be reference type, but 'Enum1' is a value type.
133
Assert.Equal(
ConversionKind
.Identity, ClassifyTryCastAssignment(m13p(f), m13p(f), methodBodyBinder)) ' Enum2) ' error BC30792: 'TryCast' operand must be reference type, but 'Enum2' is a value type.
135
Assert.Equal(
ConversionKind
.WideningArray, ClassifyTryCastAssignment(m13p(h), m13p(i), methodBodyBinder)) ' Class8())
136
Assert.Equal(
ConversionKind
.NarrowingArray, ClassifyTryCastAssignment(m13p(i), m13p(h), methodBodyBinder)) ' Class9())
138
Assert.Equal(
ConversionKind
.Identity, ClassifyTryCastAssignment(m13p(k), m13p(k), methodBodyBinder)) ' MT1) ' error BC30793: 'TryCast' operands must be class-constrained type parameter, but 'MT1' has no class constraint.
139
Assert.Equal(
ConversionKind
.Narrowing, ClassifyTryCastAssignment(m13p(k), m13p(l), methodBodyBinder)) ' MT1) ' error BC30793: 'TryCast' operands must be class-constrained type parameter, but 'MT1' has no class constraint.
140
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyTryCastAssignment(m13p(k), m13p(m), methodBodyBinder)) ' MT1) ' error BC30793: 'TryCast' operands must be class-constrained type parameter, but 'MT1' has no class constraint.
141
Assert.Equal(
ConversionKind
.Narrowing, ClassifyTryCastAssignment(m13p(k), m13p(q), methodBodyBinder)) ' MT1) ' error BC30793: 'TryCast' operands must be class-constrained type parameter, but 'MT1' has no class constraint.
142
Assert.Equal(
ConversionKind
.Narrowing, ClassifyTryCastAssignment(m13p(l), m13p(k), methodBodyBinder)) ' MT2) ' error BC30793: 'TryCast' operands must be class-constrained type parameter, but 'MT2' has no class constraint.
143
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyTryCastAssignment(m13p(m), m13p(k), methodBodyBinder)) ' MT3) ' error BC30793: 'TryCast' operands must be class-constrained type parameter, but 'MT3' has no class constraint.
144
Assert.Equal(
ConversionKind
.Narrowing, ClassifyTryCastAssignment(m13p(n), m13p(o), methodBodyBinder)) ' MT1())
145
Assert.Equal(
ConversionKind
.Narrowing, ClassifyTryCastAssignment(m13p(n), m13p(p), methodBodyBinder)) ' MT1())
146
Assert.Equal(
ConversionKind
.Narrowing, ClassifyTryCastAssignment(m13p(n), m13p(u), methodBodyBinder)) ' MT1())
147
Assert.Equal(
ConversionKind
.Narrowing, ClassifyTryCastAssignment(m13p(q), m13p(k), methodBodyBinder)) ' MT4)
148
Assert.Equal(
ConversionKind
.Narrowing, ClassifyTryCastAssignment(m13p(q), m13p(b), methodBodyBinder)) ' MT4)
149
Assert.Equal(
ConversionKind
.Narrowing, ClassifyTryCastAssignment(m13p(q), m13p(c), methodBodyBinder)) ' MT4)
150
Assert.Equal(
ConversionKind
.Narrowing, ClassifyTryCastAssignment(m13p(r), m13p(s), methodBodyBinder)) ' MT5)
151
Assert.Equal(
ConversionKind
.Narrowing, ClassifyTryCastAssignment(m13p(r), m13p(t), methodBodyBinder)) ' MT5)
152
Assert.Equal(
ConversionKind
.Narrowing, ClassifyTryCastAssignment(m13p(r), m13p(w), methodBodyBinder)) ' MT5)
153
Assert.Equal(
ConversionKind
.Narrowing, ClassifyTryCastAssignment(m13p(s), m13p(r), methodBodyBinder)) ' MT6)
155
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyTryCastAssignment(m13p(s), m13p(w), methodBodyBinder)) ' MT6)
156
Assert.Equal(
ConversionKind
.Narrowing, ClassifyTryCastAssignment(m13p(t), m13p(r), methodBodyBinder)) ' MT7)
159
Assert.Equal(
ConversionKind
.Narrowing, ClassifyTryCastAssignment(m13p(u), m13p(n), methodBodyBinder)) ' Integer())
163
Assert.Equal(
ConversionKind
.WideningNothingLiteral, ClassifyTryCastAssignment(m13p(a), [nothing], methodBodyBinder))
164
Assert.Equal(
ConversionKind
.WideningValue, ClassifyTryCastAssignment(m13p(a), intZero, methodBodyBinder))
165
Assert.Equal(
ConversionKind
.WideningNothingLiteral, ClassifyTryCastAssignment(m13p(b), [nothing], methodBodyBinder))
166
Assert.Equal(
ConversionKind
.WideningNothingLiteral, ClassifyTryCastAssignment(m13p(c), [nothing], methodBodyBinder)) ' error BC30792: 'TryCast' operand must be reference type, but 'Integer' is a value type.
167
Assert.Equal(
ConversionKind
.Identity, ClassifyTryCastAssignment(m13p(c), intZero, methodBodyBinder)) ' error BC30792: 'TryCast' operand must be reference type, but 'Integer' is a value type.
170
Assert.Equal(
ConversionKind
.Identity, ClassifyTryCastAssignment(m13p(d), longZero, methodBodyBinder)) ' error BC30792: 'TryCast' operand must be reference type, but 'Long' is a value type.
171
Assert.Equal(
ConversionKind
.NarrowingNumeric Or
ConversionKind
.InvolvesEnumTypeConversions, ClassifyTryCastAssignment(m13p(e), intZero, methodBodyBinder)) ' error BC30792: 'TryCast' operand must be reference type, but 'Enum1' is a value type.
173
Assert.Equal(
ConversionKind
.WideningNothingLiteral, ClassifyTryCastAssignment(m13p(e), [nothing], methodBodyBinder)) ' error BC30792: 'TryCast' operand must be reference type, but 'Enum1' is a value type.
174
Assert.Equal(
ConversionKind
.WideningNothingLiteral, ClassifyTryCastAssignment(m13p(k), [nothing], methodBodyBinder)) ' error BC30793: 'TryCast' operands must be class-constrained type parameter, but 'MT1' has no class constraint.
175
Assert.Equal(
ConversionKind
.WideningNothingLiteral, ClassifyTryCastAssignment(m13p(q), [nothing], methodBodyBinder))
179
Private Shared Function ClassifyDirectCastAssignment([to] As TypeSymbol, [from] As TypeSymbol, binder As Binder) As
ConversionKind
180
Dim result As
ConversionKind
= Conversions.ClassifyDirectCastConversion([from], [to], Nothing) And Not
ConversionKind
.MightSucceedAtRuntime
184
Private Shared Function ClassifyDirectCastAssignment([to] As TypeSymbol, [from] As BoundLiteral, binder As Binder) As
ConversionKind
185
Dim result As
ConversionKind
= Conversions.ClassifyDirectCastConversion([from], [to], binder, Nothing)
189
Private Shared Function ClassifyTryCastAssignment([to] As TypeSymbol, [from] As TypeSymbol, binder As Binder) As
ConversionKind
190
Dim result As
ConversionKind
= Conversions.ClassifyTryCastConversion([from], [to], Nothing)
194
Private Shared Function ClassifyTryCastAssignment([to] As TypeSymbol, [from] As BoundLiteral, binder As Binder) As
ConversionKind
195
Dim result As
ConversionKind
= Conversions.ClassifyTryCastConversion([from], [to], binder, Nothing)
199
Private Shared Function ClassifyConversion(source As TypeSymbol, destination As TypeSymbol) As
ConversionKind
200
Dim result As KeyValuePair(Of
ConversionKind
, MethodSymbol) = Conversions.ClassifyConversion(source, destination, Nothing)
205
Private Shared Function ClassifyConversion(source As BoundExpression, destination As TypeSymbol, binder As Binder) As
ConversionKind
206
Dim result As KeyValuePair(Of
ConversionKind
, MethodSymbol) = Conversions.ClassifyConversion(source, destination, binder, Nothing)
279
Assert.Equal(
ConversionKind
.WideningNothingLiteral, ClassifyConversion(_nothing, testType, methodBodyBinder))
312
constant = New BoundConversion(dummyTree.GetVisualBasicRoot(Nothing), literal,
ConversionKind
.Widening, True, True, zero, integralType, Nothing)
314
Assert.Equal(If(integralType Is int32Type,
ConversionKind
.WideningNumeric Or
ConversionKind
.InvolvesEnumTypeConversions, If(integralType Is typeCodeType,
ConversionKind
.Identity,
ConversionKind
.NarrowingNumeric Or
ConversionKind
.InvolvesEnumTypeConversions)),
323
Assert.Equal(If(integralType Is typeCodeType,
ConversionKind
.Identity,
ConversionKind
.NarrowingNumeric Or
ConversionKind
.InvolvesEnumTypeConversions), ClassifyConversion(constant, typeCodeType, methodBodyBinder))
338
literal = New BoundConversion(dummyTree.GetVisualBasicRoot(Nothing), New BoundLiteral(DirectCast(DirectCast(dummyTree.GetRoot(Nothing), VisualBasicSyntaxNode), VisualBasicSyntaxNode), ConstantValue.Null, Nothing),
ConversionKind
.WideningNothingLiteral, False, True, zero, convertibleType, Nothing)
369
literal = New BoundConversion(dummyTree.GetVisualBasicRoot(Nothing), New BoundLiteral(DirectCast(dummyTree.GetRoot(Nothing), VisualBasicSyntaxNode), ConstantValue.Null, Nothing),
ConversionKind
.WideningNothingLiteral, False, True, zero, type1, Nothing)
376
ConversionKind
.Widening, True, True, zero, type1, Nothing)
380
Dim expectedConv As
ConversionKind
385
expectedConv =
ConversionKind
.Identity
392
expectedConv = expectedConv Or
ConversionKind
.InvolvesEnumTypeConversions
393
If (expectedConv And
ConversionKind
.Identity) <> 0 Then
394
expectedConv = (expectedConv And Not
ConversionKind
.Identity) Or
ConversionKind
.Widening Or
ConversionKind
.Numeric
397
expectedConv = expectedConv Or
ConversionKind
.InvolvesEnumTypeConversions
405
expectedConv = (expectedConv And Not
ConversionKind
.Widening) Or
ConversionKind
.Narrowing Or
ConversionKind
.InvolvesEnumTypeConversions
406
If (expectedConv And
ConversionKind
.Identity) <> 0 Then
407
expectedConv = (expectedConv And Not
ConversionKind
.Identity) Or
ConversionKind
.Numeric
415
expectedConv =
ConversionKind
.WideningNumeric Or
ConversionKind
.InvolvesNarrowingFromNumericConstant
417
expectedConv =
ConversionKind
.WideningNumeric
420
expectedConv =
ConversionKind
.NarrowingNumeric
425
expectedConv =
ConversionKind
.NarrowingNumeric Or
ConversionKind
.InvolvesNarrowingFromNumericConstant
427
expectedConv =
ConversionKind
.WideningNumeric
435
Assert.Equal(If(type2.IsEnumType() AndAlso type1 Is int32Type,
ConversionKind
.WideningNumeric Or
ConversionKind
.InvolvesEnumTypeConversions, expectedConv), ClassifyConversion(literal, type2, methodBodyBinder))
458
expectedConv = ClassifyConversion(type1, nullableType2) Or (expectedConv And
ConversionKind
.InvolvesNarrowingFromNumericConstant)
461
Assert.Equal(expectedConv Or
ConversionKind
.InvolvesNarrowingFromNumericConstant, ClassifyConversion(literal, nullableType2, methodBodyBinder))
480
Assert.Equal(If(type1 Is typeCodeType,
ConversionKind
.NarrowingBoolean Or
ConversionKind
.InvolvesEnumTypeConversions,
ConversionKind
.NarrowingBoolean), ClassifyConversion(literal, type2, methodBodyBinder))
481
Assert.Equal(If(type1 Is typeCodeType,
ConversionKind
.NarrowingBoolean Or
ConversionKind
.InvolvesEnumTypeConversions,
ConversionKind
.NarrowingBoolean), ClassifyConversion(constant, type2, methodBodyBinder))
534
Dim expectedConv1 As KeyValuePair(Of
ConversionKind
, MethodSymbol) = Conversions.ClassifyConversion(type1, type2, Nothing)
627
ConversionKind
.Widening, True, True, v, mv.Type, Nothing)
667
Assert.Equal(
ConversionKind
.NarrowingNumeric Or
ConversionKind
.InvolvesNarrowingFromNumericConstant, conv)
669
Assert.Equal(
ConversionKind
.WideningNumeric Or
ConversionKind
.InvolvesNarrowingFromNumericConstant, conv)
674
Assert.Equal(
ConversionKind
.WideningNumeric Or
ConversionKind
.InvolvesEnumTypeConversions, conv)
676
Assert.Equal(
ConversionKind
.WideningNumeric, conv)
707
Assert.Equal(
ConversionKind
.FailedDueToNumericOverflow, conv)
711
Assert.Equal(
ConversionKind
.FailedDueToIntegerOverflow, conv)
737
Assert.Equal(
ConversionKind
.FailedDueToNumericOverflow, conv)
741
Assert.Equal(
ConversionKind
.FailedDueToIntegerOverflow, conv)
750
Dim zero = New BoundConversion(dummyTree.GetVisualBasicRoot(Nothing), New BoundLiteral(DirectCast(dummyTree.GetRoot(Nothing), VisualBasicSyntaxNode), ConstantValue.Null, Nothing),
ConversionKind
.Widening, True, True, ConstantValue.Default(mv.Type.GetConstantValueTypeDiscriminator()), mv.Type, Nothing)
754
If (conv And
ConversionKind
.FailedDueToNumericOverflowMask) = 0 Then
756
(ClassifyConversion(zero, nullableType2, methodBodyBinder) And
ConversionKind
.InvolvesNarrowingFromNumericConstant)
776
constant = New BoundConversion(dummyTree.GetVisualBasicRoot(Nothing), New BoundLiteral(dummyTree.GetVisualBasicRoot(Nothing), ConstantValue.Null, Nothing),
ConversionKind
.Widening, True, True, doubleValue, doubleType, Nothing)
789
constant = New BoundConversion(dummyTree.GetVisualBasicRoot(Nothing), New BoundLiteral(dummyTree.GetVisualBasicRoot(Nothing), ConstantValue.Null, Nothing),
ConversionKind
.Widening, True, True, doubleValue, doubleType, Nothing)
802
constant = New BoundConversion(dummyTree.GetVisualBasicRoot(Nothing), New BoundLiteral(dummyTree.GetVisualBasicRoot(Nothing), ConstantValue.Null, Nothing),
ConversionKind
.Widening, True, True, doubleValue, doubleType, Nothing)
815
constant = New BoundConversion(dummyTree.GetVisualBasicRoot(Nothing), New BoundLiteral(dummyTree.GetVisualBasicRoot(Nothing), ConstantValue.Null, Nothing),
ConversionKind
.Widening, True, True, doubleValue, doubleType, Nothing)
828
constant = New BoundConversion(dummyTree.GetVisualBasicRoot(Nothing), New BoundLiteral(dummyTree.GetVisualBasicRoot(Nothing), ConstantValue.Null, Nothing),
ConversionKind
.Widening, True, True, doubleValue, doubleType, Nothing)
843
constant = New BoundConversion(dummyTree.GetVisualBasicRoot(Nothing), New BoundLiteral(dummyTree.GetVisualBasicRoot(Nothing), ConstantValue.Null, Nothing),
ConversionKind
.Widening, True, True, falseValue, booleanType, Nothing)
875
constant = New BoundConversion(dummyTree.GetVisualBasicRoot(Nothing), New BoundLiteral(dummyTree.GetVisualBasicRoot(Nothing), ConstantValue.Null, Nothing),
ConversionKind
.Widening, True, True, trueValue, booleanType, Nothing)
938
constant = New BoundConversion(dummyTree.GetVisualBasicRoot(Nothing), New BoundLiteral(dummyTree.GetVisualBasicRoot(Nothing), ConstantValue.Null, Nothing),
ConversionKind
.Widening, True, True, v, mv.Type, Nothing)
970
literal = New BoundConversion(dummyTree.GetVisualBasicRoot(Nothing), New BoundLiteral(dummyTree.GetVisualBasicRoot(Nothing), stringValue, Nothing),
ConversionKind
.WideningNothingLiteral, False, True, stringValue, stringType, Nothing)
971
constant = New BoundConversion(dummyTree.GetVisualBasicRoot(Nothing), New BoundLiteral(dummyTree.GetVisualBasicRoot(Nothing), ConstantValue.Null, Nothing),
ConversionKind
.Widening, True, True, stringValue, stringType, Nothing)
973
Assert.Equal(
ConversionKind
.NarrowingString, ClassifyConversion(literal, charType, methodBodyBinder))
974
Assert.Equal(
ConversionKind
.NarrowingString, ClassifyConversion(constant, charType, methodBodyBinder))
996
constant = New BoundConversion(dummyTree.GetVisualBasicRoot(Nothing), New BoundLiteral(dummyTree.GetVisualBasicRoot(Nothing), ConstantValue.Null, Nothing),
ConversionKind
.Widening, True, True, stringValue, stringType, Nothing)
998
Assert.Equal(
ConversionKind
.NarrowingString, ClassifyConversion(literal, charType, methodBodyBinder))
999
Assert.Equal(
ConversionKind
.NarrowingString, ClassifyConversion(constant, charType, methodBodyBinder))
1019
constant = New BoundConversion(dummyTree.GetVisualBasicRoot(Nothing), New BoundLiteral(dummyTree.GetVisualBasicRoot(Nothing), ConstantValue.Null, Nothing),
ConversionKind
.Widening, True, True, stringValue, stringType, Nothing)
1021
Assert.Equal(
ConversionKind
.NarrowingString, ClassifyConversion(literal, charType, methodBodyBinder))
1022
Assert.Equal(
ConversionKind
.NarrowingString, ClassifyConversion(constant, charType, methodBodyBinder))
1041
constant = New BoundConversion(dummyTree.GetVisualBasicRoot(Nothing), New BoundLiteral(dummyTree.GetVisualBasicRoot(Nothing), ConstantValue.Null, Nothing),
ConversionKind
.Widening, True, True, charValue, charType, Nothing)
1043
Assert.Equal(
ConversionKind
.WideningString, ClassifyConversion(literal, stringType, methodBodyBinder))
1044
Assert.Equal(
ConversionKind
.WideningString, ClassifyConversion(constant, stringType, methodBodyBinder))
1187
ConversionKind
.Widening, True, True, v, mv.Type, Nothing)
1226
Assert.Equal(
ConversionKind
.NarrowingNumeric Or
ConversionKind
.InvolvesNarrowingFromNumericConstant, conv)
1228
Assert.Equal(
ConversionKind
.NarrowingNumeric Or
ConversionKind
.InvolvesEnumTypeConversions, conv)
1230
Assert.Equal(
ConversionKind
.WideningNumeric Or
ConversionKind
.InvolvesNarrowingFromNumericConstant, conv)
1235
Assert.Equal(
ConversionKind
.WideningNumeric Or
ConversionKind
.InvolvesEnumTypeConversions, conv)
1237
Assert.Equal(
ConversionKind
.WideningNumeric, conv)
1268
Assert.Equal(
ConversionKind
.FailedDueToNumericOverflow, conv)
1297
Assert.Equal(
ConversionKind
.FailedDueToNumericOverflow, conv)
1302
Assert.Equal(
ConversionKind
.NarrowingNumeric Or
ConversionKind
.InvolvesEnumTypeConversions, conv)
1304
Assert.Equal(
ConversionKind
.NarrowingNumeric Or
ConversionKind
.InvolvesNarrowingFromNumericConstant, conv)
1317
ConversionKind
.Widening, True, True, ConstantValue.Default(mv.Type.GetConstantValueTypeDiscriminator()), mv.Type, Nothing)
1321
If (conv And
ConversionKind
.FailedDueToNumericOverflowMask) = 0 Then
1323
(ClassifyConversion(zero, nullableType2, methodBodyBinder) And
ConversionKind
.InvolvesNarrowingFromNumericConstant)
1497
Assert.Equal(
ConversionKind
.NarrowingNumeric Or
ConversionKind
.InvolvesEnumTypeConversions, ClassifyPredefinedAssignment(m2p(a), m2p(c))) 'error BC30512: Option Strict On disallows implicit conversions from 'Enum2' to 'Enum1'.
1498
Assert.Equal(
ConversionKind
.NarrowingNumeric Or
ConversionKind
.InvolvesEnumTypeConversions, ClassifyPredefinedAssignment(m2p(a), m2p(d))) 'error BC30512: Option Strict On disallows implicit conversions from 'Enum3' to 'Enum1'.
1499
Assert.Equal(
ConversionKind
.NarrowingNumeric Or
ConversionKind
.InvolvesEnumTypeConversions, ClassifyPredefinedAssignment(m2p(a), m2p(e))) 'error BC30512: Option Strict On disallows implicit conversions from 'Integer' to 'Enum1'.
1500
Assert.Equal(
ConversionKind
.NarrowingNumeric Or
ConversionKind
.InvolvesEnumTypeConversions, ClassifyPredefinedAssignment(m2p(a), m2p(f))) 'error BC30512: Option Strict On disallows implicit conversions from 'Long' to 'Enum1'.
1501
Assert.Equal(
ConversionKind
.NarrowingNumeric Or
ConversionKind
.InvolvesEnumTypeConversions, ClassifyPredefinedAssignment(m2p(a), m2p(g))) 'error BC30512: Option Strict On disallows implicit conversions from 'Short' to 'Enum1'.
1502
Assert.Equal(
ConversionKind
.NarrowingNumeric Or
ConversionKind
.InvolvesEnumTypeConversions, ClassifyPredefinedAssignment(m2p(a), m2p(h))) 'error BC30512: Option Strict On disallows implicit conversions from 'Enum4' to 'Enum1'.
1503
Assert.Equal(
ConversionKind
.WideningNumeric Or
ConversionKind
.InvolvesEnumTypeConversions, ClassifyPredefinedAssignment(m2p(e), m2p(a)))
1504
Assert.Equal(
ConversionKind
.NarrowingNumeric Or
ConversionKind
.InvolvesEnumTypeConversions, ClassifyPredefinedAssignment(m2p(e), m2p(c))) 'error BC30512: Option Strict On disallows implicit conversions from 'Enum2' to 'Integer'.
1505
Assert.Equal(
ConversionKind
.WideningNumeric Or
ConversionKind
.InvolvesEnumTypeConversions, ClassifyPredefinedAssignment(m2p(e), m2p(d)))
1506
Assert.Equal(
ConversionKind
.WideningNumeric Or
ConversionKind
.InvolvesEnumTypeConversions, ClassifyPredefinedAssignment(m2p(f), m2p(a)))
1507
Assert.Equal(
ConversionKind
.WideningNumeric Or
ConversionKind
.InvolvesEnumTypeConversions, ClassifyPredefinedAssignment(m2p(f), m2p(c)))
1508
Assert.Equal(
ConversionKind
.WideningNumeric Or
ConversionKind
.InvolvesEnumTypeConversions, ClassifyPredefinedAssignment(m2p(f), m2p(d)))
1509
Assert.Equal(
ConversionKind
.NarrowingNumeric Or
ConversionKind
.InvolvesEnumTypeConversions, ClassifyPredefinedAssignment(m2p(g), m2p(a))) 'error BC30512: Option Strict On disallows implicit conversions from 'Enum1' to 'Short'.
1510
Assert.Equal(
ConversionKind
.NarrowingNumeric Or
ConversionKind
.InvolvesEnumTypeConversions, ClassifyPredefinedAssignment(m2p(g), m2p(c))) 'error BC30512: Option Strict On disallows implicit conversions from 'Enum2' to 'Short'.
1511
Assert.Equal(
ConversionKind
.WideningNumeric Or
ConversionKind
.InvolvesEnumTypeConversions, ClassifyPredefinedAssignment(m2p(g), m2p(d)))
1518
Assert.Equal(
ConversionKind
.WideningReference, ClassifyPredefinedAssignment(m3p(a), m3p(d)))
1520
Assert.Equal(
ConversionKind
.WideningReference, ClassifyPredefinedAssignment(m3p(b), m3p(c)))
1521
Assert.Equal(
ConversionKind
.WideningReference, ClassifyPredefinedAssignment(m3p(b), m3p(d)))
1522
Assert.Equal(
ConversionKind
.WideningReference, ClassifyPredefinedAssignment(m3p(c), m3p(d)))
1523
Assert.Equal(
ConversionKind
.NarrowingReference, ClassifyPredefinedAssignment(m3p(d), m3p(a))) 'error BC30512: Option Strict On disallows implicit conversions from 'Object' to 'Class10'.
1524
Assert.Equal(
ConversionKind
.NarrowingReference, ClassifyPredefinedAssignment(m3p(c), m3p(b))) 'error BC30512: Option Strict On disallows implicit conversions from 'Class8' to 'Class9'.
1525
Assert.Equal(
ConversionKind
.NarrowingReference, ClassifyPredefinedAssignment(m3p(d), m3p(b))) 'error BC30512: Option Strict On disallows implicit conversions from 'Class8' to 'Class10'.
1526
Assert.Equal(
ConversionKind
.NarrowingReference, ClassifyPredefinedAssignment(m3p(d), m3p(c))) 'error BC30512: Option Strict On disallows implicit conversions from 'Class9' to 'Class10'.
1529
Assert.Equal(
ConversionKind
.WideningReference, ClassifyPredefinedAssignment(m3p(a), m3p(g)))
1530
Assert.Equal(
ConversionKind
.WideningReference, ClassifyPredefinedAssignment(m3p(f), m3p(g)))
1531
Assert.Equal(
ConversionKind
.WideningReference, ClassifyPredefinedAssignment(m3p(a), m3p(h)))
1532
Assert.Equal(
ConversionKind
.WideningReference, ClassifyPredefinedAssignment(m3p(f), m3p(h)))
1533
Assert.Equal(
ConversionKind
.NarrowingReference, ClassifyPredefinedAssignment(m3p(g), m3p(a))) 'error BC30512: Option Strict On disallows implicit conversions from 'Object' to '1-dimensional array of Integer'.
1534
Assert.Equal(
ConversionKind
.NarrowingReference, ClassifyPredefinedAssignment(m3p(g), m3p(f))) 'error BC30512: Option Strict On disallows implicit conversions from 'System.Array' to '1-dimensional array of Integer'.
1535
Assert.Equal(
ConversionKind
.NarrowingReference, ClassifyPredefinedAssignment(m3p(h), m3p(a))) 'error BC30512: Option Strict On disallows implicit conversions from 'Object' to '2-dimensional array of Integer'.
1536
Assert.Equal(
ConversionKind
.NarrowingReference, ClassifyPredefinedAssignment(m3p(h), m3p(f))) 'error BC30512: Option Strict On disallows implicit conversions from 'System.Array' to '2-dimensional array of Integer'.
1537
Assert.Equal(
ConversionKind
.WideningReference, ClassifyPredefinedAssignment(m3p(i), m3p(d)))
1538
Assert.Equal(
ConversionKind
.WideningReference, ClassifyPredefinedAssignment(m3p(j), m3p(d)))
1539
Assert.Equal(
ConversionKind
.WideningReference, ClassifyPredefinedAssignment(m3p(k), m3p(d)))
1540
Assert.Equal(
ConversionKind
.WideningReference, ClassifyPredefinedAssignment(m3p(l), m3p(c)))
1541
Assert.Equal(
ConversionKind
.WideningReference, ClassifyPredefinedAssignment(m3p(l), m3p(d)))
1542
Assert.Equal(
ConversionKind
.WideningReference, ClassifyPredefinedAssignment(m3p(m), m3p(b)))
1543
Assert.Equal(
ConversionKind
.WideningReference, ClassifyPredefinedAssignment(m3p(m), m3p(c)))
1544
Assert.Equal(
ConversionKind
.WideningReference, ClassifyPredefinedAssignment(m3p(m), m3p(d)))
1545
Assert.Equal(
ConversionKind
.WideningReference, ClassifyPredefinedAssignment(m3p(n), m3p(d)))
1546
Assert.Equal(
ConversionKind
.WideningReference, ClassifyPredefinedAssignment(m3p(p), m3p(g)))
1547
Assert.Equal(
ConversionKind
.WideningReference, ClassifyPredefinedAssignment(m3p(p), m3p(h)))
1548
Assert.Equal(
ConversionKind
.WideningReference, ClassifyPredefinedAssignment(m3p(q), m3p(g)))
1549
Assert.Equal(
ConversionKind
.WideningReference, ClassifyPredefinedAssignment(m3p(r), m3p(g)))
1550
Assert.Equal(
ConversionKind
.WideningReference, ClassifyPredefinedAssignment(m3p(s), m3p(g)))
1551
Assert.Equal(
ConversionKind
.WideningReference, ClassifyPredefinedAssignment(m3p(v), m3p(u)))
1553
Assert.Equal(
ConversionKind
.WideningReference, ClassifyPredefinedAssignment(m3p(i), m3p(j)))
1554
Assert.Equal(
ConversionKind
.WideningReference, ClassifyPredefinedAssignment(m3p(i), m3p(k)))
1555
Assert.Equal(
ConversionKind
.WideningReference, ClassifyPredefinedAssignment(m3p(i), m3p(o)))
1556
Assert.Equal(
ConversionKind
.WideningReference, ClassifyPredefinedAssignment(m3p(n), m3p(o)))
1557
Assert.Equal(
ConversionKind
.NarrowingReference, ClassifyPredefinedAssignment(m3p(i), m3p(b))) 'error BC30512: Option Strict On disallows implicit conversions from 'Class8' to 'Interface1'.
1558
Assert.Equal(
ConversionKind
.NarrowingReference, ClassifyPredefinedAssignment(m3p(i), m3p(c))) 'error BC30512: Option Strict On disallows implicit conversions from 'Class9' to 'Interface1'.
1559
Assert.Equal(
ConversionKind
.NarrowingReference, ClassifyPredefinedAssignment(m3p(i), m3p(e))) 'error BC30512: Option Strict On disallows implicit conversions from 'Class11' to 'Interface1'.
1560
Assert.Equal(
ConversionKind
.NarrowingReference, ClassifyPredefinedAssignment(m3p(j), m3p(b))) 'error BC30512: Option Strict On disallows implicit conversions from 'Class8' to 'Interface2'.
1561
Assert.Equal(
ConversionKind
.NarrowingReference, ClassifyPredefinedAssignment(m3p(j), m3p(c))) 'error BC30512: Option Strict On disallows implicit conversions from 'Class9' to 'Interface2'.
1562
Assert.Equal(
ConversionKind
.NarrowingReference, ClassifyPredefinedAssignment(m3p(k), m3p(b))) 'error BC30512: Option Strict On disallows implicit conversions from 'Class8' to 'Interface3'.
1563
Assert.Equal(
ConversionKind
.NarrowingReference, ClassifyPredefinedAssignment(m3p(k), m3p(c))) 'error BC30512: Option Strict On disallows implicit conversions from 'Class9' to 'Interface3'.
1564
Assert.Equal(
ConversionKind
.NarrowingReference, ClassifyPredefinedAssignment(m3p(l), m3p(b))) 'error BC30512: Option Strict On disallows implicit conversions from 'Class8' to 'Interface4'.
1565
Assert.Equal(
ConversionKind
.NarrowingReference, ClassifyPredefinedAssignment(m3p(n), m3p(b))) 'error BC30512: Option Strict On disallows implicit conversions from 'Class8' to 'Interface6'.
1566
Assert.Equal(
ConversionKind
.NarrowingReference, ClassifyPredefinedAssignment(m3p(n), m3p(c))) 'error BC30512: Option Strict On disallows implicit conversions from 'Class9' to 'Interface6'.
1567
Assert.Equal(
ConversionKind
.NarrowingReference, ClassifyPredefinedAssignment(m3p(o), m3p(b))) 'error BC30512: Option Strict On disallows implicit conversions from 'Class8' to 'Interface7'.
1568
Assert.Equal(
ConversionKind
.NarrowingReference, ClassifyPredefinedAssignment(m3p(o), m3p(c))) 'error BC30512: Option Strict On disallows implicit conversions from 'Class9' to 'Interface7'.
1569
Assert.Equal(
ConversionKind
.NarrowingReference, ClassifyPredefinedAssignment(m3p(o), m3p(d))) 'error BC30512: Option Strict On disallows implicit conversions from 'Class10' to 'Interface7'.
1573
Assert.Equal(
ConversionKind
.NarrowingReference, ClassifyPredefinedAssignment(m3p(t), m3p(g))) 'error BC30512: Option Strict On disallows implicit conversions from '1-dimensional array of Integer' to 'System.Collections.Generic.IList(Of Long)'.
1574
Assert.Equal(
ConversionKind
.NarrowingReference, ClassifyPredefinedAssignment(m3p(w), m3p(u))) 'error BC30512: Option Strict On disallows implicit conversions from '1-dimensional array of Class9' to 'System.Collections.Generic.IList(Of Class11)'.
1575
Assert.Equal(
ConversionKind
.NarrowingReference, ClassifyPredefinedAssignment(m3p(i), m3p(l))) 'error BC30512: Option Strict On disallows implicit conversions from 'Interface4' to 'Interface1'.
1576
Assert.Equal(
ConversionKind
.NarrowingReference Or
ConversionKind
.DelegateRelaxationLevelNarrowing, ClassifyPredefinedAssignment(m3p(o), m3p(x))) 'error BC30512: Option Strict On disallows implicit conversions from 'System.Action' to 'Interface7'.
1577
Assert.Equal(
ConversionKind
.WideningReference, ClassifyPredefinedAssignment(m3p(a), m3p(o)))
1578
Assert.Equal(
ConversionKind
.NarrowingReference, ClassifyPredefinedAssignment(m3p(x), m3p(o))) 'error BC30512: Option Strict On disallows implicit conversions from 'Interface7' to 'System.Action'.
1579
Assert.Equal(
ConversionKind
.NarrowingReference, ClassifyPredefinedAssignment(m3p(e), m3p(o))) 'error BC30512: Option Strict On disallows implicit conversions from 'Interface7' to 'Class11'.
1583
Assert.Equal(
ConversionKind
.NarrowingReference, ClassifyPredefinedAssignment(m3p(g), m3p(p))) 'error BC30512: Option Strict On disallows implicit conversions from 'System.Collections.IEnumerable' to '1-dimensional array of Integer'.
1584
Assert.Equal(
ConversionKind
.NarrowingReference, ClassifyPredefinedAssignment(m3p(h), m3p(p))) 'error BC30512: Option Strict On disallows implicit conversions from 'System.Collections.IEnumerable' to '2-dimensional array of Integer'.
1585
Assert.Equal(
ConversionKind
.NarrowingReference, ClassifyPredefinedAssignment(m3p(g), m3p(q))) 'error BC30512: Option Strict On disallows implicit conversions from 'System.Collections.Generic.IList(Of Integer)' to '1-dimensional array of Integer'.
1587
Assert.Equal(
ConversionKind
.NarrowingReference, ClassifyPredefinedAssignment(m3p(g), m3p(t))) 'error BC30512: Option Strict On disallows implicit conversions from 'System.Collections.Generic.IList(Of Long)' to '1-dimensional array of Integer'.
1589
Assert.Equal(
ConversionKind
.NarrowingReference, ClassifyPredefinedAssignment(m3p(g), m3p(w))) 'error BC30512: Option Strict On disallows implicit conversions from 'System.Collections.Generic.IList(Of Class11)' to '1-dimensional array of Integer'.
1594
Assert.Equal(
ConversionKind
.WideningReference, ClassifyPredefinedAssignment([object], module2))
1595
Assert.Equal(
ConversionKind
.NarrowingReference, ClassifyPredefinedAssignment(module2, [object]))
1596
Assert.Equal(
ConversionKind
.NarrowingReference, ClassifyPredefinedAssignment(m3p(i), module2))
1597
Assert.Equal(
ConversionKind
.NarrowingReference, ClassifyPredefinedAssignment(module2, m3p(i)))
1604
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyPredefinedAssignment(m6p(a), m6p(b)))
1605
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyPredefinedAssignment(m6p(a), m6p(c)))
1606
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyPredefinedAssignment(m6p(a), m6p(d)))
1607
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m6p(b), m6p(a))) 'error BC30512: Option Strict On disallows implicit conversions from 'Object' to 'MT1'.
1608
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m6p(c), m6p(a))) 'error BC30512: Option Strict On disallows implicit conversions from 'Object' to 'MT2'.
1609
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m6p(d), m6p(a))) 'error BC30512: Option Strict On disallows implicit conversions from 'Object' to 'MT3'.
1610
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyPredefinedAssignment(m6p(e), m6p(f)))
1611
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyPredefinedAssignment(m6p(e), m6p(h)))
1612
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m6p(f), m6p(e))) 'error BC30512: Option Strict On disallows implicit conversions from 'Interface3' to 'MT4'.
1613
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m6p(h), m6p(e))) 'error BC30512: Option Strict On disallows implicit conversions from 'Interface3' to 'MT6'.
1618
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyPredefinedAssignment(m6p(e), m6p(k)))
1619
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyPredefinedAssignment(m6p(j), m6p(k)))
1620
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyPredefinedAssignment(m6p(j), m6p(f)))
1621
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m6p(k), m6p(e))) 'error BC30512: Option Strict On disallows implicit conversions from 'Interface3' to 'MT8'.
1622
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m6p(k), m6p(j))) 'error BC30512: Option Strict On disallows implicit conversions from 'Interface1' to 'MT8'.
1623
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m6p(f), m6p(j))) 'error BC30512: Option Strict On disallows implicit conversions from 'Interface1' to 'MT4'.
1624
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyPredefinedAssignment(m6p(l), m6p(k)))
1625
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyPredefinedAssignment(m6p(m), m6p(k)))
1626
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyPredefinedAssignment(m6p(p), m6p(c)))
1627
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m6p(k), m6p(l))) 'error BC30512: Option Strict On disallows implicit conversions from 'Class10' to 'MT8'.
1628
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m6p(k), m6p(m))) 'error BC30512: Option Strict On disallows implicit conversions from 'Class8' to 'MT8'.
1629
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m6p(c), m6p(p))) 'error BC30512: Option Strict On disallows implicit conversions from 'System.ValueType' to 'MT2'.
1634
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyPredefinedAssignment(m6p(b), m6p(q)))
1635
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyPredefinedAssignment(m6p(b), m6p(r)))
1636
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyPredefinedAssignment(m6p(t), m6p(s)))
1637
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyPredefinedAssignment(m6p(m), m6p(s)))
1638
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m6p(q), m6p(b))) 'error BC30512: Option Strict On disallows implicit conversions from 'MT1' to 'MT10'.
1639
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m6p(r), m6p(b))) 'error BC30512: Option Strict On disallows implicit conversions from 'MT1' to 'MT11'.
1640
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m6p(s), m6p(t))) 'error BC30512: Option Strict On disallows implicit conversions from 'Class9' to 'MT13'.
1641
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m6p(s), m6p(m))) 'error BC30512: Option Strict On disallows implicit conversions from 'Class8' to 'MT13'.
1644
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m6p(u), m6p(k))) 'error BC30512: Option Strict On disallows implicit conversions from 'MT8' to 'Interface7'.
1645
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m6p(k), m6p(u))) 'error BC30512: Option Strict On disallows implicit conversions from 'Interface7' to 'MT8'.
1646
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m6p(u), m6p(f))) 'error BC30512: Option Strict On disallows implicit conversions from 'MT4' to 'Interface7'.
1647
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m6p(f), m6p(u))) 'error BC30512: Option Strict On disallows implicit conversions from 'Interface7' to 'MT4'.
1648
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m6p(u), m6p(b))) 'error BC30512: Option Strict On disallows implicit conversions from 'MT1' to 'Interface7'.
1649
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m6p(b), m6p(u))) 'error BC30512: Option Strict On disallows implicit conversions from 'Interface7' to 'MT1'.
1650
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m6p(u), m6p(c))) 'error BC30512: Option Strict On disallows implicit conversions from 'MT2' to 'Interface7'.
1651
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m6p(c), m6p(u))) 'error BC30512: Option Strict On disallows implicit conversions from 'Interface7' to 'MT2'.
1659
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyPredefinedAssignment(m7p(p), m7p(a)))
1660
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyPredefinedAssignment(m7p(p), m7p(b)))
1661
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyPredefinedAssignment(m7p(q), m7p(c)))
1662
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyPredefinedAssignment(m7p(q), m7p(d)))
1663
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyPredefinedAssignment(m7p(r), m7p(d)))
1664
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyPredefinedAssignment(m7p(t), m7p(g)))
1665
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyPredefinedAssignment(m7p(v), m7p(j)))
1666
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyPredefinedAssignment(m7p(v), m7p(k)))
1667
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyPredefinedAssignment(m7p(w), m7p(n)))
1668
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyPredefinedAssignment(m7p(x), m7p(i)))
1669
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyPredefinedAssignment(m7p(y), m7p(j)))
1670
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyPredefinedAssignment(m7p(y), m7p(k)))
1671
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m7p(a), m7p(p))) 'error BC30512: Option Strict On disallows implicit conversions from 'Object' to 'MT1'.
1672
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m7p(b), m7p(p))) 'error BC30512: Option Strict On disallows implicit conversions from 'Object' to 'MT2'.
1673
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m7p(c), m7p(q))) 'error BC30512: Option Strict On disallows implicit conversions from 'System.Enum' to 'MT3'.
1674
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m7p(d), m7p(q))) 'error BC30512: Option Strict On disallows implicit conversions from 'System.Enum' to 'MT4'.
1675
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m7p(d), m7p(r))) 'error BC30512: Option Strict On disallows implicit conversions from 'Enum1' to 'MT4'.
1676
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m7p(g), m7p(t))) 'error BC30512: Option Strict On disallows implicit conversions from '1-dimensional array of Integer' to 'MT7'.
1677
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m7p(j), m7p(v))) 'error BC30512: Option Strict On disallows implicit conversions from '1-dimensional array of Class9' to 'MT10'.
1678
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m7p(k), m7p(v))) 'error BC30512: Option Strict On disallows implicit conversions from '1-dimensional array of Class9' to 'MT11'.
1679
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m7p(n), m7p(w))) 'error BC30512: Option Strict On disallows implicit conversions from 'Structure1' to 'MT14'.
1680
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m7p(i), m7p(x))) 'error BC30512: Option Strict On disallows implicit conversions from 'System.Collections.IEnumerable' to 'MT9'.
1681
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m7p(y), m7p(i))) 'error BC30512: Option Strict On disallows implicit conversions from 'MT9' to 'System.Collections.Generic.IList(Of Class9)'.
1682
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m7p(i), m7p(y))) 'error BC30512: Option Strict On disallows implicit conversions from 'System.Collections.Generic.IList(Of Class9)' to 'MT9'.
1683
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m7p(j), m7p(y))) 'error BC30512: Option Strict On disallows implicit conversions from 'System.Collections.Generic.IList(Of Class9)' to 'MT10'
1684
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m7p(k), m7p(y))) 'error BC30512: Option Strict On disallows implicit conversions from 'System.Collections.Generic.IList(Of Class9)' to 'MT11'
1685
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m7p(y), m7p(z))) 'error BC30512: Option Strict On disallows implicit conversions from 'MT15' to 'System.Collections.Generic.IList(Of Class9)'
1686
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m7p(z), m7p(y))) 'error BC30512: Option Strict On disallows implicit conversions from 'System.Collections.Generic.IList(Of Class9)' to 'MT15'
1687
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m7p(n), m7p(o))) 'error BC30512: Option Strict On disallows implicit conversions from 'Interface1' to 'MT14'.
1688
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m7p(o), m7p(n))) 'error BC30512: Option Strict On disallows implicit conversions from 'MT14' to 'Interface1'.
1689
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m7p(m), m7p(o))) 'error BC30512: Option Strict On disallows implicit conversions from 'Interface1' to 'MT13'.
1690
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m7p(o), m7p(m))) 'error BC30512: Option Strict On disallows implicit conversions from 'MT13' to 'Interface1'.
1691
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m7p(d), m7p(o))) 'error BC30512: Option Strict On disallows implicit conversions from 'Interface1' to 'MT4'.
1692
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m7p(o), m7p(d))) 'error BC30512: Option Strict On disallows implicit conversions from 'MT4' to 'Interface1'.
1722
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyPredefinedAssignment(m8p(a), m8p(d)))
1723
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyPredefinedAssignment(m8p(b), m8p(f)))
1724
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyPredefinedAssignment(m8p(a), m8p(c)))
1725
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyPredefinedAssignment(m8p(b), m8p(e)))
1726
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyPredefinedAssignment(m8p(g), m8p(h)))
1727
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m8p(c), m8p(a))) 'error BC30512: Option Strict On disallows implicit conversions from 'MT1' to 'MT3'.
1728
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m8p(d), m8p(a))) 'error BC30512: Option Strict On disallows implicit conversions from 'MT1' to 'MT4'.
1729
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m8p(e), m8p(b))) 'error BC30512: Option Strict On disallows implicit conversions from 'MT2' to 'MT5'.
1730
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m8p(f), m8p(b))) 'error BC30512: Option Strict On disallows implicit conversions from 'MT2' to 'MT6'.
1731
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m8p(h), m8p(g))) 'error BC30512: Option Strict On disallows implicit conversions from 'MT7' to 'MT8'.
1742
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyPredefinedAssignment(m9p(a), m9p(b)))
1743
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyPredefinedAssignment(m9p(j), m9p(a)))
1744
Assert.Equal(
ConversionKind
.WideningTypeParameter Or
ConversionKind
.InvolvesEnumTypeConversions, ClassifyPredefinedAssignment(m9p(j), m9p(e)))
1745
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyPredefinedAssignment(m9p(l), m9p(e)))
1746
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyPredefinedAssignment(m9p(m), m9p(n)))
1747
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyPredefinedAssignment(m9p(p), m9p(q)))
1748
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyPredefinedAssignment(m9p(s), m9p(u)))
1749
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyPredefinedAssignment(m9p(t), m9p(u)))
1750
Assert.Equal(
ConversionKind
.WideningTypeParameter, ClassifyPredefinedAssignment(m9p(s), m9p(v)))
1751
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m9p(b), m9p(a))) 'error BC30512: Option Strict On disallows implicit conversions from 'MT1' to 'MT2'.
1752
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m9p(a), m9p(j))) 'error BC30512: Option Strict On disallows implicit conversions from 'Integer' to 'MT1'.
1753
Assert.Equal(
ConversionKind
.NarrowingTypeParameter Or
ConversionKind
.InvolvesEnumTypeConversions, ClassifyPredefinedAssignment(m9p(e), m9p(j))) 'error BC30512: Option Strict On disallows implicit conversions from 'Integer' to 'MT5'.
1754
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m9p(e), m9p(l))) 'error BC30512: Option Strict On disallows implicit conversions from 'Enum1' to 'MT5'.
1755
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m9p(n), m9p(m))) 'error BC30512: Option Strict On disallows implicit conversions from 'Structure1' to 'MT10'.
1756
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m9p(q), m9p(p))) 'error BC30512: Option Strict On disallows implicit conversions from 'Class1' to 'MT12'.
1757
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m9p(u), m9p(s))) 'error BC30512: Option Strict On disallows implicit conversions from 'System.ValueType' to 'MT15'.
1758
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m9p(u), m9p(t))) 'error BC30512: Option Strict On disallows implicit conversions from 'MT14' to 'MT15'.
1759
Assert.Equal(
ConversionKind
.NarrowingTypeParameter, ClassifyPredefinedAssignment(m9p(v), m9p(s))) 'error BC30512: Option Strict On disallows implicit conversions from 'System.ValueType' to 'MT16'.
1797
Assert.Equal(
ConversionKind
.WideningArray, ClassifyPredefinedAssignment(m4p(a), m4p(d)))
1798
Assert.Equal(
ConversionKind
.WideningArray, ClassifyPredefinedAssignment(m4p(b), m4p(f)))
1799
Assert.Equal(
ConversionKind
.WideningArray, ClassifyPredefinedAssignment(m4p(i), m4p(j)))
1800
Assert.Equal(
ConversionKind
.WideningArray, ClassifyPredefinedAssignment(m4p(i), m4p(k)))
1801
Assert.Equal(
ConversionKind
.WideningArray, ClassifyPredefinedAssignment(m4p(l), m4p(m)))
1802
Assert.Equal(
ConversionKind
.WideningArray, ClassifyPredefinedAssignment(m4p(n), m4p(o)))
1803
Assert.Equal(
ConversionKind
.WideningArray, ClassifyPredefinedAssignment(m4p(p), m4p(i)))
1804
Assert.Equal(
ConversionKind
.WideningArray, ClassifyPredefinedAssignment(m4p(x), m4p(i)))
1805
Assert.Equal(
ConversionKind
.WideningArray, ClassifyPredefinedAssignment(m4p(x), m4p(w)))
1806
Assert.Equal(
ConversionKind
.NarrowingArray, ClassifyPredefinedAssignment(m4p(a), m4p(c))) 'error BC30512: Option Strict On disallows implicit conversions from '1-dimensional array of MT3' to '1-dimensional array of MT1'.
1807
Assert.Equal(
ConversionKind
.NarrowingArray, ClassifyPredefinedAssignment(m4p(c), m4p(a))) 'error BC30512: Option Strict On disallows implicit conversions from '1-dimensional array of MT1' to '1-dimensional array of MT3'.
1808
Assert.Equal(
ConversionKind
.NarrowingArray, ClassifyPredefinedAssignment(m4p(d), m4p(a))) 'error BC30512: Option Strict On disallows implicit conversions from '1-dimensional array of MT1' to '1-dimensional array of MT4'.
1809
Assert.Equal(
ConversionKind
.NarrowingArray, ClassifyPredefinedAssignment(m4p(b), m4p(e))) 'error BC30512: Option Strict On disallows implicit conversions from '1-dimensional array of MT5' to '1-dimensional array of MT2'.
1810
Assert.Equal(
ConversionKind
.NarrowingArray, ClassifyPredefinedAssignment(m4p(e), m4p(b))) 'error BC30512: Option Strict On disallows implicit conversions from '1-dimensional array of MT2' to '1-dimensional array of MT5'.
1811
Assert.Equal(
ConversionKind
.NarrowingArray, ClassifyPredefinedAssignment(m4p(f), m4p(b))) 'error BC30512: Option Strict On disallows implicit conversions from '1-dimensional array of MT2' to '1-dimensional array of MT6'.
1812
Assert.Equal(
ConversionKind
.NarrowingArray, ClassifyPredefinedAssignment(m4p(g), m4p(h))) 'error BC30512: Option Strict On disallows implicit conversions from '1-dimensional array of MT8' to '1-dimensional array of MT7'.
1813
Assert.Equal(
ConversionKind
.NarrowingArray, ClassifyPredefinedAssignment(m4p(h), m4p(g))) 'error BC30512: Option Strict On disallows implicit conversions from '1-dimensional array of MT7' to '1-dimensional array of MT8'.
1814
Assert.Equal(
ConversionKind
.NarrowingArray, ClassifyPredefinedAssignment(m4p(j), m4p(i))) 'error BC30512: Option Strict On disallows implicit conversions from '1-dimensional array of Class8' to '1-dimensional array of Class9'.
1815
Assert.Equal(
ConversionKind
.NarrowingArray, ClassifyPredefinedAssignment(m4p(k), m4p(i))) 'error BC30512: Option Strict On disallows implicit conversions from '1-dimensional array of Class8' to '1-dimensional array of Class11'.
1816
Assert.Equal(
ConversionKind
.NarrowingArray, ClassifyPredefinedAssignment(m4p(m), m4p(l))) 'error BC30512: Option Strict On disallows implicit conversions from '2-dimensional array of Class8' to '2-dimensional array of Class9'.
1817
Assert.Equal(
ConversionKind
.NarrowingArray, ClassifyPredefinedAssignment(m4p(o), m4p(n))) 'error BC30512: Option Strict On disallows implicit conversions from '1-dimensional array of 1-dimensional array of Class8' to '1-dimensional array of 1-dimensional array of Class9'.
1818
Assert.Equal(
ConversionKind
.NarrowingArray, ClassifyPredefinedAssignment(m4p(i), m4p(p))) 'error BC30512: Option Strict On disallows implicit conversions from '1-dimensional array of Interface5' to '1-dimensional array of Class8'.
1819
Assert.Equal(
ConversionKind
.NarrowingArray, ClassifyPredefinedAssignment(m4p(i), m4p(x))) 'error BC30512: Option Strict On disallows implicit conversions from '1-dimensional array of Object' to '1-dimensional array of Class8'.
1820
Assert.Equal(
ConversionKind
.NarrowingArray, ClassifyPredefinedAssignment(m4p(w), m4p(x))) 'error BC30512: Option Strict On disallows implicit conversions from '1-dimensional array of Object' to '1-dimensional array of System.ValueType'.
1836
Assert.Equal(
ConversionKind
.WideningArray Or
ConversionKind
.InvolvesEnumTypeConversions, ClassifyPredefinedAssignment(m4p(r), m4p(t)))
1837
Assert.Equal(
ConversionKind
.WideningArray Or
ConversionKind
.InvolvesEnumTypeConversions, ClassifyPredefinedAssignment(m4p(s), m4p(u)))
1838
Assert.Equal(
ConversionKind
.NarrowingArray Or
ConversionKind
.InvolvesEnumTypeConversions, ClassifyPredefinedAssignment(m4p(t), m4p(r))) 'error BC30512: Option Strict On disallows implicit conversions from '1-dimensional array of Integer' to '1-dimensional array of Enum1'.
1839
Assert.Equal(
ConversionKind
.NarrowingArray Or
ConversionKind
.InvolvesEnumTypeConversions, ClassifyPredefinedAssignment(m4p(u), m4p(s))) 'error BC30512: Option Strict On disallows implicit conversions from '1-dimensional array of Long' to '1-dimensional array of Enum2'.
1840
Assert.Equal(
ConversionKind
.NarrowingArray Or
ConversionKind
.InvolvesEnumTypeConversions, ClassifyPredefinedAssignment(m4p(t), m4p(v))) 'error BC30512: Option Strict On disallows implicit conversions from '1-dimensional array of Enum4' to '1-dimensional array of Enum1'.
1841
Assert.Equal(
ConversionKind
.NarrowingArray Or
ConversionKind
.InvolvesEnumTypeConversions, ClassifyPredefinedAssignment(m4p(v), m4p(t))) 'error BC30512: Option Strict On disallows implicit conversions from '1-dimensional array of Enum1' to '1-dimensional array of Enum4'.
1852
Assert.Equal(
ConversionKind
.WideningArray, ClassifyPredefinedAssignment(m5p(a), m5p(b)))
1853
Assert.Equal(
ConversionKind
.NarrowingArray, ClassifyPredefinedAssignment(m5p(b), m5p(a))) ' error BC30512: Option Strict On disallows implicit conversions from '1-dimensional array of MT1' to '1-dimensional array of MT2'.
1855
Assert.Equal(
ConversionKind
.WideningArray, ClassifyPredefinedAssignment(m5p(j), m5p(a)))
1856
Assert.Equal(
ConversionKind
.WideningArray Or
ConversionKind
.InvolvesEnumTypeConversions, ClassifyPredefinedAssignment(m5p(j), m5p(e)))
1857
Assert.Equal(
ConversionKind
.WideningArray, ClassifyPredefinedAssignment(m5p(l), m5p(e)))
1858
Assert.Equal(
ConversionKind
.NarrowingArray Or
ConversionKind
.InvolvesEnumTypeConversions, ClassifyPredefinedAssignment(m5p(a), m5p(e))) 'error BC30512: Option Strict On disallows implicit conversions from '1-dimensional array of MT5' to '1-dimensional array of MT1'.
1859
Assert.Equal(
ConversionKind
.NarrowingArray Or
ConversionKind
.InvolvesEnumTypeConversions, ClassifyPredefinedAssignment(m5p(e), m5p(a))) 'error BC30512: Option Strict On disallows implicit conversions from '1-dimensional array of MT1' to '1-dimensional array of MT5'.
1860
Assert.Equal(
ConversionKind
.NarrowingArray Or
ConversionKind
.InvolvesEnumTypeConversions, ClassifyPredefinedAssignment(m5p(e), m5p(g))) 'error BC30512: Option Strict On disallows implicit conversions from '1-dimensional array of MT7' to '1-dimensional array of MT5'.
1861
Assert.Equal(
ConversionKind
.NarrowingArray Or
ConversionKind
.InvolvesEnumTypeConversions, ClassifyPredefinedAssignment(m5p(g), m5p(e))) 'error BC30512: Option Strict On disallows implicit conversions from '1-dimensional array of MT5' to '1-dimensional array of MT7'.
1862
Assert.Equal(
ConversionKind
.NarrowingArray, ClassifyPredefinedAssignment(m5p(a), m5p(j))) 'error BC30512: Option Strict On disallows implicit conversions from '1-dimensional array of Integer' to '1-dimensional array of MT1'.
1863
Assert.Equal(
ConversionKind
.NarrowingArray Or
ConversionKind
.InvolvesEnumTypeConversions, ClassifyPredefinedAssignment(m5p(a), m5p(l))) 'error BC30512: Option Strict On disallows implicit conversions from '1-dimensional array of Enum1' to '1-dimensional array of MT1'.
1864
Assert.Equal(
ConversionKind
.NarrowingArray Or
ConversionKind
.InvolvesEnumTypeConversions, ClassifyPredefinedAssignment(m5p(l), m5p(a))) 'error BC30512: Option Strict On disallows implicit conversions from '1-dimensional array of MT1' to '1-dimensional array of Enum1'.
1865
Assert.Equal(
ConversionKind
.NarrowingArray Or
ConversionKind
.InvolvesEnumTypeConversions, ClassifyPredefinedAssignment(m5p(e), m5p(j))) 'error BC30512: Option Strict On disallows implicit conversions from '1-dimensional array of Integer' to '1-dimensional array of MT5'.
1866
Assert.Equal(
ConversionKind
.NarrowingArray, ClassifyPredefinedAssignment(m5p(e), m5p(l))) 'error BC30512: Option Strict On disallows implicit conversions from '1-dimensional array of Enum1' to '1-dimensional array of MT5'.
1887
Assert.Equal(
ConversionKind
.WideningArray, ClassifyPredefinedAssignment(m5p(m), m5p(n)))
1888
Assert.Equal(
ConversionKind
.WideningArray, ClassifyPredefinedAssignment(m5p(p), m5p(q)))
1889
Assert.Equal(
ConversionKind
.NarrowingArray, ClassifyPredefinedAssignment(m5p(n), m5p(m))) 'error BC30512: Option Strict On disallows implicit conversions from '1-dimensional array of Structure1' to '1-dimensional array of MT10'.
1890
Assert.Equal(
ConversionKind
.NarrowingArray, ClassifyPredefinedAssignment(m5p(q), m5p(p))) 'error BC30512: Option Strict On disallows implicit conversions from '1-dimensional array of Class1' to '1-dimensional array of MT12'.
1891
Assert.Equal(
ConversionKind
.NarrowingArray, ClassifyPredefinedAssignment(m5p(s), m5p(u))) 'error BC30512: Option Strict On disallows implicit conversions from '1-dimensional array of MT15' to '1-dimensional array of System.ValueType'.
1892
Assert.Equal(
ConversionKind
.NarrowingArray, ClassifyPredefinedAssignment(m5p(u), m5p(s))) 'error BC30512: Option Strict On disallows implicit conversions from '1-dimensional array of System.ValueType' to '1-dimensional array of MT15'.
1893
Assert.Equal(
ConversionKind
.NarrowingArray, ClassifyPredefinedAssignment(m5p(t), m5p(u))) 'error BC30512: Option Strict On disallows implicit conversions from '1-dimensional array of MT15' to '1-dimensional array of MT14'.
1894
Assert.Equal(
ConversionKind
.NarrowingArray, ClassifyPredefinedAssignment(m5p(u), m5p(t))) 'error BC30512: Option Strict On disallows implicit conversions from '1-dimensional array of MT14' to '1-dimensional array of MT15'.
1895
Assert.Equal(
ConversionKind
.NarrowingArray, ClassifyPredefinedAssignment(m5p(s), m5p(v))) 'error BC30512: Option Strict On disallows implicit conversions from '1-dimensional array of MT16' to '1-dimensional array of System.ValueType'.
1896
Assert.Equal(
ConversionKind
.NarrowingArray, ClassifyPredefinedAssignment(m5p(v), m5p(s))) 'error BC30512: Option Strict On disallows implicit conversions from '1-dimensional array of System.ValueType' to '1-dimensional array of MT16'.
1918
Assert.Equal(
ConversionKind
.WideningValue, ClassifyPredefinedAssignment(m10p(a), m10p(f)))
1919
Assert.Equal(
ConversionKind
.WideningValue, ClassifyPredefinedAssignment(m10p(b), m10p(f)))
1920
Assert.Equal(
ConversionKind
.WideningValue, ClassifyPredefinedAssignment(m10p(a), m10p(h)))
1921
Assert.Equal(
ConversionKind
.WideningValue, ClassifyPredefinedAssignment(m10p(b), m10p(h)))
1922
Assert.Equal(
ConversionKind
.WideningValue, ClassifyPredefinedAssignment(m10p(c), m10p(h)))
1923
Assert.Equal(
ConversionKind
.WideningValue, ClassifyPredefinedAssignment(m10p(d), m10p(f)))
1924
Assert.Equal(
ConversionKind
.WideningValue, ClassifyPredefinedAssignment(m10p(i), m10p(f)))
1925
Assert.Equal(
ConversionKind
.NarrowingValue, ClassifyPredefinedAssignment(m10p(f), m10p(a))) 'error BC30512: Option Strict On disallows implicit conversions from 'Object' to 'Structure2'.
1926
Assert.Equal(
ConversionKind
.NarrowingValue, ClassifyPredefinedAssignment(m10p(f), m10p(b))) 'error BC30512: Option Strict On disallows implicit conversions from 'System.ValueType' to 'Structure2'.
1927
Assert.Equal(
ConversionKind
.NarrowingValue, ClassifyPredefinedAssignment(m10p(h), m10p(a))) 'error BC30512: Option Strict On disallows implicit conversions from 'Object' to 'Enum1'.
1928
Assert.Equal(
ConversionKind
.NarrowingValue, ClassifyPredefinedAssignment(m10p(h), m10p(b))) 'error BC30512: Option Strict On disallows implicit conversions from 'System.ValueType' to 'Enum1'.
1929
Assert.Equal(
ConversionKind
.NarrowingValue, ClassifyPredefinedAssignment(m10p(h), m10p(c))) 'error BC30512: Option Strict On disallows implicit conversions from 'System.Enum' to 'Enum1'.
1930
Assert.Equal(
ConversionKind
.NarrowingValue, ClassifyPredefinedAssignment(m10p(f), m10p(d))) 'error BC30512: Option Strict On disallows implicit conversions from 'Interface1' to 'Structure2'.
1931
Assert.Equal(
ConversionKind
.NarrowingValue, ClassifyPredefinedAssignment(m10p(f), m10p(i))) 'error BC30512: Option Strict On disallows implicit conversions from 'Interface3' to 'Structure2'.
1948
Assert.Equal(
ConversionKind
.WideningValue, ClassifyPredefinedAssignment(m11p(a), m11p(d)))
1949
Assert.Equal(
ConversionKind
.WideningValue, ClassifyPredefinedAssignment(m11p(b), m11p(d)))
1950
Assert.Equal(
ConversionKind
.WideningNullable, ClassifyPredefinedAssignment(m11p(d), m11p(c)))
1951
Assert.Equal(
ConversionKind
.WideningNullable, ClassifyPredefinedAssignment(m11p(e), m11p(d)))
1952
Assert.Equal(
ConversionKind
.WideningNullable, ClassifyPredefinedAssignment(m11p(f), m11p(d)))
1953
Assert.Equal(
ConversionKind
.WideningNullable, ClassifyPredefinedAssignment(m11p(i), m11p(h)))
1954
Assert.Equal(
ConversionKind
.WideningNullable, ClassifyPredefinedAssignment(m11p(k), m11p(i)))
1955
Assert.Equal(
ConversionKind
.NarrowingValue, ClassifyPredefinedAssignment(m11p(d), m11p(a))) 'error BC30512: Option Strict On disallows implicit conversions from 'Object' to 'Structure2?'.
1956
Assert.Equal(
ConversionKind
.NarrowingValue, ClassifyPredefinedAssignment(m11p(d), m11p(b))) 'error BC30512: Option Strict On disallows implicit conversions from 'System.ValueType' to 'Structure2?'.
1957
Assert.Equal(
ConversionKind
.NarrowingNullable, ClassifyPredefinedAssignment(m11p(c), m11p(d))) 'error BC30512: Option Strict On disallows implicit conversions from 'Structure2?' to 'Structure2'.
1958
Assert.Equal(
ConversionKind
.NarrowingNullable, ClassifyPredefinedAssignment(m11p(d), m11p(e))) 'error BC30512: Option Strict On disallows implicit conversions from 'Interface1' to 'Structure2?'.
1959
Assert.Equal(
ConversionKind
.NarrowingNullable, ClassifyPredefinedAssignment(m11p(d), m11p(f))) 'error BC30512: Option Strict On disallows implicit conversions from 'Interface3' to 'Structure2?'.
1960
Assert.Equal(
ConversionKind
.NarrowingNullable, ClassifyPredefinedAssignment(m11p(h), m11p(i))) 'error BC30512: Option Strict On disallows implicit conversions from 'Integer?' to 'Integer'.
1961
Assert.Equal(
ConversionKind
.NarrowingNullable, ClassifyPredefinedAssignment(m11p(i), m11p(k))) 'error BC30512: Option Strict On disallows implicit conversions from 'Long?' to 'Integer?'.
1962
Assert.Equal(
ConversionKind
.NarrowingNullable, ClassifyPredefinedAssignment(m11p(i), m11p(j))) 'error BC30512: Option Strict On disallows implicit conversions from 'Long' to 'Integer?'.
1963
Assert.Equal(
ConversionKind
.NarrowingNullable, ClassifyPredefinedAssignment(m11p(j), m11p(i))) 'error BC30512: Option Strict On disallows implicit conversions from 'Integer?' to 'Long'.
1975
Assert.Equal(
ConversionKind
.WideningString, ClassifyPredefinedAssignment(m12p(a), m12p(b)))
1976
Assert.Equal(
ConversionKind
.WideningString, ClassifyPredefinedAssignment(m12p(a), m12p(c)))
1977
Assert.Equal(
ConversionKind
.NarrowingString, ClassifyPredefinedAssignment(m12p(b), m12p(a))) 'error BC30512: Option Strict On disallows implicit conversions from 'String' to 'Char'.
1978
Assert.Equal(
ConversionKind
.NarrowingString, ClassifyPredefinedAssignment(m12p(c), m12p(a))) 'error BC30512: Option Strict On disallows implicit conversions from 'String' to '1-dimensional array of Char'.
1984
Private Shared Function ClassifyPredefinedAssignment([to] As TypeSymbol, [from] As TypeSymbol) As
ConversionKind
1985
Dim result As
ConversionKind
= Conversions.ClassifyPredefinedConversion([from], [to], Nothing) And Not
ConversionKind
.MightSucceedAtRuntime
2082
Private Function HasBuiltInWideningConversions(from As TypeSymbol, [to] As TypeSymbol) As
ConversionKind
2090
Return
ConversionKind
.WideningValue
2099
If (HasBuiltInWideningConversions(fromElement, toElement) And
ConversionKind
.Widening) <> 0 Then
2100
Return
ConversionKind
.WideningNullable
2107
Return
ConversionKind
.WideningNullable
2111
If (HasBuiltInWideningConversions(from, toElement) And
ConversionKind
.Widening) <> 0 Then
2112
Return
ConversionKind
.WideningNullable
2120
Private Function HasBuiltInNarrowingConversions(from As TypeSymbol, [to] As TypeSymbol) As
ConversionKind
2128
Return
ConversionKind
.NarrowingValue
2138
Return
ConversionKind
.NarrowingNullable
2144
Return
ConversionKind
.NarrowingNullable
2150
If (HasBuiltInNarrowingConversions(fromElement, toElement) And
ConversionKind
.Narrowing) <> 0 Then
2151
Return
ConversionKind
.NarrowingNullable
2157
If (HasBuiltInNarrowingConversions(from, toElement) And
ConversionKind
.Narrowing) <> 0 Then
2158
Return
ConversionKind
.NarrowingNullable
2184
Private Function HasBuiltInWideningConversions(from As SpecialType, [to] As SpecialType) As
ConversionKind
2192
Return
ConversionKind
.WideningNumeric
2200
Return
ConversionKind
.WideningNumeric
2208
Return
ConversionKind
.WideningNumeric
2216
Return
ConversionKind
.WideningNumeric
2224
Return
ConversionKind
.WideningNumeric
2232
Return
ConversionKind
.WideningNumeric
2240
Return
ConversionKind
.WideningNumeric
2248
Return
ConversionKind
.WideningNumeric
2256
Return
ConversionKind
.WideningNumeric
2264
Return
ConversionKind
.WideningNumeric
2273
Return
ConversionKind
.WideningReference
2282
Return
ConversionKind
.WideningString
2295
Return
ConversionKind
.WideningValue
2303
Private Function HasBuiltInNarrowingConversions(from As SpecialType, [to] As SpecialType) As
ConversionKind
2311
Return
ConversionKind
.NarrowingBoolean
2320
Return
ConversionKind
.NarrowingNumeric
2328
Return
ConversionKind
.NarrowingNumeric
2336
Return
ConversionKind
.NarrowingNumeric
2344
Return
ConversionKind
.NarrowingNumeric
2352
Return
ConversionKind
.NarrowingNumeric
2360
Return
ConversionKind
.NarrowingNumeric
2368
Return
ConversionKind
.NarrowingNumeric
2376
Return
ConversionKind
.NarrowingNumeric
2384
Return
ConversionKind
.NarrowingNumeric
2392
Return
ConversionKind
.NarrowingNumeric
2400
Return
ConversionKind
.NarrowingNumeric
2415
Return
ConversionKind
.NarrowingString
2423
Return
ConversionKind
.NarrowingValue
2425
Return
ConversionKind
.NarrowingReference
2436
Return
ConversionKind
.NarrowingBoolean
2449
Return
ConversionKind
.NarrowingString
Semantics\ForeachTest.vb (6)
1175
Assert.Equal(
ConversionKind
.Identity, conv.Kind)
1215
Assert.Equal(
ConversionKind
.Identity, conv.Kind)
1262
Assert.Equal(
ConversionKind
.NarrowingReference, loopInfo0.CurrentConversion.Kind)
1271
Assert.Equal(
ConversionKind
.Identity, loopInfo1.CurrentConversion.Kind) ' Now identity
1299
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
1364
If (conv.Kind =
ConversionKind
.Identity) Then
Semantics\ForLoopTest.vb (1)
636
If (conv.Kind =
ConversionKind
.Identity) Then
Semantics\GetExtendedSemanticInfoTests.vb (202)
118
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
153
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
190
Assert.Equal(
ConversionKind
.WideningNumeric, semanticInfo.ImplicitConversion.Kind)
230
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
273
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
316
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
364
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
413
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
462
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
504
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
547
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
595
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
647
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
698
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
748
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
795
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
854
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
911
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
959
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
1005
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
1056
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
1107
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
1154
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
1200
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
1246
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
1294
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
1339
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
1376
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
1419
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
1457
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
1522
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
1537
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
1552
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
1567
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
1584
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
1622
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
1666
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
1709
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
1750
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
1798
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
1852
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
1889
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
1927
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
1962
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
1993
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
2048
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
2116
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
2148
Assert.Equal(
ConversionKind
.WideningReference, semanticInfo.ImplicitConversion.Kind)
2179
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
2210
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
2252
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
2282
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
2325
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
2365
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
2404
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
2442
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
2475
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
2518
Assert.Equal(
ConversionKind
.WideningNumeric Or
ConversionKind
.InvolvesEnumTypeConversions, semanticInfo.ImplicitConversion.Kind)
2599
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
2635
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
2711
Assert.Equal(
ConversionKind
.WideningNothingLiteral, semanticInfo.ImplicitConversion.Kind)
2746
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
2782
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
2834
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
2885
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
3096
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
3119
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
3146
Assert.Equal(
ConversionKind
.WideningReference, semanticInfo.ImplicitConversion.Kind)
3182
Assert.Equal(
ConversionKind
.WideningReference, semanticInfo.ImplicitConversion.Kind)
3216
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
3475
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
3556
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
3615
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
3666
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
3719
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
3769
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
3796
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
3834
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
4017
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
4060
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
4098
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
4128
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
4163
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
4196
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
4237
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
4275
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
4314
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
4348
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
4387
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
4423
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
4462
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
4501
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
4537
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
4578
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
4712
Assert.Equal(
ConversionKind
.NarrowingString, semanticInfo.ImplicitConversion.Kind)
4755
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
4793
Assert.Equal(
ConversionKind
.DelegateRelaxationLevelNone, semanticInfo.ImplicitConversion.Kind)
4836
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
4871
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
4902
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
4934
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
4966
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
4993
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
5027
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
5061
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
5099
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
5130
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
5162
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
5194
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
5235
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
5313
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
5343
Assert.Equal(
ConversionKind
.WideningNumeric, semanticInfo.ImplicitConversion.Kind)
5374
Assert.Equal(
ConversionKind
.WideningNumeric, semanticInfo.ImplicitConversion.Kind)
5410
Assert.Equal(
ConversionKind
.WideningNumeric, semanticInfo.ImplicitConversion.Kind)
5441
Assert.Equal(
ConversionKind
.WideningNumeric, semanticInfo.ImplicitConversion.Kind)
5474
Assert.Equal(
ConversionKind
.WideningNumeric, semanticInfo.ImplicitConversion.Kind)
5505
Assert.Equal(
ConversionKind
.WideningValue, semanticInfo.ImplicitConversion.Kind)
5535
Assert.Equal(
ConversionKind
.WideningValue, semanticInfo.ImplicitConversion.Kind)
5571
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
5600
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
5626
Assert.Equal(
ConversionKind
.WideningNumeric, semanticInfo.ImplicitConversion.Kind)
5653
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
5693
Assert.True((semanticInfo.ImplicitConversion.Kind And
ConversionKind
.InvolvesNarrowingFromNumericConstant) <> 0, "includes bit InvolvesNarrowingFromNumericConstant")
5716
Assert.Equal(
ConversionKind
.WideningNumeric, semanticInfo.ImplicitConversion.Kind)
5775
Assert.Equal(
ConversionKind
.WideningReference, semanticInfo.ImplicitConversion.Kind)
5811
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
5858
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
5913
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
5972
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
6055
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
6100
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
6142
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
6182
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
6896
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
6935
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
6971
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
7010
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
7046
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
7085
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
7121
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
7160
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
7199
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
7241
Assert.Equal(
ConversionKind
.WideningReference, semanticInfo.ImplicitConversion.Kind)
7283
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
7325
Assert.Equal(
ConversionKind
.WideningReference, semanticInfo.ImplicitConversion.Kind)
7367
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
7441
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
7480
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
7526
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
7575
Assert.Equal(
ConversionKind
.WideningReference, semanticInfo1.ImplicitConversion.Kind)
7630
Assert.Equal(
ConversionKind
.WideningReference, semanticInfo1.ImplicitConversion.Kind)
7690
Assert.Equal(
ConversionKind
.Identity, semanticInfo1.ImplicitConversion.Kind)
7706
Assert.Equal(
ConversionKind
.Identity, semanticInfo2.ImplicitConversion.Kind)
7826
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
7862
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
7897
Assert.Equal(
ConversionKind
.WideningReference Or
ConversionKind
.DelegateRelaxationLevelWideningToNonLambda, semanticSummary.ImplicitConversion.Kind)
7933
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
7972
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
8011
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
8050
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
8089
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
8127
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
8165
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
8284
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
8329
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
8376
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
8421
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
8459
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
8517
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
8559
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
8703
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
8745
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
8785
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
8934
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
8972
Assert.Equal(
ConversionKind
.WideningReference, semanticSummary.ImplicitConversion.Kind)
9007
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
9045
Assert.Equal(
ConversionKind
.WideningReference, semanticSummary.ImplicitConversion.Kind)
9082
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
9122
Assert.Equal(
ConversionKind
.WideningReference, semanticSummary.ImplicitConversion.Kind)
9199
Assert.Equal(
ConversionKind
.WideningReference, conv.Kind)
9260
Assert.Equal(
ConversionKind
.WideningReference, conv.Kind)
9325
Assert.Equal(
ConversionKind
.WideningReference, conv.Kind)
9392
Assert.Equal(
ConversionKind
.WideningReference, conv.Kind)
9450
Assert.Equal(
ConversionKind
.WideningReference, conv.Kind)
9476
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
9547
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
9592
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
9628
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
9661
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
9696
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
9731
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
9766
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
9814
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
9854
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
9894
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
9937
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
9969
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
10003
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
10049
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
10091
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
Semantics\GetSemanticInfoTests.vb (70)
131
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
176
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
222
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
266
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
315
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
365
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
415
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
465
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
515
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
565
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
766
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
1078
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
1502
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
1539
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
1847
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
1881
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
1915
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
1953
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
2001
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
2052
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
2065
Assert.Equal(
ConversionKind
.WideningNumeric, semanticSummary.ImplicitConversion.Kind)
2079
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
2092
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
2147
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
2167
Assert.Equal(
ConversionKind
.WideningReference, semanticSummary.ImplicitConversion.Kind)
2202
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
2212
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
2243
Assert.Equal(
ConversionKind
.Widening, semanticSummary.ImplicitConversion.Kind)
2298
Assert.Equal(
ConversionKind
.WideningNumeric, semanticSummary.ImplicitConversion.Kind)
2312
Assert.Equal(
ConversionKind
.WideningNumeric, semanticSummary.ImplicitConversion.Kind)
2357
Assert.Equal(
ConversionKind
.WideningNumeric, semanticSummary.ImplicitConversion.Kind)
2371
Assert.Equal(
ConversionKind
.WideningNumeric, semanticSummary.ImplicitConversion.Kind)
2420
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
2459
Assert.Equal(
ConversionKind
.Identity, conv.Kind)
2492
Assert.Equal(
ConversionKind
.Identity, speculativeConv.Kind)
2529
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
2571
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
2656
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
2742
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
2785
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
2833
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
2886
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
2947
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
3012
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
3170
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
3230
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
3290
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
3383
Assert.Equal(
ConversionKind
.NarrowingValue, semanticSummary.ImplicitConversion.Kind)
3430
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
3483
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
3537
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
3590
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
3642
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
3687
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
3721
Assert.Equal(
ConversionKind
.Widening, speculativeConversion.Kind)
3880
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
5030
Assert.Equal(
ConversionKind
.WideningNullable, conv2.Kind)
5040
Assert.Equal(
ConversionKind
.WideningNullable, conv1.Kind)
5650
Assert.Equal(
ConversionKind
.Widening Or
ConversionKind
.Lambda, lambdaExprToDirectCastType.Kind)
5687
Assert.Equal(
ConversionKind
.Widening Or
ConversionKind
.Lambda, lambdaExprToDirectCastType.Kind)
5792
Assert.Equal(
ConversionKind
.WideningNothingLiteral, conversion.Kind)
5832
Assert.Equal(
ConversionKind
.Widening Or
ConversionKind
.Lambda, conversion.Kind)
5884
Assert.Equal(
ConversionKind
.Widening Or
ConversionKind
.Lambda, conversion.Kind)
5951
Assert.Equal(
ConversionKind
.DelegateRelaxationLevelNone, conversionA.Kind)
5954
Assert.Equal(
ConversionKind
.DelegateRelaxationLevelNone, conversionB.Kind)
5957
Assert.Equal(
ConversionKind
.DelegateRelaxationLevelNone, conversionC.Kind)
Semantics\GotoTests.vb (9)
206
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
238
Assert.Equal(
ConversionKind
.Identity, semanticSummary0.ImplicitConversion.Kind)
247
Assert.Equal(
ConversionKind
.Identity, semanticSummary1.ImplicitConversion.Kind)
280
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
314
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
353
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
389
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
423
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
455
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
Semantics\IFOperatorTest.vb (133)
39
Assert.Equal(
ConversionKind
.Identity, semanticInfos(0).ImplicitConversion.Kind)
40
Assert.Equal(
ConversionKind
.Identity, semanticInfos(1).ImplicitConversion.Kind)
41
Assert.Equal(
ConversionKind
.Identity, semanticInfos(2).ImplicitConversion.Kind)
50
Assert.Equal(
ConversionKind
.Identity, semanticInfos(0).ImplicitConversion.Kind)
51
Assert.Equal(
ConversionKind
.Identity, semanticInfos(1).ImplicitConversion.Kind)
52
Assert.Equal(
ConversionKind
.Identity, semanticInfos(2).ImplicitConversion.Kind)
61
Assert.Equal(
ConversionKind
.Identity, semanticInfos(0).ImplicitConversion.Kind)
62
Assert.Equal(
ConversionKind
.Identity, semanticInfos(1).ImplicitConversion.Kind)
63
Assert.Equal(
ConversionKind
.Identity, semanticInfos(2).ImplicitConversion.Kind)
99
Assert.Equal(
ConversionKind
.Identity, semanticInfos(0).ImplicitConversion.Kind)
100
Assert.Equal(
ConversionKind
.Identity, semanticInfos(1).ImplicitConversion.Kind)
101
Assert.Equal(
ConversionKind
.Identity, semanticInfos(2).ImplicitConversion.Kind)
110
Assert.Equal(
ConversionKind
.Identity, semanticInfos(0).ImplicitConversion.Kind)
111
Assert.Equal(
ConversionKind
.Identity, semanticInfos(1).ImplicitConversion.Kind)
112
Assert.Equal(
ConversionKind
.Identity, semanticInfos(2).ImplicitConversion.Kind)
122
Assert.Equal(
ConversionKind
.Identity, semanticInfos(0).ImplicitConversion.Kind)
123
Assert.Equal(
ConversionKind
.Identity, semanticInfos(1).ImplicitConversion.Kind)
124
Assert.Equal(
ConversionKind
.Identity, semanticInfos(2).ImplicitConversion.Kind)
177
Assert.Equal(
ConversionKind
.NarrowingValue, semanticInfos(0).ImplicitConversion.Kind)
178
Assert.Equal(
ConversionKind
.Identity, semanticInfos(1).ImplicitConversion.Kind)
179
Assert.Equal(
ConversionKind
.Identity, semanticInfos(2).ImplicitConversion.Kind)
189
Assert.Equal(
ConversionKind
.Identity, semanticInfos(0).ImplicitConversion.Kind)
190
Assert.Equal(
ConversionKind
.WideningNumeric, semanticInfos(1).ImplicitConversion.Kind)
191
Assert.Equal(
ConversionKind
.Identity, semanticInfos(2).ImplicitConversion.Kind)
222
Assert.Equal(
ConversionKind
.Identity, semanticInfos(0).ImplicitConversion.Kind)
223
Assert.Equal(
ConversionKind
.Identity, semanticInfos(1).ImplicitConversion.Kind)
224
Assert.Equal(
ConversionKind
.Identity, semanticInfos(2).ImplicitConversion.Kind)
234
Assert.Equal(
ConversionKind
.Identity, semanticInfos(0).ImplicitConversion.Kind)
235
Assert.Equal(
ConversionKind
.Identity, semanticInfos(1).ImplicitConversion.Kind)
236
Assert.Equal(
ConversionKind
.Identity, semanticInfos(2).ImplicitConversion.Kind)
278
Assert.Equal(
ConversionKind
.Identity, semanticInfos(0).ImplicitConversion.Kind)
290
Assert.Equal(
ConversionKind
.Identity, semanticInfos(0).ImplicitConversion.Kind)
292
Assert.Equal(
ConversionKind
.Identity, semanticInfos(2).ImplicitConversion.Kind)
303
Assert.Equal(
ConversionKind
.Identity, semanticInfos(0).ImplicitConversion.Kind)
304
Assert.Equal(
ConversionKind
.WideningReference, semanticInfos(1).ImplicitConversion.Kind)
305
Assert.Equal(
ConversionKind
.WideningValue, semanticInfos(2).ImplicitConversion.Kind)
316
Assert.Equal(
ConversionKind
.Identity, semanticInfos(0).ImplicitConversion.Kind)
317
Assert.Equal(
ConversionKind
.Identity, semanticInfos(1).ImplicitConversion.Kind)
318
Assert.Equal(
ConversionKind
.WideningNumeric, semanticInfos(2).ImplicitConversion.Kind)
328
Assert.Equal(
ConversionKind
.Identity, semanticInfos(0).ImplicitConversion.Kind)
329
Assert.Equal(
ConversionKind
.Identity, semanticInfos(1).ImplicitConversion.Kind)
330
Assert.Equal(
ConversionKind
.WideningNumeric, semanticInfos(2).ImplicitConversion.Kind)
361
Assert.Equal(
ConversionKind
.Identity, semanticInfos(0).ImplicitConversion.Kind)
362
Assert.Equal(
ConversionKind
.WideningReference, semanticInfos(1).ImplicitConversion.Kind)
363
Assert.Equal(
ConversionKind
.WideningReference, semanticInfos(2).ImplicitConversion.Kind)
403
Assert.Equal(
ConversionKind
.Identity, semanticInfos(0).ImplicitConversion.Kind)
404
Assert.Equal(
ConversionKind
.WideningReference Or
ConversionKind
.DelegateRelaxationLevelWideningToNonLambda, semanticInfos(1).ImplicitConversion.Kind)
405
Assert.Equal(
ConversionKind
.WideningValue, semanticInfos(2).ImplicitConversion.Kind)
414
Assert.Equal(
ConversionKind
.Identity, semanticInfos(0).ImplicitConversion.Kind)
415
Assert.Equal(
ConversionKind
.WideningReference Or
ConversionKind
.DelegateRelaxationLevelWideningToNonLambda, semanticInfos(1).ImplicitConversion.Kind)
416
Assert.Equal(
ConversionKind
.WideningValue, semanticInfos(2).ImplicitConversion.Kind)
449
Assert.Equal(
ConversionKind
.Identity, semanticInfos(0).ImplicitConversion.Kind)
450
Assert.Equal(
ConversionKind
.WideningReference, semanticInfos(1).ImplicitConversion.Kind)
451
Assert.Equal(
ConversionKind
.WideningReference, semanticInfos(2).ImplicitConversion.Kind)
484
Assert.Equal(
ConversionKind
.Identity, semanticInfos(0).ImplicitConversion.Kind)
485
Assert.Equal(
ConversionKind
.WideningReference Or
ConversionKind
.DelegateRelaxationLevelWideningToNonLambda, semanticInfos(1).ImplicitConversion.Kind)
486
Assert.Equal(
ConversionKind
.Identity, semanticInfos(2).ImplicitConversion.Kind)
520
Assert.Equal(
ConversionKind
.Identity, semanticInfos(0).ImplicitConversion.Kind)
531
Assert.Equal(
ConversionKind
.Identity, semanticInfos(0).ImplicitConversion.Kind)
561
Assert.Equal(
ConversionKind
.Identity, semanticInfos(0).ImplicitConversion.Kind)
562
Assert.Equal(
ConversionKind
.Identity, semanticInfos(1).ImplicitConversion.Kind)
563
Assert.Equal(
ConversionKind
.Identity, semanticInfos(2).ImplicitConversion.Kind)
573
Assert.Equal(
ConversionKind
.Identity, semanticInfos(0).ImplicitConversion.Kind)
574
Assert.Equal(
ConversionKind
.Identity, semanticInfos(1).ImplicitConversion.Kind)
575
Assert.Equal(
ConversionKind
.Identity, semanticInfos(2).ImplicitConversion.Kind)
610
Assert.Equal(
ConversionKind
.Identity, semanticInfos(0).ImplicitConversion.Kind)
611
Assert.Equal(
ConversionKind
.Identity, semanticInfos(1).ImplicitConversion.Kind)
612
Assert.Equal(
ConversionKind
.Numeric Or
ConversionKind
.Widening Or
ConversionKind
.InvolvesEnumTypeConversions, semanticInfos(2).ImplicitConversion.Kind)
622
Assert.Equal(
ConversionKind
.Identity, semanticInfos(0).ImplicitConversion.Kind)
623
Assert.Equal(
ConversionKind
.Identity, semanticInfos(1).ImplicitConversion.Kind)
624
Assert.Equal(
ConversionKind
.Numeric Or
ConversionKind
.Widening Or
ConversionKind
.InvolvesEnumTypeConversions, semanticInfos(2).ImplicitConversion.Kind)
652
Assert.Equal(
ConversionKind
.Identity, semanticInfos(0).ImplicitConversion.Kind)
654
Assert.Equal(
ConversionKind
.Widening, semanticInfos(2).ImplicitConversion.Kind)
706
Assert.Equal(
ConversionKind
.Identity, semanticInfos(0).ImplicitConversion.Kind)
707
Assert.Equal(
ConversionKind
.Identity, semanticInfos(1).ImplicitConversion.Kind)
708
Assert.Equal(
ConversionKind
.WideningNothingLiteral, semanticInfos(2).ImplicitConversion.Kind)
739
Assert.Equal(
ConversionKind
.Identity, semanticInfos(0).ImplicitConversion.Kind)
740
Assert.Equal(
ConversionKind
.Identity, semanticInfos(1).ImplicitConversion.Kind)
741
Assert.Equal(
ConversionKind
.WideningValue, semanticInfos(2).ImplicitConversion.Kind)
750
Assert.Equal(
ConversionKind
.Identity, semanticInfos(0).ImplicitConversion.Kind)
751
Assert.Equal(
ConversionKind
.Identity, semanticInfos(1).ImplicitConversion.Kind)
752
Assert.Equal(
ConversionKind
.Identity, semanticInfos(2).ImplicitConversion.Kind)
781
Assert.Equal(
ConversionKind
.Identity, semanticInfos(0).ImplicitConversion.Kind)
782
Assert.Equal(
ConversionKind
.Widening, semanticInfos(1).ImplicitConversion.Kind)
783
Assert.Equal(
ConversionKind
.Widening, semanticInfos(2).ImplicitConversion.Kind)
811
Assert.Equal(
ConversionKind
.Identity, semanticInfos(0).ImplicitConversion.Kind)
812
Assert.Equal(
ConversionKind
.Identity, semanticInfos(1).ImplicitConversion.Kind)
813
Assert.Equal(
ConversionKind
.Identity, semanticInfos(2).ImplicitConversion.Kind)
847
Assert.Equal(
ConversionKind
.NarrowingString, semanticInfos(0).ImplicitConversion.Kind)
848
Assert.Equal(
ConversionKind
.Identity, semanticInfos(1).ImplicitConversion.Kind)
849
Assert.Equal(
ConversionKind
.WideningValue, semanticInfos(2).ImplicitConversion.Kind)
859
Assert.Equal(
ConversionKind
.NarrowingString, semanticInfos(0).ImplicitConversion.Kind)
860
Assert.Equal(
ConversionKind
.Identity, semanticInfos(1).ImplicitConversion.Kind)
861
Assert.Equal(
ConversionKind
.WideningValue, semanticInfos(2).ImplicitConversion.Kind)
871
Assert.Equal(
ConversionKind
.NarrowingString, semanticInfos(0).ImplicitConversion.Kind)
872
Assert.Equal(
ConversionKind
.Identity, semanticInfos(1).ImplicitConversion.Kind)
873
Assert.Equal(
ConversionKind
.WideningValue, semanticInfos(2).ImplicitConversion.Kind)
910
Assert.Equal(
ConversionKind
.NarrowingBoolean Or
ConversionKind
.InvolvesEnumTypeConversions, semanticInfos(0).ImplicitConversion.Kind)
911
Assert.Equal(
ConversionKind
.Identity, semanticInfos(1).ImplicitConversion.Kind)
912
Assert.Equal(
ConversionKind
.WideningValue, semanticInfos(2).ImplicitConversion.Kind)
922
Assert.Equal(
ConversionKind
.NarrowingBoolean Or
ConversionKind
.InvolvesEnumTypeConversions, semanticInfos(0).ImplicitConversion.Kind)
923
Assert.Equal(
ConversionKind
.Identity, semanticInfos(1).ImplicitConversion.Kind)
924
Assert.Equal(
ConversionKind
.WideningValue, semanticInfos(2).ImplicitConversion.Kind)
957
Assert.Equal(
ConversionKind
.NarrowingValue, semanticInfos(0).ImplicitConversion.Kind)
958
Assert.Equal(
ConversionKind
.Identity, semanticInfos(1).ImplicitConversion.Kind)
959
Assert.Equal(
ConversionKind
.WideningValue, semanticInfos(2).ImplicitConversion.Kind)
968
Assert.Equal(
ConversionKind
.DelegateRelaxationLevelNone, semanticInfos(0).ImplicitConversion.Kind)
969
Assert.Equal(
ConversionKind
.Identity, semanticInfos(1).ImplicitConversion.Kind)
970
Assert.Equal(
ConversionKind
.WideningValue, semanticInfos(2).ImplicitConversion.Kind)
1000
Assert.Equal(
ConversionKind
.DelegateRelaxationLevelNone, semanticInfos(0).ImplicitConversion.Kind)
1001
Assert.Equal(
ConversionKind
.WideningTypeParameter, semanticInfos(1).ImplicitConversion.Kind)
1002
Assert.Equal(
ConversionKind
.WideningValue, semanticInfos(2).ImplicitConversion.Kind)
1036
Assert.Equal(
ConversionKind
.Identity, semanticInfos(0).ImplicitConversion.Kind)
1037
Assert.Equal(
ConversionKind
.WideningValue, semanticInfos(1).ImplicitConversion.Kind)
1038
Assert.Equal(
ConversionKind
.Identity, semanticInfos(2).ImplicitConversion.Kind)
1048
Assert.Equal(
ConversionKind
.Identity, semanticInfos(0).ImplicitConversion.Kind)
1050
Assert.Equal(
ConversionKind
.Identity, semanticInfos(2).ImplicitConversion.Kind)
1091
Assert.Equal(
ConversionKind
.Identity, semanticInfos(0).ImplicitConversion.Kind)
1092
Assert.Equal(
ConversionKind
.Identity, semanticInfos(1).ImplicitConversion.Kind)
1093
Assert.Equal(
ConversionKind
.WideningNullable, semanticInfos(2).ImplicitConversion.Kind)
1103
Assert.Equal(
ConversionKind
.Identity, semanticInfos(0).ImplicitConversion.Kind)
1104
Assert.Equal(
ConversionKind
.Identity, semanticInfos(1).ImplicitConversion.Kind)
1105
Assert.Equal(
ConversionKind
.WideningReference, semanticInfos(2).ImplicitConversion.Kind)
1221
If (conv.Kind =
ConversionKind
.Identity) Then
Semantics\LambdaSemanticInfoTests.vb (15)
40
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
72
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
106
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
138
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
213
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
248
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
283
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
321
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
356
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
395
Assert.Equal(
ConversionKind
.WideningValue, semanticInfo.ImplicitConversion.Kind)
435
Assert.Equal(
ConversionKind
.WideningValue, semanticInfo.ImplicitConversion.Kind)
469
Assert.Equal(
ConversionKind
.Widening Or
ConversionKind
.Lambda Or
ConversionKind
.DelegateRelaxationLevelWidening, semanticInfo1.ImplicitConversion.Kind)
721
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
Semantics\MultiDimensionalTest.vb (4)
312
Assert.Equal(semanticInfo.ImplicitConversion.Kind,
ConversionKind
.DelegateRelaxationLevelNone)
315
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
1194
Assert.Equal(
ConversionKind
.NarrowingValue, info.CurrentConversion.Kind)
1196
Assert.Equal(
ConversionKind
.Identity, info.ElementConversion.Kind)
Semantics\OptionalArgumentTests.vb (1)
1060
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
Semantics\OverloadResolution.vb (6)
197
Dim longConst As BoundExpression = New BoundConversion(_syntaxNode, New BoundLiteral(_syntaxNode, ConstantValue.Null, Nothing),
ConversionKind
.Widening, True, True, ConstantValue.Create(-1L), c1.GetSpecialType(System_Int64), Nothing)
202
Dim doubleConst As BoundExpression = New BoundConversion(_syntaxNode, New BoundLiteral(_syntaxNode, ConstantValue.Null, Nothing),
ConversionKind
.Widening, True, True, ConstantValue.Create(0.0R), c1.GetSpecialType(System_Double), Nothing)
2883
Dim DoubleMaxValue As BoundExpression = New BoundConversion(_syntaxNode, New BoundLiteral(_syntaxNode, ConstantValue.Null, Nothing),
ConversionKind
.Widening, True, True, ConstantValue.Create(Double.MaxValue), c1.GetSpecialType(System_Double), Nothing)
2884
Dim IntegerMaxValue As BoundExpression = New BoundConversion(_syntaxNode, New BoundLiteral(_syntaxNode, ConstantValue.Null, Nothing),
ConversionKind
.Widening, True, True, ConstantValue.Create(Integer.MaxValue), c1.GetSpecialType(System_Int32), Nothing)
3074
Dim DoubleMaxValue As BoundExpression = New BoundConversion(_syntaxNode, New BoundLiteral(_syntaxNode, ConstantValue.Null, Nothing),
ConversionKind
.Widening, True, True, ConstantValue.Create(Double.MaxValue), c1.GetSpecialType(System_Double), Nothing)
3075
Dim IntegerMaxValue As BoundExpression = New BoundConversion(_syntaxNode, New BoundLiteral(_syntaxNode, ConstantValue.Null, Nothing),
ConversionKind
.Widening, True, True, ConstantValue.Create(Integer.MaxValue), c1.GetSpecialType(System_Int32), Nothing)
Semantics\QueryExpressions_SemanticModel.vb (53)
72
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
92
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
111
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
142
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
161
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
190
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
212
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
231
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
298
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
318
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
337
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
364
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
383
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
412
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
434
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
453
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
518
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
538
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
557
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
584
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
603
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
632
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
654
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
673
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
762
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
782
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
801
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
828
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
847
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
876
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
898
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
917
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
996
Assert.Equal(
ConversionKind
.NarrowingBoolean, semanticInfo.ImplicitConversion.Kind)
1079
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
1152
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
1300
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
1326
Assert.Equal(
ConversionKind
.WideningReference, semanticInfo.ImplicitConversion.Kind)
1382
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
1404
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
1548
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
1648
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
2104
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
2152
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
2185
Assert.Equal(
ConversionKind
.WideningNumeric, semanticInfo.ImplicitConversion.Kind)
2535
Assert.Equal(
ConversionKind
.WideningNumeric, semanticInfo.ImplicitConversion.Kind)
2670
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
2721
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
2778
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
2903
Assert.Equal(
ConversionKind
.WideningNumeric, semanticInfo.ImplicitConversion.Kind)
3327
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
3363
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
3531
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
3970
Assert.Equal(
ConversionKind
.DelegateRelaxationLevelNone, semanticSummary.ImplicitConversion.Kind)
Semantics\SelectCaseTests.vb (17)
31
Assert.Equal(
ConversionKind
.WideningNothingLiteral, semanticSummary.ImplicitConversion.Kind)
65
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
101
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
140
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
177
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
211
Assert.Equal(
ConversionKind
.Widening Or
ConversionKind
.Lambda, semanticSummary.ImplicitConversion.Kind)
244
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
281
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
321
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
360
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
400
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
494
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
533
Assert.Equal(
ConversionKind
.DelegateRelaxationLevelNone, semanticSummary.ImplicitConversion.Kind)
577
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
732
Assert.Equal(
ConversionKind
.Identity, semanticModel.GetConversion(node).Kind)
769
Assert.Equal(
ConversionKind
.Identity, semanticModel.GetConversion(node).Kind)
Semantics\SyncLockTests.vb (9)
243
Assert.Equal(
ConversionKind
.Widening Or
ConversionKind
.Lambda, semanticSummary.ImplicitConversion.Kind)
283
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
316
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
350
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
381
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
411
Assert.Equal(
ConversionKind
.WideningNothingLiteral, semanticSummary.ImplicitConversion.Kind)
444
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
474
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
Semantics\TypeOfTests.vb (1)
762
Assert.Equal(
ConversionKind
.WideningValue, conv.Kind)
Semantics\WithBlockSemanticModelTests.vb (3)
45
Assert.Equal(
ConversionKind
.Identity, conv.Kind)
73
Assert.Equal(
ConversionKind
.Identity, semanticInfo.ImplicitConversion.Kind)
106
Assert.Equal(
ConversionKind
.Identity, conv.Kind)
Semantics\XmlLiteralSemanticModelTests.vb (1)
533
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
Microsoft.CodeAnalysis.VisualBasic.Symbol.UnitTests (6)
DocumentationComments\DocCommentTests.vb (1)
12080
Assert.Equal(
ConversionKind
.Identity, conversion.Kind)
SymbolsTests\Source\EventTests.vb (5)
1572
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
1610
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
1648
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
1688
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
1796
Assert.Equal(
ConversionKind
.Identity, semanticSummary.ImplicitConversion.Kind)
Roslyn.Compilers.VisualBasic.IOperation.UnitTests (9)
IOperation\IOperationTests_IArgument.vb (4)
1083
Dim expectedInKind =
ConversionKind
.Widening Or
ConversionKind
.UserDefined
1088
Dim expectedOutKind =
ConversionKind
.Narrowing Or
ConversionKind
.UserDefined
IOperation\IOperationTests_ICompoundAssignmentOperation.vb (5)
64
Dim stringConversion = New Conversion(New KeyValuePair(Of
ConversionKind
, Symbols.MethodSymbol)(
ConversionKind
.NarrowingString, Nothing))
104
Assert.Equal(New Conversion(New KeyValuePair(Of
ConversionKind
, MethodSymbol)(
ConversionKind
.UserDefined Or
ConversionKind
.Widening, methodSymbol)),