diff options
-rw-r--r-- | abstractmetabuilder.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/abstractmetabuilder.cpp b/abstractmetabuilder.cpp index 2d43cc2bd..086c0c7f3 100644 --- a/abstractmetabuilder.cpp +++ b/abstractmetabuilder.cpp @@ -1248,10 +1248,13 @@ void AbstractMetaBuilder::traverseFunctions(ScopeModelItem scopeItem, AbstractMe // Add the functions added by the typesystem foreach (AddedFunction addedFunc, metaClass->typeEntry()->addedFunctions()) { AbstractMetaFunction* func = traverseFunction(addedFunc); - if (func->name() == metaClass->name()) + if (func->name() == metaClass->name()) { func->setFunctionType(AbstractMetaFunction::ConstructorFunction); - else + if (func->arguments().size() == 1 && func->arguments().first()->type()->typeEntry()->isCustom()) + func->setExplicit(true); + } else { func->setFunctionType(AbstractMetaFunction::NormalFunction); + } func->setDeclaringClass(metaClass); func->setImplementingClass(metaClass); metaClass->addFunction(func); |