diff --git a/src/Generator/Passes/CheckDuplicatedNamesPass.cs b/src/Generator/Passes/CheckDuplicatedNamesPass.cs index 22597bc4..179479a1 100644 --- a/src/Generator/Passes/CheckDuplicatedNamesPass.cs +++ b/src/Generator/Passes/CheckDuplicatedNamesPass.cs @@ -39,7 +39,8 @@ namespace CppSharp.Passes 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)); if (Count == 0) diff --git a/src/Generator/Passes/FindSymbolsPass.cs b/src/Generator/Passes/FindSymbolsPass.cs index 93500bf3..7d9ee99e 100644 --- a/src/Generator/Passes/FindSymbolsPass.cs +++ b/src/Generator/Passes/FindSymbolsPass.cs @@ -6,15 +6,12 @@ namespace CppSharp.Passes { public override bool VisitDeclaration(Declaration decl) { - var mangledDecl = decl as IMangledDecl; - if (mangledDecl == null) - return false; - var options = Driver.Options; if (!options.CheckSymbols || options.IsCLIGenerator) return false; - if (!VisitMangledDeclaration(mangledDecl)) + var mangledDecl = decl as IMangledDecl; + if (mangledDecl != null && !VisitMangledDeclaration(mangledDecl)) { decl.ExplicityIgnored = true; return false;