aboutsummaryrefslogtreecommitdiffstats
path: root/ApiExtractor/abstractmetabuilder.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ApiExtractor/abstractmetabuilder.cpp')
-rw-r--r--ApiExtractor/abstractmetabuilder.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/ApiExtractor/abstractmetabuilder.cpp b/ApiExtractor/abstractmetabuilder.cpp
index a5c31bf38..564f6c3ec 100644
--- a/ApiExtractor/abstractmetabuilder.cpp
+++ b/ApiExtractor/abstractmetabuilder.cpp
@@ -1850,6 +1850,14 @@ void AbstractMetaBuilder::fixArgumentNames(AbstractMetaFunction* func)
}
}
+static QString functionSignature(FunctionModelItem functionItem)
+{
+ QStringList args;
+ foreach (ArgumentModelItem arg, functionItem->arguments())
+ args << arg->type().toString();
+ return QString("%1(%2)").arg(functionItem->name(), args.join(","));
+}
+
AbstractMetaFunction* AbstractMetaBuilder::traverseFunction(FunctionModelItem functionItem)
{
QString functionName = functionItem->name();
@@ -1861,6 +1869,10 @@ AbstractMetaFunction* AbstractMetaBuilder::traverseFunction(FunctionModelItem fu
m_rejectedFunctions.insert(className + "::" + functionName, GenerationDisabled);
return 0;
}
+ else if (TypeDatabase::instance()->isFunctionRejected(className, functionSignature(functionItem))) {
+ m_rejectedFunctions.insert(className + "::" + functionName, GenerationDisabled);
+ return 0;
+ }
Q_ASSERT(functionItem->functionType() == CodeModel::Normal
|| functionItem->functionType() == CodeModel::Signal