diff --git a/src/Generator/Generators/CLI/CLIHeadersTemplate.cs b/src/Generator/Generators/CLI/CLIHeadersTemplate.cs index 36d7b6fc..07c68c7c 100644 --- a/src/Generator/Generators/CLI/CLIHeadersTemplate.cs +++ b/src/Generator/Generators/CLI/CLIHeadersTemplate.cs @@ -262,11 +262,14 @@ namespace CppSharp.Generators.CLI var oldCtx = printer.Context; PushIndent(); - foreach (var template in @class.FunctionTemplates) + foreach (var template in @class.Templates) { if (template.Ignore) continue; - var function = template.TemplatedFunction; + var functionTemplate = template as FunctionTemplate; + if (functionTemplate == null) continue; + + var function = functionTemplate.TemplatedFunction; var typeNames = template.Parameters.Select( param => "typename " + param.Name).ToList(); diff --git a/src/Generator/Generators/CLI/CLISourcesTemplate.cs b/src/Generator/Generators/CLI/CLISourcesTemplate.cs index 31c8bbda..2fff749c 100644 --- a/src/Generator/Generators/CLI/CLISourcesTemplate.cs +++ b/src/Generator/Generators/CLI/CLISourcesTemplate.cs @@ -161,13 +161,15 @@ namespace CppSharp.Generators.CLI if (Options.GenerateFunctionTemplates) { - foreach (var template in @class.FunctionTemplates) + foreach (var template in @class.Templates) { - if (template.Ignore) - continue; + if (template.Ignore) continue; + + var functionTemplate = template as FunctionTemplate; + if (functionTemplate == null) continue; GenerateDeclarationCommon(template); - GenerateFunctionTemplate(template, @class); + GenerateFunctionTemplate(functionTemplate, @class); } }