101 references to RequiredConversion
Microsoft.CodeAnalysis.VisualBasic (101)
Binding\Binder_Expressions.vb (4)
4503
typeList.AddType(expressionType,
RequiredConversion
.Any, expression)
4508
typeList.AddType(expressionType,
RequiredConversion
.Any, expression)
4521
typeList.AddType(expressionType,
RequiredConversion
.Any, expression)
4527
typeList.AddType(expressionType,
RequiredConversion
.Any, expression)
Binding\Binder_Query.vb (2)
3492
inferenceCollection.AddType(outerKey.Type,
RequiredConversion
.Any, outerKey)
3493
inferenceCollection.AddType(innerKey.Type,
RequiredConversion
.Any, innerKey)
Semantics\Conversions.vb (57)
4330
Public Shared Function InvertConversionRequirement(restriction As
RequiredConversion
) As
RequiredConversion
4332
Debug.Assert(
RequiredConversion
.Count = 8, "If you've updated the type argument inference restrictions, then please also update InvertConversionRequirement()")
4339
If restriction =
RequiredConversion
.AnyReverse Then
4340
Return
RequiredConversion
.Any
4341
ElseIf restriction =
RequiredConversion
.ReverseReference Then
4342
Return
RequiredConversion
.Reference
4346
If restriction =
RequiredConversion
.Any Then
4347
Return
RequiredConversion
.AnyReverse
4348
ElseIf restriction =
RequiredConversion
.ArrayElement Then
4350
Return
RequiredConversion
.ReverseReference
4351
ElseIf restriction =
RequiredConversion
.Reference Then
4352
Return
RequiredConversion
.ReverseReference
4361
Public Shared Function StrengthenConversionRequirementToReference(restriction As
RequiredConversion
) As
RequiredConversion
4362
Debug.Assert(
RequiredConversion
.Count = 8, "If you've updated the type argument inference restrictions, then please also update StrengthenConversionRequirementToReference()")
4368
If restriction =
RequiredConversion
.AnyReverse Then
4369
Return
RequiredConversion
.ReverseReference
4370
ElseIf restriction =
RequiredConversion
.Any OrElse restriction =
RequiredConversion
.ArrayElement Then
4371
Return
RequiredConversion
.Reference
4372
ElseIf restriction =
RequiredConversion
.AnyAndReverse Then
4373
Return
RequiredConversion
.Identity
4381
restriction1 As
RequiredConversion
,
4382
restriction2 As
RequiredConversion
4383
) As
RequiredConversion
4385
Debug.Assert(
RequiredConversion
.Count = 8, "If you've updated the type argument inference restrictions, then please also update CombineInferenceRestrictions()")
4397
If restriction1 =
RequiredConversion
.None Then
4399
ElseIf restriction2 =
RequiredConversion
.None Then
4404
If restriction1 =
RequiredConversion
.Identity OrElse restriction2 =
RequiredConversion
.Identity Then
4405
Return
RequiredConversion
.Identity
4409
If (restriction1 =
RequiredConversion
.AnyReverse OrElse restriction1 =
RequiredConversion
.ReverseReference) AndAlso
4410
(restriction2 =
RequiredConversion
.AnyReverse OrElse restriction2 =
RequiredConversion
.ReverseReference) Then
4411
Return
RequiredConversion
.ReverseReference
4415
If (restriction1 =
RequiredConversion
.Any OrElse restriction1 =
RequiredConversion
.AnyReverse OrElse restriction1 =
RequiredConversion
.AnyAndReverse) AndAlso
4416
(restriction2 =
RequiredConversion
.Any OrElse restriction2 =
RequiredConversion
.AnyReverse OrElse restriction2 =
RequiredConversion
.AnyAndReverse) Then
4417
Return
RequiredConversion
.AnyAndReverse
4421
If (restriction1 =
RequiredConversion
.Any OrElse restriction1 =
RequiredConversion
.ArrayElement) AndAlso
4422
(restriction2 =
RequiredConversion
.Any OrElse restriction2 =
RequiredConversion
.ArrayElement) Then
4423
Return
RequiredConversion
.ArrayElement
4425
ElseIf (restriction1 =
RequiredConversion
.Any OrElse restriction1 =
RequiredConversion
.ArrayElement OrElse restriction1 =
RequiredConversion
.Reference) AndAlso
4426
(restriction2 =
RequiredConversion
.Any OrElse restriction2 =
RequiredConversion
.ArrayElement OrElse restriction2 =
RequiredConversion
.Reference) Then
4427
Return
RequiredConversion
.Reference
4431
Return
RequiredConversion
.Identity
Semantics\TypeInference\TypeArgumentInference.vb (25)
361
inferenceRestrictions As
RequiredConversion
549
Dim inferenceRestrictions As
RequiredConversion
=
RequiredConversion
.Any
556
Debug.Assert(inferenceRestrictions =
RequiredConversion
.Any, "there should have been no prior restrictions by the time we encountered ByRef")
562
Debug.Assert(inferenceRestrictions =
RequiredConversion
.AnyAndReverse, "expected ByRef to require AnyAndReverseConversion")
1228
inferenceRestrictions:=
RequiredConversion
.Any)
1287
inferenceRestrictions As
RequiredConversion
1366
inferenceRestrictions As
RequiredConversion
1488
Dim paramInferenceRestrictions As
RequiredConversion
1502
paramInferenceRestrictions =
RequiredConversion
.Identity
1507
If paramInferenceRestrictions =
RequiredConversion
.Reference Then
1509
ElseIf paramInferenceRestrictions =
RequiredConversion
.ReverseReference Then
1555
Conversions.CombineConversionRequirements(inferenceRestrictions,
RequiredConversion
.ArrayElement))
1578
Conversions.CombineConversionRequirements(inferenceRestrictions, If(argumentIsAarrayLiteral,
RequiredConversion
.Any,
RequiredConversion
.ArrayElement)))
1617
inferenceRestrictions As
RequiredConversion
1657
(inferenceRestrictions =
RequiredConversion
.Any OrElse inferenceRestrictions =
RequiredConversion
.AnyReverse OrElse
1658
inferenceRestrictions =
RequiredConversion
.AnyAndReverse) Then
1713
RequiredConversion
.AnyReverse) Then ' AnyReverse: contravariance in delegate arguments
1736
RequiredConversion
.Any) ' Any: covariance in delegate returns
1973
inferenceRestrictions:=
RequiredConversion
.Any)
2031
inferenceRestrictions:=
RequiredConversion
.Any)
2111
inferenceRestrictions:=
RequiredConversion
.Any)
2258
inferenceRestrictions:=
RequiredConversion
.Any)
Semantics\TypeInference\TypeInferenceCollection.vb (13)
26
Public InferenceRestrictions As
RequiredConversion
33
InferenceRestrictions =
RequiredConversion
.Any
417
hintRestrictions As
RequiredConversion
,
424
Debug.Assert(
RequiredConversion
.Count = 8, "If you've updated the type argument inference restrictions, then please also update CheckHintSatisfaction()")
435
ElseIf hintRestrictions =
RequiredConversion
.None Then
437
ElseIf hintRestrictions =
RequiredConversion
.Identity Then
444
ElseIf hintRestrictions =
RequiredConversion
.Any Then
473
ElseIf hintRestrictions =
RequiredConversion
.AnyReverse Then
477
ElseIf hintRestrictions =
RequiredConversion
.AnyAndReverse Then
497
ElseIf hintRestrictions =
RequiredConversion
.ArrayElement Then
500
ElseIf hintRestrictions =
RequiredConversion
.Reference Then
519
ElseIf hintRestrictions =
RequiredConversion
.ReverseReference Then
560
conversion As
RequiredConversion
,