diff options
author | Marcelo Lira <marcelo.lira@openbossa.org> | 2011-08-07 14:01:53 -0300 |
---|---|---|
committer | Hugo Parente Lima <hugo.pl@gmail.com> | 2012-03-09 19:10:18 -0300 |
commit | c956f7307362d8ea2f0c2658b5954264fbf2bc05 (patch) | |
tree | 442566271a03f8a28c647b10cf3a512bf512aefe /abstractmetabuilder.cpp | |
parent | 389dab874764823c7a4b7a0b8a257f001d83ec02 (diff) |
AbstractMetaClasses now hold the instantiation types for the templates they implement.
AbstractMetaClasses that are typedefs for template class instantiations
use to keep the template from where they derive, but didn't keep the
values used for the derivation. Now this is fixed, and with an unit test.
Reviewed by Luciano Wolf <luciano.wolf@openbossa.org>
Reviewed by Renato Araújo <renato.filho@openbossa.org>
Diffstat (limited to 'abstractmetabuilder.cpp')
-rw-r--r-- | abstractmetabuilder.cpp | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/abstractmetabuilder.cpp b/abstractmetabuilder.cpp index 41e4abe9e..29a21a051 100644 --- a/abstractmetabuilder.cpp +++ b/abstractmetabuilder.cpp @@ -2564,11 +2564,8 @@ bool AbstractMetaBuilder::inheritTemplate(AbstractMetaClass* subclass, subclass->addFunction(f); } - // Clean up - foreach (AbstractMetaType *type, templateTypes) - delete type; - subclass->setTemplateBaseClass(templateClass); + subclass->setTemplateBaseClassInstantiations(templateTypes); subclass->setInterfaces(templateClass->interfaces()); subclass->setBaseClass(templateClass->baseClass()); |