1 instantiation of OverloadResolution
Microsoft.CodeAnalysis.CSharp (1)
Binder\Binder.cs (1)
555
Interlocked.CompareExchange(ref _lazyOverloadResolution, new
OverloadResolution
(this), null);
78 references to OverloadResolution
Microsoft.CodeAnalysis.CSharp (78)
Binder\Binder.cs (2)
548
private
OverloadResolution
? _lazyOverloadResolution;
549
internal
OverloadResolution
OverloadResolution
Binder\Binder.ValueChecks.cs (1)
853
var resolution = this.ResolveMethodGroup(methodGroup, analyzedArguments: null, useSiteInfo: ref useSiteInfo, options:
OverloadResolution
.Options.None, acceptOnlyMethods: true);
Binder\Binder_Conversions.cs (3)
1962
options:
OverloadResolution
.Options.DynamicResolution |
OverloadResolution
.Options.DynamicConvertsToAnything,
2112
OverloadResolution
.GetEffectiveParameterTypes(
Binder\Binder_Expressions.cs (30)
8217
var resolution = this.ResolveMethodGroup(methodGroup, analyzedArguments: null, useSiteInfo: ref useSiteInfo, options:
OverloadResolution
.Options.None, acceptOnlyMethods: true);
8264
syntax, name, analyzedArguments: null, receiver, typeArgumentsOpt, options:
OverloadResolution
.Options.None,
8766
OverloadResolution
.Options options,
8775
Debug.Assert((options & ~(
OverloadResolution
.Options.IsMethodGroupConversion |
8776
OverloadResolution
.Options.IsFunctionPointerResolution |
8777
OverloadResolution
.Options.InferWithDynamic |
8778
OverloadResolution
.Options.IgnoreNormalFormIfHasValidParamsParameter |
8779
OverloadResolution
.Options.DisallowExpandedNonArrayParams |
8780
OverloadResolution
.Options.DynamicResolution |
8781
OverloadResolution
.Options.DynamicConvertsToAnything)) == 0);
8799
options |=
OverloadResolution
.Options.AllowRefOmittedArguments;
8858
OverloadResolution
.Options options,
9044
OverloadResolution
.Options options,
9107
options: options |
OverloadResolution
.Options.IsExtensionMethodResolution,
11427
resultKind: LookupResultKind.Viable, analyzedArguments: analyzedArguments, actualMethodArguments: ref actualExtensionArguments, useSiteInfo: ref useSiteInfo, options:
OverloadResolution
.Options.IgnoreNormalFormIfHasValidParamsParameter,
11598
OverloadResolution
.Options options,
11604
Debug.Assert((options & ~(
OverloadResolution
.Options.IsMethodGroupConversion |
11605
OverloadResolution
.Options.IsFunctionPointerResolution |
11606
OverloadResolution
.Options.InferWithDynamic)) == 0);
11622
OverloadResolution
.Options options,
11654
OverloadResolution
.Options options,
11726
OverloadResolution
.Options options,
11731
Debug.Assert((options & ~(
OverloadResolution
.Options.IsMethodGroupConversion |
11732
OverloadResolution
.Options.IsFunctionPointerResolution |
11733
OverloadResolution
.Options.InferWithDynamic |
11734
OverloadResolution
.Options.IgnoreNormalFormIfHasValidParamsParameter |
11735
OverloadResolution
.Options.DisallowExpandedNonArrayParams |
11736
OverloadResolution
.Options.DynamicResolution |
11737
OverloadResolution
.Options.DynamicConvertsToAnything)) == 0);
11783
options |=
OverloadResolution
.Options.AllowRefOmittedArguments;
Binder\Binder_Invocation.cs (10)
651
options: analyzedArguments.HasDynamicArgument ?
OverloadResolution
.Options.DynamicResolution :
OverloadResolution
.Options.None);
723
options: (ignoreNormalFormIfHasValidParamsParameter ?
OverloadResolution
.Options.IgnoreNormalFormIfHasValidParamsParameter :
OverloadResolution
.Options.None) |
724
(disallowExpandedNonArrayParams ?
OverloadResolution
.Options.DisallowExpandedNonArrayParams :
OverloadResolution
.Options.None) |
725
(analyzedArguments.HasDynamicArgument ?
OverloadResolution
.Options.DynamicResolution :
OverloadResolution
.Options.None),
923
if (
OverloadResolution
.IsValidParams(this, candidate.LeastOverriddenMember, disallowExpandedNonArrayParams: false, out _) &&
2466
var resolution = ResolveMethodGroup(methodGroup, analyzedArguments: null, useSiteInfo: ref useSiteInfo, options:
OverloadResolution
.Options.None, acceptOnlyMethods: true);
Binder\Binder_Operators.cs (13)
158
OverloadResolution
.GetStaticUserDefinedBinaryOperatorMethodNames(kind, checkOverflowAtRuntime, out string staticOperatorName1, out string? staticOperatorName2Opt);
466
OverloadResolution
.Options.DisallowExpandedForm | (isExtension ?
OverloadResolution
.Options.IsExtensionMethodResolution :
OverloadResolution
.Options.None));
1148
OverloadResolution
.GetStaticUserDefinedBinaryOperatorMethodNames(kind, isChecked, out string name1, out string name2Opt);
1658
OverloadResolution
.GetStaticUserDefinedUnaryOperatorMethodNames(kind, isChecked: false, out string staticOperatorName1, out string staticOperatorName2Opt);
2039
OverloadResolution
.GetStaticUserDefinedBinaryOperatorMethodNames(kind, isChecked, out string name1, out string name2Opt);
2263
OverloadResolution
.GetStaticUserDefinedUnaryOperatorMethodNames(kind, isChecked, out string name1, out string name2Opt);
3336
OverloadResolution
.GetStaticUserDefinedUnaryOperatorMethodNames(kind, isChecked, out string staticOperatorName1, out string? staticOperatorName2Opt);
3573
OverloadResolution
.Options.DisallowExpandedForm | (isExtension ?
OverloadResolution
.Options.IsExtensionMethodResolution :
OverloadResolution
.Options.None));
3890
var existing = new HashSet<MethodSymbol>(
OverloadResolution
.PairedExtensionOperatorSignatureComparer.Instance);
Binder\Binder_Statements.cs (1)
2189
if (!
OverloadResolution
.AreRefsCompatibleForMethodConversion(
Binder\ForEachLoopBinder.cs (2)
1455
options:
OverloadResolution
.Options.None);
1531
options:
OverloadResolution
.Options.None,
Binder\Semantics\Conversions\Conversions.cs (6)
272
options:
OverloadResolution
.Options.InferWithDynamic |
OverloadResolution
.Options.IsMethodGroupConversion |
273
(isFunctionPointer ?
OverloadResolution
.Options.IsFunctionPointerResolution :
OverloadResolution
.Options.None),
280
resolution = binder.ResolveMethodGroup(source, analyzedArguments: null, useSiteInfo: ref useSiteInfo, options:
OverloadResolution
.Options.IsMethodGroupConversion, acceptOnlyMethods: true);
424
options:
OverloadResolution
.Options.IsMethodGroupConversion,
Binder\Semantics\Conversions\ConversionsBase.cs (1)
1527
if (!
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)
1516
options:
OverloadResolution
.Options.IsMethodGroupConversion |
1517
(isFunctionPointerResolution ?
OverloadResolution
.Options.IsFunctionPointerResolution :
OverloadResolution
.Options.None),
BoundTree\UnboundLambda.cs (1)
811
hasParams:
OverloadResolution
.IsValidParams(Binder, lambdaSymbol, disallowExpandedNonArrayParams: false, out _),
Compilation\CSharpCompilation.cs (2)
4481
var easyOutBinaryKind =
OverloadResolution
.BinopEasyOut.OpKind(binaryKind, csharpLeftType, csharpRightType);
4704
var easyOutUnaryKind =
OverloadResolution
.UnopEasyOut.OpKind(unaryKind, csharpOperandType);
FlowAnalysis\NullableWalker.cs (2)
8701
OverloadResolution
.TryInferParamsCollectionIterationType(_binder, type.Type, out paramsIterationType);
8732
OverloadResolution
.GetEffectiveParameterTypes(