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)); 4135return new MemberResolutionResult<TMember>(member, leastOverriddenMember, MemberAnalysisResult.ArgumentParameterMismatch(argumentAnalysis), hasTypeArgumentInferredFromFunctionType: false); 4143return new MemberResolutionResult<TMember>(member, leastOverriddenMember, MemberAnalysisResult.UseSiteError(), hasTypeArgumentInferredFromFunctionType: false); 4179return new MemberResolutionResult<TMember>(member, leastOverriddenMember, MemberAnalysisResult.ArgumentParameterMismatch(argumentAnalysis), hasTypeArgumentInferredFromFunctionType: false); 4205return new MemberResolutionResult<TMember>(member, leastOverriddenMember, MemberAnalysisResult.ArgumentParameterMismatch(argumentAnalysis), hasTypeArgumentInferredFromFunctionType: false); 4212return new MemberResolutionResult<TMember>(member, leastOverriddenMember, MemberAnalysisResult.UseSiteError(), hasTypeArgumentInferredFromFunctionType: false); 4313return new MemberResolutionResult<TMember>(member, leastOverriddenMember, inferenceError, hasTypeArgumentInferredFromFunctionType: false); 4356return new MemberResolutionResult<TMember>(member, leastOverriddenMember, MemberAnalysisResult.ConstructedParameterFailedConstraintsCheck(i), hasTypeArgumentsInferredFromFunctionType); 4391return new MemberResolutionResult<TMember>(member, leastOverriddenMember, applicableResult, hasTypeArgumentsInferredFromFunctionType);
164 references to MemberResolutionResult
Microsoft.CodeAnalysis.CSharp (162)
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 (5)
1253out var memberResolutionResult, 1660out MemberResolutionResult<MethodSymbol> memberResolutionResult, 1694MemberResolutionResult<MethodSymbol> memberResolutionResult, 1981ImmutableArray<MemberResolutionResult<MethodSymbol>> finalApplicableCandidates, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 1986foreach (var candidate in finalApplicableCandidates)
Binder\Binder_Expressions.cs (15)
3499MemberResolutionResult<TMember> methodResult, 3558in MemberResolutionResult<TMember> methodResult, 3615in MemberResolutionResult<TMember> methodResult, 3647in MemberResolutionResult<TMember> methodResult, 3721void reportUnsafeIfNeeded(MemberResolutionResult<TMember> methodResult, BindingDiagnosticBag diagnostics, BoundExpression argument, TypeWithAnnotations parameterTypeWithAnnotations) 3743in MemberResolutionResult<TMember> methodResult, 5023MemberResolutionResult<MethodSymbol> memberResolutionResult; 5057MemberResolutionResult<MethodSymbol> memberResolutionResult, 6917out MemberResolutionResult<MethodSymbol> memberResolutionResult, 6937MemberResolutionResult<MethodSymbol> memberResolutionResult, 7022MemberResolutionResult<MethodSymbol> memberResolutionResult, 7322out MemberResolutionResult<MethodSymbol> memberResolutionResult, 7363out MemberResolutionResult<MethodSymbol> memberResolutionResult, 7406default(MemberResolutionResult<MethodSymbol>); // Invalid results are not interesting - we have enough info in candidateConstructors. 10463MemberResolutionResult<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; 2578MemberResolutionResult<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) 1283static bool haveBadArgumentForLastParameter(MemberResolutionResult<TMember> result) 1477private void RemoveInaccessibleTypeArguments<TMember>(ArrayBuilder<MemberResolutionResult<TMember>> results, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 1482var result = results[f]; 1503private static void RemoveLessDerivedMembers<TMember>(ArrayBuilder<MemberResolutionResult<TMember>> results, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 1594var result = results[f]; 1626private static bool IsLessDerivedThanAny<TMember>(int index, TypeSymbol type, ArrayBuilder<MemberResolutionResult<TMember>> results, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 1636var result = results[f]; 1669private static void RemoveAllInterfaceMembers<TMember>(ArrayBuilder<MemberResolutionResult<TMember>> results) 1706var result = results[f]; 1727var result = results[f]; 1745ArrayBuilder<MemberResolutionResult<MethodSymbol>> results, 1775RemoveLowerPriorityMembers<MemberResolutionResult<MethodSymbol>, MethodSymbol>(results); 1787private static void ReportUseSiteInfo<TMember>(ArrayBuilder<MemberResolutionResult<TMember>> results, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 1790foreach (MemberResolutionResult<TMember> result in results) 1796private int GetTheBestCandidateIndex<TMember>(ArrayBuilder<MemberResolutionResult<TMember>> results, AnalyzedArguments arguments, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 1948private void RemoveWorseMembers<TMember>(ArrayBuilder<MemberResolutionResult<TMember>> results, AnalyzedArguments arguments, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 2004var c1Result = results[c1Idx]; 2014var c2Result = results[c2Idx]; 2096MemberResolutionResult<TMember> m1, 2097MemberResolutionResult<TMember> m2, 2135MemberResolutionResult<TMember> m1, 2136MemberResolutionResult<TMember> m2, 2616MemberResolutionResult<TMember> m1, 2618MemberResolutionResult<TMember> m2, 2697private static bool RequiredFunctionType<TMember>(MemberResolutionResult<TMember> m) 2718private static void GetParameterCounts<TMember>(MemberResolutionResult<TMember> m, ArrayBuilder<BoundExpression> arguments, out int declaredParameterCount, out int parametersUsedIncludingExpansionAndOptional) where TMember : Symbol 4107private MemberResolutionResult<TMember> IsMemberApplicableInNormalForm<TMember>( 4162var applicableResult = IsApplicable( 4185private MemberResolutionResult<TMember> IsMemberApplicableInExpandedForm<TMember>( 4231var result = IsApplicable( 4248private 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)
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (2)
Semantics\MemberResolutionResultTests.cs (2)
22var d = default(MemberResolutionResult<MethodSymbol>);