|
|
|
@ -37,7 +37,7 @@ namespace CppSharp.Passes
@@ -37,7 +37,7 @@ namespace CppSharp.Passes
|
|
|
|
|
injectedClasses.Add(@class); |
|
|
|
|
|
|
|
|
|
if (!@class.IsDependent) |
|
|
|
|
return false; |
|
|
|
|
return true; |
|
|
|
|
|
|
|
|
|
if (Options.GenerateClassTemplates) |
|
|
|
|
IgnoreUnsupportedTemplates(@class); |
|
|
|
@ -49,6 +49,26 @@ namespace CppSharp.Passes
@@ -49,6 +49,26 @@ namespace CppSharp.Passes
|
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public override bool VisitClassTemplateSpecializationDecl(ClassTemplateSpecialization specialization) |
|
|
|
|
{ |
|
|
|
|
if (!base.VisitClassTemplateSpecializationDecl(specialization)) |
|
|
|
|
return false; |
|
|
|
|
|
|
|
|
|
Declaration decl = null; |
|
|
|
|
if (specialization.Arguments.Any(a => |
|
|
|
|
a.Type.Type?.TryGetDeclaration(out decl) == true)) |
|
|
|
|
{ |
|
|
|
|
decl.Visit(this); |
|
|
|
|
if (decl.Ignore) |
|
|
|
|
{ |
|
|
|
|
specialization.ExplicitlyIgnore(); |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public override bool VisitDeclaration(Declaration decl) |
|
|
|
|
{ |
|
|
|
|
if (AlreadyVisited(decl)) |
|
|
|
|