aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--abstractmetabuilder.cpp6
-rw-r--r--parser/codemodel.cpp6
2 files changed, 10 insertions, 2 deletions
diff --git a/abstractmetabuilder.cpp b/abstractmetabuilder.cpp
index 1d1cd07b1..8e0e29cfe 100644
--- a/abstractmetabuilder.cpp
+++ b/abstractmetabuilder.cpp
@@ -45,6 +45,7 @@
#include <QDir>
#include <cstdio>
+#include <algorithm>
#include "graph.h"
static QString stripTemplateArgs(const QString &name)
@@ -334,7 +335,10 @@ bool AbstractMetaBuilder::build(QIODevice* input)
fixQObjectForScope(types, model_dynamic_cast<NamespaceModelItem>(m_dom));
// Start the generation...
- QList<ClassModelItem > typeValues = typeMap.values();
+ ClassList typeValues = typeMap.values();
+ ClassList::iterator it = std::unique(typeValues.begin(), typeValues.end());
+ typeValues.erase(it, typeValues.end());
+
ReportHandler::setProgressReference(typeValues);
foreach (ClassModelItem item, typeValues) {
ReportHandler::progress("Generating class model for %s", qPrintable(item->name()));
diff --git a/parser/codemodel.cpp b/parser/codemodel.cpp
index ecc8e3036..861a6708c 100644
--- a/parser/codemodel.cpp
+++ b/parser/codemodel.cpp
@@ -24,6 +24,7 @@
#include "codemodel.h"
+#include <algorithm>
// ---------------------------------------------------------------------------
CodeModel::CodeModel()
@@ -371,7 +372,10 @@ FunctionModelItem _ScopeModelItem::declaredFunction(FunctionModelItem item)
ClassList _ScopeModelItem::classes() const
{
- return _M_classes.values();
+ ClassList result = _M_classes.values();
+ ClassList::iterator it = std::unique(result.begin(), result.end());
+ result.erase(it, result.end());
+ return result;
}
TypeAliasList _ScopeModelItem::typeAliases() const