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