Browse Source

Use the regular templates since classes are now regular declaration contexts and they do not have a separate container for FunctionTemplates.

pull/1/head
triton 13 years ago
parent
commit
d3d7e1f2d6
  1. 7
      src/Generator/Generators/CLI/CLIHeadersTemplate.cs
  2. 10
      src/Generator/Generators/CLI/CLISourcesTemplate.cs

7
src/Generator/Generators/CLI/CLIHeadersTemplate.cs

@ -262,11 +262,14 @@ namespace CppSharp.Generators.CLI
var oldCtx = printer.Context; var oldCtx = printer.Context;
PushIndent(); PushIndent();
foreach (var template in @class.FunctionTemplates) foreach (var template in @class.Templates)
{ {
if (template.Ignore) continue; 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( var typeNames = template.Parameters.Select(
param => "typename " + param.Name).ToList(); param => "typename " + param.Name).ToList();

10
src/Generator/Generators/CLI/CLISourcesTemplate.cs

@ -161,13 +161,15 @@ namespace CppSharp.Generators.CLI
if (Options.GenerateFunctionTemplates) if (Options.GenerateFunctionTemplates)
{ {
foreach (var template in @class.FunctionTemplates) foreach (var template in @class.Templates)
{ {
if (template.Ignore) if (template.Ignore) continue;
continue;
var functionTemplate = template as FunctionTemplate;
if (functionTemplate == null) continue;
GenerateDeclarationCommon(template); GenerateDeclarationCommon(template);
GenerateFunctionTemplate(template, @class); GenerateFunctionTemplate(functionTemplate, @class);
} }
} }

Loading…
Cancel
Save