Browse Source

Template specializations types now keep their desugared version, if available.

pull/1/head
triton 12 years ago
parent
commit
e33cc3d82d
  1. 2
      src/Bridge/Type.cs
  2. 2
      src/Parser/Parser.cpp

2
src/Bridge/Type.cs

@ -364,6 +364,8 @@ namespace CppSharp @@ -364,6 +364,8 @@ namespace CppSharp
public Template Template;
public Type Desugared;
public override T Visit<T>(ITypeVisitor<T> visitor,
TypeQualifiers quals = new TypeQualifiers())
{

2
src/Parser/Parser.cpp

@ -925,6 +925,8 @@ CppSharp::Type^ Parser::WalkType(clang::QualType QualType, clang::TypeLoc* TL, @@ -925,6 +925,8 @@ CppSharp::Type^ Parser::WalkType(clang::QualType QualType, clang::TypeLoc* TL,
TemplateName Name = TS->getTemplateName();
TST->Template = safe_cast<CppSharp::Template^>(WalkDeclaration(
Name.getAsTemplateDecl(), 0, /*IgnoreSystemDecls=*/false));
if (TS->isSugared())
TST->Desugared = WalkType(TS->desugar());
auto TypeLocClass = TL->getTypeLocClass();

Loading…
Cancel
Save