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)
939
results.Add(new
MemberResolutionResult
<MethodSymbol>(constructor, constructor, MemberAnalysisResult.UnsupportedMetadata(), hasTypeArgumentInferredFromFunctionType: false));
961
results.Add(new
MemberResolutionResult
<MethodSymbol>(constructor, constructor, result, hasTypeArgumentInferredFromFunctionType: false));
1158
results.Add(new
MemberResolutionResult
<TMember>(member, leastOverriddenMember, MemberAnalysisResult.UnsupportedMetadata(), hasTypeArgumentInferredFromFunctionType: false));
4128
return new
MemberResolutionResult
<TMember>(member, leastOverriddenMember, MemberAnalysisResult.ArgumentParameterMismatch(argumentAnalysis), hasTypeArgumentInferredFromFunctionType: false);
4136
return new
MemberResolutionResult
<TMember>(member, leastOverriddenMember, MemberAnalysisResult.UseSiteError(), hasTypeArgumentInferredFromFunctionType: false);
4172
return new
MemberResolutionResult
<TMember>(member, leastOverriddenMember, MemberAnalysisResult.ArgumentParameterMismatch(argumentAnalysis), hasTypeArgumentInferredFromFunctionType: false);
4198
return new
MemberResolutionResult
<TMember>(member, leastOverriddenMember, MemberAnalysisResult.ArgumentParameterMismatch(argumentAnalysis), hasTypeArgumentInferredFromFunctionType: false);
4205
return new
MemberResolutionResult
<TMember>(member, leastOverriddenMember, MemberAnalysisResult.UseSiteError(), hasTypeArgumentInferredFromFunctionType: false);
4306
return new
MemberResolutionResult
<TMember>(member, leastOverriddenMember, inferenceError, hasTypeArgumentInferredFromFunctionType: false);
4349
return new
MemberResolutionResult
<TMember>(member, leastOverriddenMember, MemberAnalysisResult.ConstructedParameterFailedConstraintsCheck(i), hasTypeArgumentsInferredFromFunctionType);
4384
return new
MemberResolutionResult
<TMember>(member, leastOverriddenMember, applicableResult, hasTypeArgumentsInferredFromFunctionType);
160 references to MemberResolutionResult
Microsoft.CodeAnalysis.CSharp (158)
Binder\Binder_Attributes.cs (1)
205
out
var
memberResolutionResult,
Binder\Binder_Conversions.cs (4)
1143
out
MemberResolutionResult
<MethodSymbol> memberResolutionResult,
1177
MemberResolutionResult
<MethodSymbol> memberResolutionResult,
1461
ImmutableArray<
MemberResolutionResult
<MethodSymbol>> finalApplicableCandidates, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
1466
foreach (
var
candidate in finalApplicableCandidates)
Binder\Binder_Expressions.cs (14)
3438
MemberResolutionResult
<TMember> methodResult,
3497
in
MemberResolutionResult
<TMember> methodResult,
3554
in
MemberResolutionResult
<TMember> methodResult,
3586
in
MemberResolutionResult
<TMember> methodResult,
3660
void reportUnsafeIfNeeded(
MemberResolutionResult
<TMember> methodResult, BindingDiagnosticBag diagnostics, BoundExpression argument, TypeWithAnnotations parameterTypeWithAnnotations)
3682
in
MemberResolutionResult
<TMember> methodResult,
4958
MemberResolutionResult
<MethodSymbol> memberResolutionResult;
4992
MemberResolutionResult
<MethodSymbol> memberResolutionResult,
6778
out
MemberResolutionResult
<MethodSymbol> memberResolutionResult,
6798
MemberResolutionResult
<MethodSymbol> memberResolutionResult,
6883
MemberResolutionResult
<MethodSymbol> memberResolutionResult,
7183
out
MemberResolutionResult
<MethodSymbol> memberResolutionResult,
7233
default(
MemberResolutionResult
<MethodSymbol>); // Invalid results are not interesting - we have enough info in candidateConstructors.
10237
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;
2559
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];
581
ArrayBuilder<
MemberResolutionResult
<TMember>> results,
608
private static void RemoveStaticInstanceMismatches<TMember>(ArrayBuilder<
MemberResolutionResult
<TMember>> results, bool requireStatic) where TMember : Symbol
612
var
result = results[f];
626
private static void RemoveMethodsNotDeclaredStatic<TMember>(ArrayBuilder<
MemberResolutionResult
<TMember>> results) where TMember : Symbol
633
var
result = results[f];
642
private void RemoveConstraintViolations<TMember>(ArrayBuilder<
MemberResolutionResult
<TMember>> results, CompoundUseSiteInfo<AssemblySymbol> template) where TMember : Symbol
649
var
result = results[f];
663
private void RemoveCallingConventionMismatches<TMember>(ArrayBuilder<
MemberResolutionResult
<TMember>> results, in CallingConventionInfo expectedConvention) where TMember : Symbol
685
var
result = results[i];
787
static
MemberResolutionResult
<TMember> makeWrongCallingConvention(
MemberResolutionResult
<TMember> result)
848
ArrayBuilder<
MemberResolutionResult
<TMember>> results,
862
var
result = results[f];
930
private void AddConstructorToCandidateSet(MethodSymbol constructor, ArrayBuilder<
MemberResolutionResult
<MethodSymbol>> results,
1058
ArrayBuilder<
MemberResolutionResult
<TMember>> results,
1176
var
normalResult = skipNormalResult
1177
? default(
MemberResolutionResult
<TMember>)
1187
var
result = normalResult;
1197
var
expandedResult = IsMemberApplicableInExpandedForm(
1234
private static bool PreferExpandedFormOverNormalForm<TMember>(
MemberResolutionResult
<TMember> normalResult,
MemberResolutionResult
<TMember> expandedResult)
1277
static bool haveBadArgumentForLastParameter(
MemberResolutionResult
<TMember> result)
1470
private void RemoveInaccessibleTypeArguments<TMember>(ArrayBuilder<
MemberResolutionResult
<TMember>> results, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
1475
var
result = results[f];
1496
private static void RemoveLessDerivedMembers<TMember>(ArrayBuilder<
MemberResolutionResult
<TMember>> results, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
1587
var
result = results[f];
1619
private static bool IsLessDerivedThanAny<TMember>(int index, TypeSymbol type, ArrayBuilder<
MemberResolutionResult
<TMember>> results, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
1629
var
result = results[f];
1662
private static void RemoveAllInterfaceMembers<TMember>(ArrayBuilder<
MemberResolutionResult
<TMember>> results)
1699
var
result = results[f];
1720
var
result = results[f];
1738
ArrayBuilder<
MemberResolutionResult
<MethodSymbol>> results,
1768
RemoveLowerPriorityMembers<
MemberResolutionResult
<MethodSymbol>, MethodSymbol>(results);
1780
private static void ReportUseSiteInfo<TMember>(ArrayBuilder<
MemberResolutionResult
<TMember>> results, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
1783
foreach (
MemberResolutionResult
<TMember> result in results)
1789
private int GetTheBestCandidateIndex<TMember>(ArrayBuilder<
MemberResolutionResult
<TMember>> results, AnalyzedArguments arguments, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
1941
private void RemoveWorseMembers<TMember>(ArrayBuilder<
MemberResolutionResult
<TMember>> results, AnalyzedArguments arguments, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
1997
var
c1Result = results[c1Idx];
2007
var
c2Result = results[c2Idx];
2089
MemberResolutionResult
<TMember> m1,
2090
MemberResolutionResult
<TMember> m2,
2128
MemberResolutionResult
<TMember> m1,
2129
MemberResolutionResult
<TMember> m2,
2609
MemberResolutionResult
<TMember> m1,
2611
MemberResolutionResult
<TMember> m2,
2690
private static bool RequiredFunctionType<TMember>(
MemberResolutionResult
<TMember> m)
2711
private static void GetParameterCounts<TMember>(
MemberResolutionResult
<TMember> m, ArrayBuilder<BoundExpression> arguments, out int declaredParameterCount, out int parametersUsedIncludingExpansionAndOptional) where TMember : Symbol
4100
private
MemberResolutionResult
<TMember> IsMemberApplicableInNormalForm<TMember>(
4155
var
applicableResult = IsApplicable(
4178
private
MemberResolutionResult
<TMember> IsMemberApplicableInExpandedForm<TMember>(
4224
var
result = IsApplicable(
4241
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)
598
private static void ReportUnsupportedMetadata(Location location, BindingDiagnosticBag diagnostics, ImmutableArray<Symbol> symbols,
MemberResolutionResult
<TMember> firstUnsupported)
613
private static void ReportWrongCallingConvention(Location location, BindingDiagnosticBag diagnostics, ImmutableArray<Symbol> symbols,
MemberResolutionResult
<TMember> firstSupported, MethodSymbol target)
624
var
bad = GetFirstMemberKind(MemberResolutionKind.UseSiteError);
643
var
inaccessible = GetFirstMemberKind(MemberResolutionKind.InaccessibleTypeArgument);
666
var
staticInstanceMismatch = GetFirstMemberKind(MemberResolutionKind.StaticInstanceMismatch);
717
var
mismatch = GetFirstMemberKind(MemberResolutionKind.WrongRefKind);
738
var
constraintFailure = GetFirstMemberKind(MemberResolutionKind.ConstraintFailure);
764
var
inferenceFailed = GetFirstMemberKind(MemberResolutionKind.TypeInferenceFailed);
820
MemberResolutionResult
<TMember> bad,
840
MemberResolutionResult
<TMember> bad,
859
private static void ReportDuplicateNamedArgument(
MemberResolutionResult
<TMember> result, BindingDiagnosticBag diagnostics, AnalyzedArguments arguments)
871
MemberResolutionResult
<TMember> bad,
908
MemberResolutionResult
<TMember> bad,
1062
var
result = GetFirstMemberKind(MemberResolutionKind.ConstructedParameterFailedConstraintCheck);
1120
var
badArg = GetFirstMemberKind(MemberResolutionKind.BadArgumentConversion);
1185
MemberResolutionResult
<TMember> badArg,
1409
static Symbol unwrapIfParamsCollection(
MemberResolutionResult
<TMember> badArg, ParameterSymbol parameter, bool isLastParameter)
1423
MemberResolutionResult
<TMember> worseResult1;
1424
MemberResolutionResult
<TMember> worseResult2;
1458
private int TryGetFirstTwoWorseResults(out
MemberResolutionResult
<TMember> first, out
MemberResolutionResult
<TMember> second)
1463
first = default(
MemberResolutionResult
<TMember>);
1464
second = default(
MemberResolutionResult
<TMember>);
1466
foreach (
var
res in this.ResultsBuilder)
1489
MemberResolutionResult
<TMember> validResult1;
1490
MemberResolutionResult
<TMember> validResult2;
1514
private int TryGetFirstTwoValidResults(out
MemberResolutionResult
<TMember> first, out
MemberResolutionResult
<TMember> second)
1519
first = default(
MemberResolutionResult
<TMember>);
1520
second = default(
MemberResolutionResult
<TMember>);
1522
foreach (
var
res in this.ResultsBuilder)
1555
foreach (
var
result in this.ResultsBuilder)
1564
private
MemberResolutionResult
<TMember> GetFirstMemberKind(MemberResolutionKind kind)
1566
foreach (
var
result in this.ResultsBuilder)
1574
return default(
MemberResolutionResult
<TMember>);
1600
foreach (
var
result in ResultsBuilder)
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (2)
Semantics\MemberResolutionResultTests.cs (2)
22
var
d = default(
MemberResolutionResult
<MethodSymbol>);