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