From 02099294b0b383b05683e95937150c20ff9bd123 Mon Sep 17 00:00:00 2001 From: triton Date: Thu, 21 Feb 2013 22:29:56 +0000 Subject: [PATCH] Added better support for class template partial specializations (used in Qt). --- src/Bridge/Template.cs | 4 ++++ src/Parser/Parser.cpp | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/src/Bridge/Template.cs b/src/Bridge/Template.cs index fe599775..62a29ab1 100644 --- a/src/Bridge/Template.cs +++ b/src/Bridge/Template.cs @@ -42,6 +42,10 @@ namespace Cxxi public ClassTemplate TemplatedDecl; } + public class ClassTemplatePartialSpecialization : ClassTemplateSpecialization + { + } + public class FunctionTemplate : Template { public FunctionTemplate(Declaration decl) diff --git a/src/Parser/Parser.cpp b/src/Parser/Parser.cpp index 1aeb0902..2acabebd 100644 --- a/src/Parser/Parser.cpp +++ b/src/Parser/Parser.cpp @@ -1282,6 +1282,13 @@ Cxxi::Declaration^ Parser::WalkDeclaration(clang::Decl* D, clang::TypeLoc* TL, break; } + case Decl::ClassTemplatePartialSpecialization: + { + auto TS = cast(D); + auto CT = gcnew Cxxi::ClassTemplatePartialSpecialization(); + Decl = CT; + break; + } case Decl::FunctionTemplate: { FunctionTemplateDecl* TD = cast(D);