aboutsummaryrefslogtreecommitdiffstats
path: root/abstractmetabuilder.cpp
diff options
context:
space:
mode:
authorrenatofilho <renato.filho@openbossa.org>2010-10-08 15:51:48 -0300
committerHugo Parente Lima <hugo.pl@gmail.com>2012-03-09 19:10:11 -0300
commit99862b71c95e1e061ac743fb864a041fa0a1fbf8 (patch)
treebfabc643047c934084caa8a5ba9ab0f1d0812977 /abstractmetabuilder.cpp
parent6ab94ebbe402a92a7587e5b947f821712b6ee605 (diff)
Implemented support to added functions for TypeAlias.sb-0.8.1
Reviewer: Luciano Wolf <luciano.wolf@openbossa.org> Lauro Moura <lauro.neto@openbossa.org>
Diffstat (limited to 'abstractmetabuilder.cpp')
-rw-r--r--abstractmetabuilder.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/abstractmetabuilder.cpp b/abstractmetabuilder.cpp
index 60b687a63..3cdfc1a6b 100644
--- a/abstractmetabuilder.cpp
+++ b/abstractmetabuilder.cpp
@@ -402,6 +402,7 @@ bool AbstractMetaBuilder::build(QIODevice* input)
foreach (ClassModelItem item, typeValues)
traverseClassMembers(item);
+
foreach (NamespaceModelItem item, namespaceTypeValues)
traverseNamespaceMembers(item);
@@ -1050,6 +1051,8 @@ AbstractMetaClass* AbstractMetaBuilder::traverseTypeAlias(TypeAliasModelItem typ
if (!type->include().isValid())
setInclude(type, typeAlias->fileName());
+ fillAddedFunctions(metaClass);
+
return metaClass;
}
@@ -1425,6 +1428,11 @@ void AbstractMetaBuilder::traverseFunctions(ScopeModelItem scopeItem, AbstractMe
}
}
+ fillAddedFunctions(metaClass);
+}
+
+void AbstractMetaBuilder::fillAddedFunctions(AbstractMetaClass* metaClass)
+{
// Add the functions added by the typesystem
foreach (AddedFunction addedFunc, metaClass->typeEntry()->addedFunctions()) {
AbstractMetaFunction* func = traverseFunction(addedFunc);
@@ -1440,6 +1448,7 @@ void AbstractMetaBuilder::traverseFunctions(ScopeModelItem scopeItem, AbstractMe
func->setDeclaringClass(metaClass);
func->setImplementingClass(metaClass);
metaClass->addFunction(func);
+ metaClass->setHasNonPrivateConstructor(true);
}
}