From 6cbd613b4399b5a1cad6bc5f8951fdd585a090e0 Mon Sep 17 00:00:00 2001 From: Duy-Nguyen Ta Date: Sun, 13 Nov 2016 23:59:56 -0500 Subject: [PATCH] add typedefs to the list of validTypes --- wrap/Module.cpp | 7 +++++-- wrap/Module.h | 3 ++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/wrap/Module.cpp b/wrap/Module.cpp index 192992dbc..960935649 100644 --- a/wrap/Module.cpp +++ b/wrap/Module.cpp @@ -228,7 +228,7 @@ void Module::parseMarkup(const std::string& data) { // Dependency check list vector validTypes = GenerateValidTypes(expandedClasses, - forward_declarations); + forward_declarations, typedefs); // Check that all classes have been defined somewhere verifyArguments(validTypes, global_functions); @@ -446,7 +446,7 @@ vector Module::ExpandTypedefInstantiations(const vector& classes, } /* ************************************************************************* */ -vector Module::GenerateValidTypes(const vector& classes, const vector forwardDeclarations) { +vector Module::GenerateValidTypes(const vector& classes, const vector& forwardDeclarations, const vector& typedefs) { vector validTypes; for(const ForwardDeclaration& fwDec: forwardDeclarations) { validTypes.push_back(fwDec.name); @@ -465,6 +465,9 @@ vector Module::GenerateValidTypes(const vector& classes, const ve for(const Class& cls: classes) { validTypes.push_back(cls.qualifiedName("::")); } + for(const TypedefPair& p: typedefs) { + validTypes.push_back(p.newType.qualifiedName("::")); + } return validTypes; } diff --git a/wrap/Module.h b/wrap/Module.h index 986340946..2fe5d2af8 100644 --- a/wrap/Module.h +++ b/wrap/Module.h @@ -84,7 +84,8 @@ private: const std::vector instantiations); static std::vector GenerateValidTypes( const std::vector& classes, - const std::vector forwardDeclarations); + const std::vector& forwardDeclarations, + const std::vector& typedefs); static void WriteCollectorsAndCleanupFcn(FileWriter& wrapperFile, const std::string& moduleName, const std::vector& classes); static void WriteRTTIRegistry(FileWriter& wrapperFile,