diff options
Diffstat (limited to 'abstractmetabuilder.cpp')
-rw-r--r-- | abstractmetabuilder.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/abstractmetabuilder.cpp b/abstractmetabuilder.cpp index d40efd667..44f03154e 100644 --- a/abstractmetabuilder.cpp +++ b/abstractmetabuilder.cpp @@ -1221,6 +1221,10 @@ 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()) + func->setFunctionType(AbstractMetaFunction::ConstructorFunction); + else + func->setFunctionType(AbstractMetaFunction::NormalFunction); func->setDeclaringClass(metaClass); func->setImplementingClass(metaClass); metaClass->addFunction(func); @@ -1397,7 +1401,7 @@ AbstractMetaFunction *AbstractMetaBuilder::traverseFunction(const AddedFunction& metaFunction->setOriginalName(addedFunc.name()); int visibility = addedFunc.access() == AddedFunction::Public ? AbstractMetaAttributes::Public : AbstractMetaAttributes::Protected; metaFunction->setVisibility(visibility); - metaFunction->setFunctionType(AbstractMetaFunction::UserAddedFunction); + metaFunction->setUserAdded(true); metaFunction->setAttributes(metaFunction->attributes() | AbstractMetaAttributes::Final); metaFunction->setType(translateType(addedFunc.returnType())); |