12 instantiations of MemberResolutionResult
Microsoft.CodeAnalysis.CSharp (12)
Binder\Semantics\OverloadResolution\MemberResolutionResult.cs (1)
36
return new
MemberResolutionResult
<TMember>(Member, LeastOverriddenMember, result, HasTypeArgumentInferredFromFunctionType);
Binder\Semantics\OverloadResolution\OverloadResolution.cs (11)
941
results.Add(new
MemberResolutionResult
<MethodSymbol>(constructor, constructor, MemberAnalysisResult.UnsupportedMetadata(), hasTypeArgumentInferredFromFunctionType: false));
963
results.Add(new
MemberResolutionResult
<MethodSymbol>(constructor, constructor, result, hasTypeArgumentInferredFromFunctionType: false));
1160
results.Add(new
MemberResolutionResult
<TMember>(member, leastOverriddenMember, MemberAnalysisResult.UnsupportedMetadata(), hasTypeArgumentInferredFromFunctionType: false));
4137
return new
MemberResolutionResult
<TMember>(member, leastOverriddenMember, MemberAnalysisResult.ArgumentParameterMismatch(argumentAnalysis), hasTypeArgumentInferredFromFunctionType: false);
4145
return new
MemberResolutionResult
<TMember>(member, leastOverriddenMember, MemberAnalysisResult.UseSiteError(), hasTypeArgumentInferredFromFunctionType: false);
4181
return new
MemberResolutionResult
<TMember>(member, leastOverriddenMember, MemberAnalysisResult.ArgumentParameterMismatch(argumentAnalysis), hasTypeArgumentInferredFromFunctionType: false);
4207
return new
MemberResolutionResult
<TMember>(member, leastOverriddenMember, MemberAnalysisResult.ArgumentParameterMismatch(argumentAnalysis), hasTypeArgumentInferredFromFunctionType: false);
4214
return new
MemberResolutionResult
<TMember>(member, leastOverriddenMember, MemberAnalysisResult.UseSiteError(), hasTypeArgumentInferredFromFunctionType: false);
4315
return new
MemberResolutionResult
<TMember>(member, leastOverriddenMember, inferenceError, hasTypeArgumentInferredFromFunctionType: false);
4358
return new
MemberResolutionResult
<TMember>(member, leastOverriddenMember, MemberAnalysisResult.ConstructedParameterFailedConstraintsCheck(i), hasTypeArgumentsInferredFromFunctionType);
4393
return new
MemberResolutionResult
<TMember>(member, leastOverriddenMember, applicableResult, hasTypeArgumentsInferredFromFunctionType);
163 references to MemberResolutionResult
Microsoft.CodeAnalysis.CSharp (163)
Binder\Binder.OperatorResolutionForReporting.cs (2)
172
foreach (
var
res in r1.ResultsBuilder)
287
foreach (
var
res in result1.ResultsBuilder)
Binder\Binder_Attributes.cs (1)
205
out
var
memberResolutionResult,
Binder\Binder_Conversions.cs (6)
1323
out
var
memberResolutionResult,
1737
out
MemberResolutionResult
<MethodSymbol> memberResolutionResult,
1771
MemberResolutionResult
<MethodSymbol> memberResolutionResult,
2060
ImmutableArray<
MemberResolutionResult
<MethodSymbol>> finalApplicableCandidates, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
2065
foreach (
var
candidate in finalApplicableCandidates)
2790
out
var
memberResolutionResult,
Binder\Binder_Expressions.cs (15)
3500
MemberResolutionResult
<TMember> methodResult,
3559
in
MemberResolutionResult
<TMember> methodResult,
3616
in
MemberResolutionResult
<TMember> methodResult,
3648
in
MemberResolutionResult
<TMember> methodResult,
3722
void reportUnsafeIfNeeded(
MemberResolutionResult
<TMember> methodResult, BindingDiagnosticBag diagnostics, BoundExpression argument, TypeWithAnnotations parameterTypeWithAnnotations)
3744
in
MemberResolutionResult
<TMember> methodResult,
5024
MemberResolutionResult
<MethodSymbol> memberResolutionResult;
5058
MemberResolutionResult
<MethodSymbol> memberResolutionResult,
6903
out
MemberResolutionResult
<MethodSymbol> memberResolutionResult,
6923
MemberResolutionResult
<MethodSymbol> memberResolutionResult,
7009
MemberResolutionResult
<MethodSymbol> memberResolutionResult,
7309
out
MemberResolutionResult
<MethodSymbol> memberResolutionResult,
7350
out
MemberResolutionResult
<MethodSymbol> memberResolutionResult,
7393
default(
MemberResolutionResult
<MethodSymbol>); // Invalid results are not interesting - we have enough info in candidateConstructors.
10492
MemberResolutionResult
<PropertySymbol> resolutionResult = overloadResolutionResult.ValidResult;
Binder\Binder_Invocation.cs (14)
56
foreach (
var
result in overloadResolutionResult.Results)
658
var
applicable = overloadResolutionResult.Results.Single(r => r.IsApplicable);
673
private static bool HasApplicableConditionalMethod(ImmutableArray<
MemberResolutionResult
<MethodSymbol>> finalApplicableCandidates)
675
foreach (
var
candidate in finalApplicableCandidates)
686
private void ReportMemberNotSupportedByDynamicDispatch<TMember>(SyntaxNode syntax,
MemberResolutionResult
<TMember> candidate, BindingDiagnosticBag diagnostics)
885
private void ReportDynamicInvocationWarnings(SyntaxNode syntax, BoundMethodGroup methodGroup, BindingDiagnosticBag diagnostics, ImmutableArray<
MemberResolutionResult
<MethodSymbol>> finalApplicableCandidates)
895
private bool IsAmbiguousDynamicParamsArgument<TMethodOrPropertySymbol>(ArrayBuilder<BoundExpression> arguments,
MemberResolutionResult
<TMethodOrPropertySymbol> candidate, out SyntaxNode argumentSyntax)
925
MemberResolutionResult
<MethodSymbol> methodResolutionResult,
981
MemberResolutionResult
<MethodSymbol> methodResolutionResult)
1009
private ImmutableArray<
MemberResolutionResult
<TMethodOrPropertySymbol>> GetCandidatesPassingFinalValidation<TMethodOrPropertySymbol>(
1019
var finalCandidates = ArrayBuilder<
MemberResolutionResult
<TMethodOrPropertySymbol>>.GetInstance();
1025
var
result = overloadResolutionResult.ResultsBuilder[i];
1209
var
methodResult = result.ValidResult;
2583
MemberResolutionResult
<FunctionPointerMethodSymbol> methodResult = overloadResolutionResult.ValidResult;
Binder\Semantics\OverloadResolution\MemberResolutionResult.cs (3)
34
internal
MemberResolutionResult
<TMember> WithResult(MemberAnalysisResult result)
99
internal
MemberResolutionResult
<TMember> Worse()
104
internal
MemberResolutionResult
<TMember> Worst()
Binder\Semantics\OverloadResolution\OverloadResolution.cs (65)
65
private static bool AnyValidResult<TMember>(ArrayBuilder<
MemberResolutionResult
<TMember>> results)
68
foreach (
var
result in results)
79
private static bool SingleValidResult<TMember>(ArrayBuilder<
MemberResolutionResult
<TMember>> results)
83
foreach (
var
result in results)
296
foreach (
var
res in results)
320
private static bool OverloadResolutionResultIsValid<TMember>(ArrayBuilder<
MemberResolutionResult
<TMember>> results, bool hasDynamicArgument)
337
foreach (
var
curResult in results)
352
ArrayBuilder<
MemberResolutionResult
<TMember>> results,
428
ArrayBuilder<
MemberResolutionResult
<TMember>> results,
480
RemoveLowerPriorityMembers<
MemberResolutionResult
<TMember>, TMember>(results);
494
private static void RemoveHiddenMembers<TMember>(ArrayBuilder<
MemberResolutionResult
<TMember>> results)
501
var
result = results[f];
524
var
result = results[f];
583
ArrayBuilder<
MemberResolutionResult
<TMember>> results,
610
private static void RemoveStaticInstanceMismatches<TMember>(ArrayBuilder<
MemberResolutionResult
<TMember>> results, bool requireStatic) where TMember : Symbol
614
var
result = results[f];
628
private static void RemoveMethodsNotDeclaredStatic<TMember>(ArrayBuilder<
MemberResolutionResult
<TMember>> results) where TMember : Symbol
635
var
result = results[f];
644
private void RemoveConstraintViolations<TMember>(ArrayBuilder<
MemberResolutionResult
<TMember>> results, CompoundUseSiteInfo<AssemblySymbol> template) where TMember : Symbol
651
var
result = results[f];
665
private void RemoveCallingConventionMismatches<TMember>(ArrayBuilder<
MemberResolutionResult
<TMember>> results, in CallingConventionInfo expectedConvention) where TMember : Symbol
687
var
result = results[i];
789
static
MemberResolutionResult
<TMember> makeWrongCallingConvention(
MemberResolutionResult
<TMember> result)
850
ArrayBuilder<
MemberResolutionResult
<TMember>> results,
864
var
result = results[f];
932
private void AddConstructorToCandidateSet(MethodSymbol constructor, ArrayBuilder<
MemberResolutionResult
<MethodSymbol>> results,
1060
ArrayBuilder<
MemberResolutionResult
<TMember>> results,
1178
var
normalResult = skipNormalResult
1179
? default(
MemberResolutionResult
<TMember>)
1189
var
result = normalResult;
1199
var
expandedResult = IsMemberApplicableInExpandedForm(
1236
private static bool PreferExpandedFormOverNormalForm<TMember>(
MemberResolutionResult
<TMember> normalResult,
MemberResolutionResult
<TMember> expandedResult)
1285
static bool haveBadArgumentForLastParameter(
MemberResolutionResult
<TMember> result)
1479
private void RemoveInaccessibleTypeArguments<TMember>(ArrayBuilder<
MemberResolutionResult
<TMember>> results, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
1484
var
result = results[f];
1505
private static void RemoveLessDerivedMembers<TMember>(ArrayBuilder<
MemberResolutionResult
<TMember>> results, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
1596
var
result = results[f];
1628
private static bool IsLessDerivedThanAny<TMember>(int index, TypeSymbol type, ArrayBuilder<
MemberResolutionResult
<TMember>> results, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
1638
var
result = results[f];
1671
private static void RemoveAllInterfaceMembers<TMember>(ArrayBuilder<
MemberResolutionResult
<TMember>> results)
1708
var
result = results[f];
1729
var
result = results[f];
1747
ArrayBuilder<
MemberResolutionResult
<MethodSymbol>> results,
1777
RemoveLowerPriorityMembers<
MemberResolutionResult
<MethodSymbol>, MethodSymbol>(results);
1789
private static void ReportUseSiteInfo<TMember>(ArrayBuilder<
MemberResolutionResult
<TMember>> results, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
1792
foreach (
MemberResolutionResult
<TMember> result in results)
1798
private int GetTheBestCandidateIndex<TMember>(ArrayBuilder<
MemberResolutionResult
<TMember>> results, AnalyzedArguments arguments, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
1950
private void RemoveWorseMembers<TMember>(ArrayBuilder<
MemberResolutionResult
<TMember>> results, AnalyzedArguments arguments, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
2006
var
c1Result = results[c1Idx];
2016
var
c2Result = results[c2Idx];
2098
MemberResolutionResult
<TMember> m1,
2099
MemberResolutionResult
<TMember> m2,
2137
MemberResolutionResult
<TMember> m1,
2138
MemberResolutionResult
<TMember> m2,
2618
MemberResolutionResult
<TMember> m1,
2620
MemberResolutionResult
<TMember> m2,
2699
private static bool RequiredFunctionType<TMember>(
MemberResolutionResult
<TMember> m)
2720
private static void GetParameterCounts<TMember>(
MemberResolutionResult
<TMember> m, ArrayBuilder<BoundExpression> arguments, out int declaredParameterCount, out int parametersUsedIncludingExpansionAndOptional) where TMember : Symbol
4109
private
MemberResolutionResult
<TMember> IsMemberApplicableInNormalForm<TMember>(
4164
var
applicableResult = IsApplicable(
4187
private
MemberResolutionResult
<TMember> IsMemberApplicableInExpandedForm<TMember>(
4233
var
result = IsApplicable(
4250
private
MemberResolutionResult
<TMember> IsApplicable<TMember>(
Binder\Semantics\OverloadResolution\OverloadResolutionResult.cs (57)
28
private
MemberResolutionResult
<TMember> _bestResult;
30
internal readonly ArrayBuilder<
MemberResolutionResult
<TMember>> ResultsBuilder;
35
this.ResultsBuilder = new ArrayBuilder<
MemberResolutionResult
<TMember>>();
40
_bestResult = default(
MemberResolutionResult
<TMember>);
62
public
MemberResolutionResult
<TMember> ValidResult
87
public
MemberResolutionResult
<TMember> BestResult
102
public ImmutableArray<
MemberResolutionResult
<TMember>> Results
119
foreach (
var
res in this.ResultsBuilder)
154
foreach (
var
res in this.ResultsBuilder)
165
private static ThreeState TryGetBestResult(ArrayBuilder<
MemberResolutionResult
<TMember>> allResults, out
MemberResolutionResult
<TMember> best)
167
best = default(
MemberResolutionResult
<TMember>);
170
foreach (
var
pair in allResults)
177
best = default(
MemberResolutionResult
<TMember>);
394
MemberResolutionResult
<TMember> firstSupported = default(
MemberResolutionResult
<TMember>);
395
MemberResolutionResult
<TMember> firstUnsupported = default(
MemberResolutionResult
<TMember>);
397
var supportedInPriorityOrder = new
MemberResolutionResult
<TMember>[7]; // from highest to lowest priority
406
foreach (
MemberResolutionResult
<TMember> result in this.ResultsBuilder)
479
foreach (
var
supported in supportedInPriorityOrder)
603
private static void ReportUnsupportedMetadata(Location location, BindingDiagnosticBag diagnostics, ImmutableArray<Symbol> symbols,
MemberResolutionResult
<TMember> firstUnsupported)
618
private static void ReportWrongCallingConvention(Location location, BindingDiagnosticBag diagnostics, ImmutableArray<Symbol> symbols,
MemberResolutionResult
<TMember> firstSupported, MethodSymbol target)
629
var
bad = GetFirstMemberKind(MemberResolutionKind.UseSiteError);
648
var
inaccessible = GetFirstMemberKind(MemberResolutionKind.InaccessibleTypeArgument);
671
var
staticInstanceMismatch = GetFirstMemberKind(MemberResolutionKind.StaticInstanceMismatch);
722
var
mismatch = GetFirstMemberKind(MemberResolutionKind.WrongRefKind);
743
var
constraintFailure = GetFirstMemberKind(MemberResolutionKind.ConstraintFailure);
769
var
inferenceFailed = GetFirstMemberKind(MemberResolutionKind.TypeInferenceFailed);
825
MemberResolutionResult
<TMember> bad,
845
MemberResolutionResult
<TMember> bad,
864
private static void ReportDuplicateNamedArgument(
MemberResolutionResult
<TMember> result, BindingDiagnosticBag diagnostics, AnalyzedArguments arguments)
876
MemberResolutionResult
<TMember> bad,
913
MemberResolutionResult
<TMember> bad,
1071
var
result = GetFirstMemberKind(MemberResolutionKind.ConstructedParameterFailedConstraintCheck);
1129
var
badArg = GetFirstMemberKind(MemberResolutionKind.BadArgumentConversion);
1194
MemberResolutionResult
<TMember> badArg,
1418
static Symbol unwrapIfParamsCollection(
MemberResolutionResult
<TMember> badArg, ParameterSymbol parameter, bool isLastParameter)
1432
MemberResolutionResult
<TMember> worseResult1;
1433
MemberResolutionResult
<TMember> worseResult2;
1467
private int TryGetFirstTwoWorseResults(out
MemberResolutionResult
<TMember> first, out
MemberResolutionResult
<TMember> second)
1472
first = default(
MemberResolutionResult
<TMember>);
1473
second = default(
MemberResolutionResult
<TMember>);
1475
foreach (
var
res in this.ResultsBuilder)
1498
MemberResolutionResult
<TMember> validResult1;
1499
MemberResolutionResult
<TMember> validResult2;
1523
private int TryGetFirstTwoValidResults(out
MemberResolutionResult
<TMember> first, out
MemberResolutionResult
<TMember> second)
1528
first = default(
MemberResolutionResult
<TMember>);
1529
second = default(
MemberResolutionResult
<TMember>);
1531
foreach (
var
res in this.ResultsBuilder)
1564
foreach (
var
result in this.ResultsBuilder)
1573
private
MemberResolutionResult
<TMember> GetFirstMemberKind(MemberResolutionKind kind)
1575
foreach (
var
result in this.ResultsBuilder)
1583
return default(
MemberResolutionResult
<TMember>);
1609
foreach (
var
result in ResultsBuilder)