3 writes to Candidate
Microsoft.CodeAnalysis.VisualBasic (3)
Semantics\OverloadResolution.vb (3)
764Me.Candidate = candidate 769Me.Candidate = candidate 5295candidate.Candidate = candidate.Candidate.Construct(typeArguments)
151 references to Candidate
Microsoft.CodeAnalysis.VisualBasic (151)
Binding\Binder_Attributes.vb (1)
318methodSym = DirectCast(methodResult.Candidate.UnderlyingSymbol, MethodSymbol)
Binding\Binder_Delegates.vb (3)
636Dim targetMethodSymbol = DirectCast(analysisResult.Candidate.UnderlyingSymbol, MethodSymbol) 710analysisResult.Candidate.UnderlyingSymbol)) 785Dim bestCandidate As OverloadResolution.Candidate = bestResult.Candidate
Binding\Binder_Invocation.vb (10)
833Dim candidate = bestResult.Candidate 838ReportDiagnostic(diagnostics, target, GetInaccessibleErrorInfo(bestResult.Candidate.UnderlyingSymbol)) 1378singleCandidate = singleCandidateAnalysisResult.Candidate 1994Dim candidate As OverloadResolution.Candidate = candidateAnalysisResult.Candidate 2638Dim paramCount As Integer = candidate.Candidate.ParameterCount 2679paramIndex = candidate.Candidate.ParameterCount - 1) Then 2691Dim candidateIsAProperty As Boolean = (candidate.Candidate.UnderlyingSymbol.Kind = SymbolKind.Property) 2695Dim param As ParameterSymbol = candidate.Candidate.Parameters(paramIndex) 2702If candidate.IsExpandedParamArrayForm AndAlso paramIndex = candidate.Candidate.ParameterCount - 1 Then 2726If argument IsNot Nothing AndAlso paramIndex = candidate.Candidate.ParameterCount - 1 AndAlso
Binding\Binder_ObjectInitializer.vb (3)
473ReportDiagnosticsIfObsoleteOrNotSupported(diagnostics, methodResult.Candidate.UnderlyingSymbol, node) 495ImmutableArray.Create(Of Symbol)(methodResult.Candidate.UnderlyingSymbol), 499Dim constructorSymbol As MethodSymbol = DirectCast(methodResult.Candidate.UnderlyingSymbol, MethodSymbol)
Binding\Binder_Operators.vb (8)
302userDefinedOperator.BestResult.Value.Candidate, 605DirectCast(bestCandidate.Candidate.UnderlyingSymbol, MethodSymbol)), 613If bestCandidate.Candidate.IsLifted Then 680Dim bitwiseCandidate As OverloadResolution.Candidate = bitwiseAnalysis.Candidate 732Dim checkCandidate As OverloadResolution.Candidate = leftCheckOperator.BestResult.Value.Candidate 1166userDefinedOperator.BestResult.Value.Candidate, 1256DirectCast(bestCandidate.Candidate.UnderlyingSymbol, MethodSymbol)), 1264If bestCandidate.Candidate.IsLifted Then
Binding\Binder_Query.vb (2)
1994Dim method = DirectCast(results.BestResult.Value.Candidate.UnderlyingSymbol, MethodSymbol) 2068Dim method = DirectCast(results.BestResult.Value.Candidate.UnderlyingSymbol, MethodSymbol)
Binding\Binder_Statements.vb (1)
3295Dim bestCandidate As OverloadResolution.Candidate = userDefinedOperator.BestResult.Value.Candidate
Compilation\MethodResolutionResult.vb (1)
57Return DirectCast(_candidate.Candidate.UnderlyingSymbol, TMember)
Semantics\Conversions.vb (1)
1508If results.BestResult.Value.Candidate.IsLifted Then
Semantics\OverloadResolution.vb (121)
1313Dim priorityInfo As (Source As NamedTypeSymbol, Priority As Integer) = current.Candidate.GetOverloadResolutionPriorityInfo() 1396If existingCandidate.Candidate Is newCandidate.Candidate Then 1436Dim operatorResolution As Boolean = newCandidate.Candidate.IsOperator 1438Debug.Assert(newCandidate.Candidate.ParameterCount >= argumentCount OrElse newCandidate.IsExpandedParamArrayForm) 1457Debug.Assert(existingCandidate.Candidate.ParameterCount >= argumentCount OrElse existingCandidate.IsExpandedParamArrayForm) 1462(existingCandidate.Candidate.IsExtensionMethod OrElse newCandidate.Candidate.IsExtensionMethod) Then 1478If existingCandidate.Candidate.ParameterCount <> newCandidate.Candidate.ParameterCount Then 1483Debug.Assert(argumentCount = existingCandidate.Candidate.ParameterCount) 1527Not (existingCandidate.Candidate.IsExtensionMethod OrElse newCandidate.Candidate.IsExtensionMethod) Then 1533If (Not signatureMatch OrElse existingCandidate.Candidate.IsExtensionMethod OrElse newCandidate.Candidate.IsExtensionMethod) AndAlso 1955Dim leftReturnsVoid As Boolean = left.Candidate.ReturnType.IsVoidType() 1956Dim rightReturnsVoid As Boolean = right.Candidate.ReturnType.IsVoidType() 2173If left.Candidate.ParameterCount <> right.Candidate.ParameterCount Then 2176For k As Integer = 0 To left.Candidate.ParameterCount - 1 Step 1 2178Dim leftType As TypeSymbol = left.Candidate.Parameters(k).Type 2179Dim rightType As TypeSymbol = right.Candidate.Parameters(k).Type 2567right.Candidate Is left.Candidate Then 2713Debug.Assert(current.Candidate.IsOperator) 2716Not current.Candidate.IsLifted AndAlso 2720Debug.Assert(contender.Candidate.IsOperator) 2723contender.Candidate.IsLifted AndAlso 2724current.Candidate.UnderlyingSymbol Is contender.Candidate.UnderlyingSymbol Then 2744Debug.Assert(current.Candidate.IsOperator) 2747Not current.Candidate.IsLifted AndAlso 2751Debug.Assert(contender.Candidate.IsOperator) 2754contender.Candidate.IsLifted AndAlso 2755current.Candidate.UnderlyingSymbol Is contender.Candidate.UnderlyingSymbol Then 2765If IsUnwrappingNullable(conv.Key, arguments(j).Type, current.Candidate.Parameters(j).Type) Then 2773ElseIf IsUnwrappingNullable(conv.Value.ReturnType, current.Candidate.Parameters(j).Type, useSiteInfo) Then 2827If (current.RequiresNarrowingNotFromObject OrElse current.Candidate.IsExtensionMethod) Then 2862If first.Candidate.UnderlyingSymbol.Equals(second.Candidate.UnderlyingSymbol) Then 2925Not current.Candidate.IsExtensionMethod Then 3043parameterToArgumentMap = ArrayBuilder(Of Integer).GetInstance(candidate.Candidate.ParameterCount, -1) 3072If Not candidate.Candidate.TryGetNamedParamIndex(argumentNames(i), paramIndex) Then 3084If paramIndex = candidate.Candidate.ParameterCount - 1 AndAlso 3085candidate.Candidate.Parameters(paramIndex).IsParamArray Then 3102If paramIndex = candidate.Candidate.ParameterCount - 1 AndAlso 3103candidate.Candidate.Parameters(paramIndex).IsParamArray Then 3114paramIndex = candidate.Candidate.ParameterCount - 1) Then 3139If Not candidate.Candidate.TryGetNamedParamIndex(argumentNames(i), paramIndex) Then 3151If paramIndex = candidate.Candidate.ParameterCount - 1 AndAlso 3152candidate.Candidate.Parameters(paramIndex).IsParamArray Then 3227Debug.Assert(Not candidate.Candidate.UnderlyingSymbol.IsReducedExtensionMethod() OrElse methodOrPropertyGroup.ReceiverOpt IsNot Nothing OrElse TypeOf methodOrPropertyGroup.SyntaxTree Is DummySyntaxTree) 3246If Not candidate.Candidate.IsExtensionMethod Then 3252Dim candidateSymbol = candidate.Candidate.UnderlyingSymbol 3279Dim candidateIsAProperty As Boolean = (candidate.Candidate.UnderlyingSymbol.Kind = SymbolKind.Property) 3281For paramIndex = 0 To candidate.Candidate.ParameterCount - 1 Step 1 3288Dim param As ParameterSymbol = candidate.Candidate.Parameters(paramIndex) 3292If param.IsParamArray AndAlso paramIndex = candidate.Candidate.ParameterCount - 1 Then 3510optionalArguments = New OptionalArgument(candidate.Candidate.ParameterCount - 1) {} 3755DirectCast(candidate.Candidate.UnderlyingSymbol, MethodSymbol).MethodKind = MethodKind.Constructor AndAlso 3756binder.Compilation.GetWellKnownType(WellKnownType.System_Attribute).IsBaseTypeOf(candidate.Candidate.UnderlyingSymbol.ContainingType, useSiteInfo) Then 4254If typeArguments.Length = 0 AndAlso newCandidate.Candidate.Arity > 0 Then 4288Dim operatorResolution As Boolean = newCandidate.Candidate.IsOperator 4290Debug.Assert(newCandidate.Candidate.ParameterCount >= argumentCount OrElse newCandidate.IsExpandedParamArrayForm) 4307If existingCandidate.Candidate Is newCandidate.Candidate Then 4349Debug.Assert(existingCandidate.Candidate.ParameterCount >= argumentCount OrElse existingCandidate.IsExpandedParamArrayForm) 4363If existingCandidate.Candidate.ParameterCount <> newCandidate.Candidate.ParameterCount Then 4367Debug.Assert(argumentCount = existingCandidate.Candidate.ParameterCount) 4416Not (existingCandidate.Candidate.IsExtensionMethod OrElse newCandidate.Candidate.IsExtensionMethod) Then 4423(signatureMatch AndAlso Not (existingCandidate.Candidate.IsExtensionMethod OrElse newCandidate.Candidate.IsExtensionMethod))) AndAlso 4490For j As Integer = 0 To existingCandidate.Candidate.ParameterCount - 1 Step 1 4492Dim existingType As TypeSymbol = existingCandidate.Candidate.Parameters(j).Type 4493Dim newType As TypeSymbol = newCandidate.Candidate.Parameters(j).Type 4507If existingCandidate.Candidate.IsLifted Then 4508If Not newCandidate.Candidate.IsLifted Then 4512ElseIf newCandidate.Candidate.IsLifted Then 4513Debug.Assert(Not existingCandidate.Candidate.IsLifted) 4525Dim existingSymbol As Symbol = existingCandidate.Candidate.UnderlyingSymbol 4526Dim newSymbol As Symbol = newCandidate.Candidate.UnderlyingSymbol 4542If newCandidate.Candidate.IsOverriddenBy(existingSymbol) Then 4546ElseIf existingIsApplicable AndAlso existingCandidate.Candidate.IsOverriddenBy(newSymbol) Then 4565If left.Candidate.IsExtensionMethod Then 4566If Not right.Candidate.IsExtensionMethod Then 4573If left.Candidate.PrecedenceLevel < right.Candidate.PrecedenceLevel Then 4577ElseIf left.Candidate.PrecedenceLevel > right.Candidate.PrecedenceLevel Then 4584ElseIf right.Candidate.IsExtensionMethod Then 4625If Not (left.Candidate.IsGeneric OrElse right.Candidate.IsGeneric) Then 4629If Not ((left.Candidate.UnderlyingSymbol.ContainingType.IsOrInGenericType() OrElse 4630(left.Candidate.IsExtensionMethod AndAlso Not left.Candidate.FixedTypeParameters.IsNull)) OrElse 4631(right.Candidate.UnderlyingSymbol.ContainingType.IsOrInGenericType() OrElse 4632(right.Candidate.IsExtensionMethod AndAlso Not right.Candidate.FixedTypeParameters.IsNull))) Then 4686Dim leftRefersTo As TypeParameterKind = DetectReferencesToGenericParameters(leftParamTypeForGenericityCheck, track, left.Candidate.FixedTypeParameters) 4687Dim rightRefersTo As TypeParameterKind = DetectReferencesToGenericParameters(rightParamTypeForGenericityCheck, track, right.Candidate.FixedTypeParameters) 5001If Not left.Candidate.IsExtensionMethod OrElse Not right.Candidate.IsExtensionMethod Then 5007If Not left.Candidate.ReceiverType.IsSameTypeIgnoringAll(right.Candidate.ReceiverType) Then 5012Dim leftRefersToATypeParameter = DetectReferencesToGenericParameters(left.Candidate.ReceiverTypeDefinition, 5017Dim rightRefersToATypeParameter = DetectReferencesToGenericParameters(right.Candidate.ReceiverTypeDefinition, 5140Dim leftType = left.Candidate.ReceiverType 5141Dim rightType = right.Candidate.ReceiverType 5203Dim paramType As TypeSymbol = candidate.Candidate.Parameters(paramIndex).Type 5206paramIndex = candidate.Candidate.ParameterCount - 1 AndAlso 5219Dim param As ParameterSymbol = candidate.Candidate.Parameters(paramIndex) 5233paramIndex = candidate.Candidate.ParameterCount - 1 AndAlso 5247paramIndex = candidate.Candidate.ParameterCount - 1) Then 5280If TypeArgumentInference.Infer(DirectCast(candidate.Candidate.UnderlyingSymbol, MethodSymbol), 5295candidate.Candidate = candidate.Candidate.Construct(typeArguments) 5306candidate.Candidate.TypeParameters(i), 5307DirectCast(candidate.Candidate.UnderlyingSymbol, MethodSymbol).OriginalDefinition, 5325If Not candidate.Candidate.IsExtensionMethod Then