1 instantiation of OverloadResolution
Microsoft.CodeAnalysis.CSharp (1)
Binder\Binder.cs (1)
522Interlocked.CompareExchange(ref _lazyOverloadResolution, new OverloadResolution(this), null);
61 references to OverloadResolution
Microsoft.CodeAnalysis.CSharp (61)
Binder\Binder.cs (2)
515private OverloadResolution? _lazyOverloadResolution; 516internal OverloadResolution OverloadResolution
Binder\Binder.ValueChecks.cs (1)
593var resolution = this.ResolveMethodGroup(methodGroup, analyzedArguments: null, useSiteInfo: ref useSiteInfo, options: OverloadResolution.Options.None);
Binder\Binder_Expressions.cs (28)
7927var resolution = this.ResolveMethodGroup(methodGroup, analyzedArguments: null, useSiteInfo: ref useSiteInfo, options: OverloadResolution.Options.None); 8375OverloadResolution.Options options, 8381Debug.Assert((options & ~(OverloadResolution.Options.IsMethodGroupConversion | 8382OverloadResolution.Options.IsFunctionPointerResolution | 8383OverloadResolution.Options.InferWithDynamic | 8384OverloadResolution.Options.IgnoreNormalFormIfHasValidParamsParameter | 8385OverloadResolution.Options.DisallowExpandedNonArrayParams | 8386OverloadResolution.Options.DynamicResolution | 8387OverloadResolution.Options.DynamicConvertsToAnything)) == 0); 8439options |= OverloadResolution.Options.AllowRefOmittedArguments; 8450options: options | OverloadResolution.Options.IsExtensionMethodResolution, 10273OverloadResolution.Options options, 10278Debug.Assert((options & ~(OverloadResolution.Options.IsMethodGroupConversion | 10279OverloadResolution.Options.IsFunctionPointerResolution | 10280OverloadResolution.Options.InferWithDynamic)) == 0); 10294OverloadResolution.Options options, 10330options: OverloadResolution.Options.IsMethodGroupConversion | OverloadResolution.Options.IsFunctionPointerResolution, 10342OverloadResolution.Options options, 10412OverloadResolution.Options options, 10417Debug.Assert((options & ~(OverloadResolution.Options.IsMethodGroupConversion | 10418OverloadResolution.Options.IsFunctionPointerResolution | 10419OverloadResolution.Options.InferWithDynamic | 10420OverloadResolution.Options.IgnoreNormalFormIfHasValidParamsParameter | 10421OverloadResolution.Options.DisallowExpandedNonArrayParams | 10422OverloadResolution.Options.DynamicResolution | 10423OverloadResolution.Options.DynamicConvertsToAnything)) == 0); 10472options |= OverloadResolution.Options.AllowRefOmittedArguments;
Binder\Binder_Invocation.cs (10)
642options: analyzedArguments.HasDynamicArgument ? OverloadResolution.Options.DynamicResolution : OverloadResolution.Options.None); 714options: (ignoreNormalFormIfHasValidParamsParameter ? OverloadResolution.Options.IgnoreNormalFormIfHasValidParamsParameter : OverloadResolution.Options.None) | 715(disallowExpandedNonArrayParams ? OverloadResolution.Options.DisallowExpandedNonArrayParams : OverloadResolution.Options.None) | 716(analyzedArguments.HasDynamicArgument ? OverloadResolution.Options.DynamicResolution : OverloadResolution.Options.None)); 859if (OverloadResolution.IsValidParams(this, candidate.LeastOverriddenMember, disallowExpandedNonArrayParams: false, out _) && 2254var resolution = ResolveMethodGroup(methodGroup, analyzedArguments: null, useSiteInfo: ref useSiteInfo, options: OverloadResolution.Options.None);
Binder\Binder_Query.cs (1)
960var resolution = this.ResolveMethodGroup(methodGroup, analyzedArguments: null, useSiteInfo: ref useSiteInfo, options: OverloadResolution.Options.None);
Binder\Binder_Statements.cs (1)
2158if (!OverloadResolution.AreRefsCompatibleForMethodConversion(
Binder\ForEachLoopBinder.cs (2)
1437options: OverloadResolution.Options.None); 1509options: OverloadResolution.Options.None,
Binder\Semantics\Conversions\Conversions.cs (6)
256options: OverloadResolution.Options.InferWithDynamic | OverloadResolution.Options.IsMethodGroupConversion | 257(isFunctionPointer ? OverloadResolution.Options.IsFunctionPointerResolution : OverloadResolution.Options.None), 265return binder.ResolveMethodGroup(source, analyzedArguments: null, ref useSiteInfo, options: OverloadResolution.Options.IsMethodGroupConversion); 392options: OverloadResolution.Options.IsMethodGroupConversion,
Binder\Semantics\Conversions\ConversionsBase.cs (1)
1512if (!OverloadResolution.AreRefsCompatibleForMethodConversion(
Binder\Semantics\OverloadResolution\IMemberResolutionResultWithPriority.cs (1)
8/// Abstraction for use in <see cref="OverloadResolution.RemoveLowerPriorityMembers{TMemberResolution, TMember}(PooledObjects.ArrayBuilder{TMemberResolution})"/>,
Binder\Semantics\OverloadResolution\MethodTypeInference.cs (3)
1488options: OverloadResolution.Options.IsMethodGroupConversion | 1489(isFunctionPointerResolution ? OverloadResolution.Options.IsFunctionPointerResolution : OverloadResolution.Options.None),
BoundTree\UnboundLambda.cs (1)
788hasParams: OverloadResolution.IsValidParams(Binder, lambdaSymbol, disallowExpandedNonArrayParams: false, out _),
Compilation\CSharpCompilation.cs (2)
4292var easyOutBinaryKind = OverloadResolution.BinopEasyOut.OpKind(binaryKind, csharpLeftType, csharpRightType); 4515var easyOutUnaryKind = OverloadResolution.UnopEasyOut.OpKind(unaryKind, csharpOperandType);
FlowAnalysis\NullableWalker.cs (2)
7869OverloadResolution.TryInferParamsCollectionIterationType(_binder, type.Type, out paramsIterationType); 7899OverloadResolution.GetEffectiveParameterTypes(