Browse Source

Merge pull request #44 from ddobrev/duplicates_ignore_hidden_args

Duplicates ignore hidden args
pull/42/merge
João Matos 12 years ago
parent
commit
1f659d33e8
  1. 3
      src/Generator/Passes/CheckDuplicatedNamesPass.cs
  2. 7
      src/Generator/Passes/FindSymbolsPass.cs

3
src/Generator/Passes/CheckDuplicatedNamesPass.cs

@ -39,7 +39,8 @@ namespace CppSharp.Passes
private bool UpdateName(Method method) private bool UpdateName(Method method)
{ {
var @params = method.Parameters.Select(p => p.QualifiedType.ToString()); var @params = method.Parameters.Where(p => p.Kind != ParameterKind.HiddenStructureReturn)
.Select(p => p.QualifiedType.ToString());
var signature = string.Format("{0}({1})", Name,string.Join( ", ", @params)); var signature = string.Format("{0}({1})", Name,string.Join( ", ", @params));
if (Count == 0) if (Count == 0)

7
src/Generator/Passes/FindSymbolsPass.cs

@ -6,15 +6,12 @@ namespace CppSharp.Passes
{ {
public override bool VisitDeclaration(Declaration decl) public override bool VisitDeclaration(Declaration decl)
{ {
var mangledDecl = decl as IMangledDecl;
if (mangledDecl == null)
return false;
var options = Driver.Options; var options = Driver.Options;
if (!options.CheckSymbols || options.IsCLIGenerator) if (!options.CheckSymbols || options.IsCLIGenerator)
return false; return false;
if (!VisitMangledDeclaration(mangledDecl)) var mangledDecl = decl as IMangledDecl;
if (mangledDecl != null && !VisitMangledDeclaration(mangledDecl))
{ {
decl.ExplicityIgnored = true; decl.ExplicityIgnored = true;
return false; return false;

Loading…
Cancel
Save