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