ShaderTools.Hlsl.Diagnostics.DiagnosticExtensions.ReportAmbiguousInvocation C# (CSharp) Method

ReportAmbiguousInvocation() public static method

public static ReportAmbiguousInvocation ( this diagnostics, TextSpan span, InvocableSymbol symbol1, InvocableSymbol symbol2, IReadOnlyList argumentTypes ) : void
diagnostics this
span TextSpan
symbol1 ShaderTools.Hlsl.Symbols.InvocableSymbol
symbol2 ShaderTools.Hlsl.Symbols.InvocableSymbol
argumentTypes IReadOnlyList
return void
        public static void ReportAmbiguousInvocation(this ICollection<Diagnostic> diagnostics, TextSpan span, InvocableSymbol symbol1, InvocableSymbol symbol2, IReadOnlyList<TypeSymbol> argumentTypes)
        {
            if (argumentTypes.Count > 0)
            {
                var displayTypes = string.Join(@", ", argumentTypes.Select(t => t.ToDisplayName()));
                diagnostics.Report(span, DiagnosticId.AmbiguousInvocation, symbol1, symbol2, displayTypes);
            }
            else
            {
                var message = string.Format(CultureInfo.CurrentCulture, "Invocation is ambiguous between '{0}' and '{1}'.", symbol1, symbol2);
                var diagnostic = new Diagnostic(span, DiagnosticId.AmbiguousInvocation, message);
                diagnostics.Add(diagnostic);
            }
        }