dotnet/roslyn
Ver no GitHubIt looks like OverloadResolution.GetParameterType doesn't perform complete check before digging through param array
Open
#20.249 aberto em 15 de jun. de 2017
Area-CompilersBugLanguage-C#help wanted
Métricas do repositório
- Stars
- (20.414 stars)
- Métricas de merge de PR
- (Mesclagem média 6d 17h) (256 fundiu PRs em 30d)
Description
The check that the parameter is the last parameter is not performed, but I believe it should be see OverloadResolution.IsValidParams.
private static TypeSymbol GetParameterType(int argIndex, MemberAnalysisResult result, ImmutableArray<ParameterSymbol> parameters, out RefKind refKind)
{
int paramIndex = result.ParameterFromArgument(argIndex);
ParameterSymbol parameter = parameters[paramIndex];
refKind = parameter.RefKind;
if (result.Kind == MemberResolutionKind.ApplicableInExpandedForm &&
parameter.IsParams && parameter.Type.IsSZArray())
{
return ((ArrayTypeSymbol)parameter.Type).ElementType;
}
else
{
return parameter.Type;
}
}