135 references to ConversionClass
Microsoft.VisualBasic.Core (135)
Microsoft\VisualBasic\CompilerServices\ConversionResolution.vb (107)
30
Private Shared ReadOnly s_conversionTable As
ConversionClass
()()
37
Const bad_ As
ConversionClass
=
ConversionClass
.Bad
38
Const iden As
ConversionClass
=
ConversionClass
.Identity
39
Const wide As
ConversionClass
=
ConversionClass
.Widening
40
Const narr As
ConversionClass
=
ConversionClass
.Narrowing
41
Const none As
ConversionClass
=
ConversionClass
.None
45
s_conversionTable = New
ConversionClass
(max)() _
47
New
ConversionClass
(max) {bad_, bad_, bad_, bad_, bad_, bad_, bad_, bad_, bad_, bad_, bad_, bad_, bad_, bad_, bad_, bad_, bad_, bad_, bad_},
48
New
ConversionClass
(max) {bad_, iden, bad_, wide, wide, wide, wide, wide, wide, wide, wide, wide, wide, wide, wide, wide, wide, bad_, wide},
49
New
ConversionClass
(max) {bad_, bad_, bad_, bad_, bad_, bad_, bad_, bad_, bad_, bad_, bad_, bad_, bad_, bad_, bad_, bad_, bad_, bad_, bad_},
50
New
ConversionClass
(max) {bad_, narr, bad_, iden, none, narr, narr, narr, narr, narr, narr, narr, narr, narr, narr, narr, none, bad_, narr},
51
New
ConversionClass
(max) {bad_, narr, bad_, none, iden, none, none, none, none, none, none, none, none, none, none, none, none, bad_, narr},
52
New
ConversionClass
(max) {bad_, narr, bad_, narr, none, iden, narr, narr, narr, narr, narr, narr, narr, narr, narr, narr, none, bad_, narr},
53
New
ConversionClass
(max) {bad_, narr, bad_, narr, none, narr, iden, narr, narr, narr, narr, narr, narr, narr, narr, narr, none, bad_, narr},
54
New
ConversionClass
(max) {bad_, narr, bad_, narr, none, wide, wide, iden, narr, narr, narr, narr, narr, narr, narr, narr, none, bad_, narr},
55
New
ConversionClass
(max) {bad_, narr, bad_, narr, none, narr, wide, narr, iden, narr, narr, narr, narr, narr, narr, narr, none, bad_, narr},
56
New
ConversionClass
(max) {bad_, narr, bad_, narr, none, wide, wide, wide, wide, iden, narr, narr, narr, narr, narr, narr, none, bad_, narr},
57
New
ConversionClass
(max) {bad_, narr, bad_, narr, none, narr, wide, narr, wide, narr, iden, narr, narr, narr, narr, narr, none, bad_, narr},
58
New
ConversionClass
(max) {bad_, narr, bad_, narr, none, wide, wide, wide, wide, wide, wide, iden, narr, narr, narr, narr, none, bad_, narr},
59
New
ConversionClass
(max) {bad_, narr, bad_, narr, none, narr, wide, narr, wide, narr, wide, narr, iden, narr, narr, narr, none, bad_, narr},
60
New
ConversionClass
(max) {bad_, narr, bad_, narr, none, wide, wide, wide, wide, wide, wide, wide, wide, iden, narr, wide, none, bad_, narr},
61
New
ConversionClass
(max) {bad_, narr, bad_, narr, none, wide, wide, wide, wide, wide, wide, wide, wide, wide, iden, wide, none, bad_, narr},
62
New
ConversionClass
(max) {bad_, narr, bad_, narr, none, wide, wide, wide, wide, wide, wide, wide, wide, narr, narr, iden, none, bad_, narr},
63
New
ConversionClass
(max) {bad_, narr, bad_, none, none, none, none, none, none, none, none, none, none, none, none, none, iden, bad_, narr},
64
New
ConversionClass
(max) {bad_, bad_, bad_, bad_, bad_, bad_, bad_, bad_, bad_, bad_, bad_, bad_, bad_, bad_, bad_, bad_, bad_, bad_, bad_},
65
New
ConversionClass
(max) {bad_, narr, bad_, narr, wide, narr, narr, narr, narr, narr, narr, narr, narr, narr, narr, narr, narr, bad_, iden}
180
Friend Shared Function ClassifyConversion(ByVal targetType As System.Type, ByVal sourceType As System.Type, ByRef operatorMethod As Method) As
ConversionClass
187
Dim result As
ConversionClass
= ClassifyPredefinedConversion(targetType, sourceType)
189
If result =
ConversionClass
.None AndAlso
202
Friend Shared Function ClassifyIntrinsicConversion(ByVal targetTypeCode As TypeCode, ByVal sourceTypeCode As TypeCode) As
ConversionClass
209
Friend Shared Function ClassifyPredefinedCLRConversion(ByVal targetType As System.Type, ByVal sourceType As System.Type) As
ConversionClass
218
If targetType Is sourceType Then Return
ConversionClass
.Identity
222
Return
ConversionClass
.Widening
226
Return
ConversionClass
.Narrowing
236
Return
ConversionClass
.Narrowing
240
Return
ConversionClass
.Narrowing
245
Return
ConversionClass
.Narrowing
247
Return
ConversionClass
.None
251
Return
ConversionClass
.Narrowing
262
Return
ConversionClass
.Widening
264
Return
ConversionClass
.None
270
Return
ConversionClass
.Widening
272
Return
ConversionClass
.Narrowing
284
Return
ConversionClass
.Narrowing
286
Return
ConversionClass
.Widening
290
Return
ConversionClass
.None
296
Return
ConversionClass
.None
301
Dim classification As
ConversionClass
=
304
If classification =
ConversionClass
.Widening OrElse
305
classification =
ConversionClass
.Identity Then
309
Return
ConversionClass
.Widening
315
Dim classification As
ConversionClass
=
318
If classification =
ConversionClass
.Widening OrElse
319
classification =
ConversionClass
.Identity Then
323
Return
ConversionClass
.Widening
327
Return IIf(IsInterface(targetType),
ConversionClass
.Narrowing,
ConversionClass
.None)
337
Return
ConversionClass
.Narrowing
340
Return
ConversionClass
.None
352
Return
ConversionClass
.None
355
Return
ConversionClass
.None
360
Private Shared Function ClassifyCLRArrayToInterfaceConversion(ByVal targetInterface As System.Type, ByVal sourceArrayType As System.Type) As
ConversionClass
368
Return
ConversionClass
.Widening
374
Return
ConversionClass
.Narrowing
394
Dim conversion As
ConversionClass
=
ConversionClass
.None
418
If (conversion =
ConversionClass
.Identity OrElse
419
conversion =
ConversionClass
.Widening) Then
421
Return
ConversionClass
.Widening
424
Return
ConversionClass
.Narrowing
430
Private Shared Function ClassifyCLRConversionForArrayElementTypes(ByVal targetElementType As System.Type, ByVal sourceElementType As System.Type) As
ConversionClass
455
Return
ConversionClass
.Identity
460
Return
ConversionClass
.Widening
465
Return
ConversionClass
.Narrowing
469
Return
ConversionClass
.None
474
Friend Shared Function ClassifyPredefinedConversion(ByVal targetType As System.Type, ByVal sourceType As System.Type) As
ConversionClass
481
If targetType Is sourceType Then Return
ConversionClass
.Identity
493
Return
ConversionClass
.Narrowing
502
Return
ConversionClass
.Widening
513
Return
ConversionClass
.Widening
518
Return
ConversionClass
.Narrowing
567
Dim result As
ConversionClass
= ClassifyPredefinedConversion(larger, smaller)
569
Return result =
ConversionClass
.Widening OrElse result =
ConversionClass
.Identity
579
Dim result As
ConversionClass
= ClassifyPredefinedConversion(larger, smaller)
581
Return result =
ConversionClass
.Narrowing OrElse result =
ConversionClass
.Identity
793
ClassifyPredefinedConversion(resultType, inputType) <>
ConversionClass
.None Then
874
ByRef operatorMethod As Method) As
ConversionClass
876
Dim result As
ConversionClass
883
Return
ConversionClass
.None
931
ByRef foundSourceTypeOperators As Boolean) As
ConversionClass
944
Debug.Assert(ClassifyPredefinedConversion(targetType, sourceType) =
ConversionClass
.None,
958
Return
ConversionClass
.None
975
Return
ConversionClass
.Widening
996
Return
ConversionClass
.Narrowing
1000
Return
ConversionClass
.None
1010
Return
ConversionClass
.Ambiguous
1024
Friend Classification As
ConversionClass
1080
ByVal classification As
ConversionClass
,
1101
ByRef classification As
ConversionClass
,
1118
classification =
ConversionClass
.Bad
Microsoft\VisualBasic\CompilerServices\Conversions.vb (9)
2548
Debug.Assert(ClassifyPredefinedConversion(TargetType, SourceType) =
ConversionClass
.None OrElse
2549
ClassifyPredefinedConversion(TargetType, SourceType) =
ConversionClass
.Narrowing,
2582
If ClassifyPredefinedConversion(TargetType, SourceType) =
ConversionClass
.None AndAlso
2608
Dim Result As
ConversionClass
=
2612
Debug.Assert(Result =
ConversionClass
.Widening OrElse Result =
ConversionClass
.Narrowing,
2653
ElseIf Result =
ConversionClass
.Ambiguous Then
2677
If ClassifyPredefinedConversion(TargetType, SourceType) =
ConversionClass
.None AndAlso
2683
Dim Result As
ConversionClass
=
Microsoft\VisualBasic\CompilerServices\ObjectFlowControl.vb (5)
64
Dim leftToRight As
ConversionClass
= ClassifyConversion(type2, type1, Nothing)
65
If leftToRight =
ConversionClass
.Identity OrElse leftToRight =
ConversionClass
.Widening Then
69
Dim rightToLeft As
ConversionClass
= ClassifyConversion(type1, type2, Nothing)
70
If rightToLeft =
ConversionClass
.Widening Then
Microsoft\VisualBasic\CompilerServices\OverloadResolution.vb (14)
172
Dim leftToRight As
ConversionClass
= ClassifyConversion(rightType, leftType, operatorMethod)
174
If leftToRight =
ConversionClass
.Identity Then Return
176
If leftToRight =
ConversionClass
.Widening Then
179
ClassifyConversion(leftType, rightType, operatorMethod) =
ConversionClass
.Widening Then
206
Dim rightToLeft As
ConversionClass
= ClassifyConversion(leftType, rightType, operatorMethod)
208
If rightToLeft =
ConversionClass
.Widening Then
936
Dim conversionResult As
ConversionClass
= ClassifyConversion(targetType, sourceType, Nothing)
940
Case
ConversionClass
.Identity,
ConversionClass
.Widening
943
Case
ConversionClass
.Narrowing
968
IIf(conversionResult =
ConversionClass
.Ambiguous,
1226
Dim conversionResult As
ConversionClass
= ClassifyConversion(parameterType, argumentType, Nothing)
1227
Return conversionResult =
ConversionClass
.Widening OrElse conversionResult =
ConversionClass
.Identity