|
|
@ -29,6 +29,7 @@ namespace CppSharp |
|
|
|
public bool VisitNamespaceVariables = true; |
|
|
|
public bool VisitNamespaceVariables = true; |
|
|
|
|
|
|
|
|
|
|
|
public bool VisitFunctionParameters = true; |
|
|
|
public bool VisitFunctionParameters = true; |
|
|
|
|
|
|
|
public bool VisitTemplateArguments = true; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// <summary>
|
|
|
@ -135,18 +136,24 @@ namespace CppSharp |
|
|
|
public virtual bool VisitTemplateSpecializationType(TemplateSpecializationType template, |
|
|
|
public virtual bool VisitTemplateSpecializationType(TemplateSpecializationType template, |
|
|
|
TypeQualifiers quals) |
|
|
|
TypeQualifiers quals) |
|
|
|
{ |
|
|
|
{ |
|
|
|
foreach (var arg in template.Arguments) |
|
|
|
if (!VisitType(template, quals)) |
|
|
|
|
|
|
|
return false; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (Options.VisitTemplateArguments) |
|
|
|
{ |
|
|
|
{ |
|
|
|
switch (arg.Kind) |
|
|
|
foreach (var arg in template.Arguments) |
|
|
|
{ |
|
|
|
{ |
|
|
|
case TemplateArgument.ArgumentKind.Type: |
|
|
|
switch (arg.Kind) |
|
|
|
var type = arg.Type.Type; |
|
|
|
{ |
|
|
|
if (type != null) |
|
|
|
case TemplateArgument.ArgumentKind.Type: |
|
|
|
type.Visit(this, arg.Type.Qualifiers); |
|
|
|
var type = arg.Type.Type; |
|
|
|
break; |
|
|
|
if (type != null) |
|
|
|
case TemplateArgument.ArgumentKind.Declaration: |
|
|
|
type.Visit(this, arg.Type.Qualifiers); |
|
|
|
arg.Declaration.Visit(this); |
|
|
|
break; |
|
|
|
break; |
|
|
|
case TemplateArgument.ArgumentKind.Declaration: |
|
|
|
|
|
|
|
arg.Declaration.Visit(this); |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|