public override bool VisitMethodDecl(Method method) { if (method.Namespace is ClassTemplateSpecialization) { var exporting = string.Empty; if (Context.ParserOptions.IsMicrosoftAbi) { exporting = "__declspec(dllexport) "; } else if (TargetTriple.IsMacOS(Context.ParserOptions.TargetTriple)) { exporting = "__attribute__((visibility(\"default\"))) "; } WriteLine($"template {exporting}{method.Visit(cppTypePrinter)};"); return(true); } if (method.IsConstructor) { WrapConstructor(method); return(true); } if (method.IsDestructor) { WrapDestructor(method); return(true); } return(this.VisitFunctionDecl(method)); }
private string GetExporting() { var exporting = string.Empty; if (Context.ParserOptions.IsMicrosoftAbi) { exporting = "__declspec(dllexport) "; } else if (TargetTriple.IsMacOS(Context.ParserOptions.TargetTriple)) { exporting = "__attribute__((visibility(\"default\"))) "; } return(exporting); }