Browse Source

Do not generate wrappers for template specializations if original method in template class is ignored.

Fixes #1051
pull/1062/head
Rokas Kupstys 8 years ago committed by Dimitar Dobrev
parent
commit
213f29770d
  1. 3
      src/Generator/Passes/GenerateSymbolsPass.cs

3
src/Generator/Passes/GenerateSymbolsPass.cs

@ -55,7 +55,8 @@ namespace CppSharp.Passes @@ -55,7 +55,8 @@ namespace CppSharp.Passes
!m.IsImplicit && !m.IsDeleted && !m.IsDefaulted;
if (specialization.Methods.Any(m => m.IsInvalid && exportable(m)))
foreach (var method in specialization.Methods.Where(
m => m.IsGenerated && exportable(m)))
m => m.IsGenerated && (m.InstantiatedFrom == null || m.InstantiatedFrom.IsGenerated) &&
exportable(m)))
symbolsCodeGenerator.VisitMethodDecl(method);
else
symbolsCodeGenerator.VisitClassTemplateSpecializationDecl(specialization);

Loading…
Cancel
Save