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