diff options
author | Marcelo Lira <marcelo.lira@openbossa.org> | 2011-07-27 18:04:59 -0300 |
---|---|---|
committer | Hugo Parente Lima <hugo.pl@gmail.com> | 2012-03-09 19:10:17 -0300 |
commit | b3644ccd1f52073ed70ce8b6e0ed4f58a07632d7 (patch) | |
tree | 9b444413f35daa050994b9133c29ad5410c5a0e0 /abstractmetabuilder.cpp | |
parent | 1a989347e029e9f90b5c2c727243a02d1c1aa496 (diff) |
Copied AbstractMetaBuilder::decideUsagePattern() method to AbstractMetaType.
The decideUsagePattern on AbstractMetaBuilder now calls the new
AbstractMetaType's method.
Diffstat (limited to 'abstractmetabuilder.cpp')
-rw-r--r-- | abstractmetabuilder.cpp | 85 |
1 files changed, 1 insertions, 84 deletions
diff --git a/abstractmetabuilder.cpp b/abstractmetabuilder.cpp index f4a469f89..41e4abe9e 100644 --- a/abstractmetabuilder.cpp +++ b/abstractmetabuilder.cpp @@ -2233,90 +2233,7 @@ int AbstractMetaBuilder::findOutValueFromString(const QString& stringValue, bool void AbstractMetaBuilder::decideUsagePattern(AbstractMetaType *metaType) { - const TypeEntry* type = metaType->typeEntry(); - - if (type->isPrimitive() && (!metaType->actualIndirections() - || (metaType->isConstant() && metaType->isReference() && !metaType->indirections()))) { - metaType->setTypeUsagePattern(AbstractMetaType::PrimitivePattern); - - } else if (type->isVoid()) { - metaType->setTypeUsagePattern(AbstractMetaType::NativePointerPattern); - - } else if (type->isVarargs()) { - metaType->setTypeUsagePattern(AbstractMetaType::VarargsPattern); - - } else if (type->isString() - && metaType->indirections() == 0 - && (metaType->isConstant() == metaType->isReference() - || metaType->isConstant())) { - metaType->setTypeUsagePattern(AbstractMetaType::StringPattern); - - } else if (type->isChar() - && !metaType->indirections() - && metaType->isConstant() == metaType->isReference()) { - metaType->setTypeUsagePattern(AbstractMetaType::CharPattern); - - } else if (type->isJObjectWrapper() - && !metaType->indirections() - && metaType->isConstant() == metaType->isReference()) { - metaType->setTypeUsagePattern(AbstractMetaType::JObjectWrapperPattern); - - } else if (type->isVariant() - && !metaType->indirections() - && metaType->isConstant() == metaType->isReference()) { - metaType->setTypeUsagePattern(AbstractMetaType::VariantPattern); - - } else if (type->isEnum() && !metaType->actualIndirections()) { - metaType->setTypeUsagePattern(AbstractMetaType::EnumPattern); - - } else if (type->isObject() - && metaType->indirections() == 0 - && metaType->isReference()) { - if (((ComplexTypeEntry*) type)->isQObject()) - metaType->setTypeUsagePattern(AbstractMetaType::QObjectPattern); - else - metaType->setTypeUsagePattern(AbstractMetaType::ObjectPattern); - - } else if (type->isObject() - && metaType->indirections() == 1) { - if (((ComplexTypeEntry*) type)->isQObject()) - metaType->setTypeUsagePattern(AbstractMetaType::QObjectPattern); - else - metaType->setTypeUsagePattern(AbstractMetaType::ObjectPattern); - - // const-references to pointers can be passed as pointers - if (metaType->isReference() && metaType->isConstant()) { - metaType->setReference(false); - metaType->setConstant(false); - } - - } else if (type->isContainer() && !metaType->indirections()) { - metaType->setTypeUsagePattern(AbstractMetaType::ContainerPattern); - - } else if (type->isTemplateArgument()) { - - } else if (type->isFlags() - && !metaType->indirections() - && (metaType->isConstant() == metaType->isReference())) { - metaType->setTypeUsagePattern(AbstractMetaType::FlagsPattern); - - } else if (type->isArray()) { - metaType->setTypeUsagePattern(AbstractMetaType::ArrayPattern); - - } else if (type->isThread()) { - Q_ASSERT(metaType->indirections() == 1); - metaType->setTypeUsagePattern(AbstractMetaType::ThreadPattern); - } else if (type->isValue()) { - if (metaType->indirections() == 1) { - metaType->setTypeUsagePattern(AbstractMetaType::ValuePointerPattern); - } else { - metaType->setTypeUsagePattern(AbstractMetaType::ValuePattern); - } - } else { - metaType->setTypeUsagePattern(AbstractMetaType::NativePointerPattern); - ReportHandler::debugFull(QString("native pointer pattern for '%1'") - .arg(metaType->cppSignature())); - } + metaType->decideUsagePattern(); } QString AbstractMetaBuilder::fixDefaultValue(ArgumentModelItem item, AbstractMetaType* type, |