Browse Source

Make sure we skip ignored overloads when checking for ambiguous overloads.

pull/1/head
triton 13 years ago
parent
commit
e0a6181287
  1. 9
      src/Generator/Passes/CheckAmbiguousOverloads.cs

9
src/Generator/Passes/CheckAmbiguousOverloads.cs

@ -98,6 +98,9 @@ namespace CppSharp.Passes @@ -98,6 +98,9 @@ namespace CppSharp.Passes
if (visited.Contains(function))
return false;
if (function.Ignore)
return false;
var overloads = AST.Utils.GetFunctionOverloads(function, currentClass);
var signatures = overloads.Select(fn => new OverloadSignature(fn)).ToList();
@ -105,8 +108,14 @@ namespace CppSharp.Passes @@ -105,8 +108,14 @@ namespace CppSharp.Passes
{
visited.Add(sig1.Function);
if (sig1.Function.Ignore)
continue;
foreach (var sig2 in signatures)
{
if (sig2.Function.Ignore)
continue;
if (!OverloadSignature.IsAmbiguous(sig1, sig2, currentClass))
continue;

Loading…
Cancel
Save