aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--typesystem.cpp34
1 files changed, 7 insertions, 27 deletions
diff --git a/typesystem.cpp b/typesystem.cpp
index b99cf2fc7..9976d47f9 100644
--- a/typesystem.cpp
+++ b/typesystem.cpp
@@ -2148,37 +2148,17 @@ bool TypeEntry::isCppPrimitive() const
{
if (!isPrimitive())
return false;
- if (m_name.contains(' ') || m_type == VoidType)
+
+ PrimitiveTypeEntry* aliasedType = ((PrimitiveTypeEntry*)this)->basicAliasedTypeEntry();
+ QByteArray typeName = (aliasedType ? aliasedType->name() : m_name).toAscii();
+
+ if (typeName.contains(' ') || m_type == VoidType)
return true;
// Keep this sorted!!
- static const char* cppTypes[] = { "bool", "char", "double", "float", "int", "long", "long long", "short",
- "unsigned char", "unsigned double", "unsigned float", "unsigned int",
- "unsigned long", "unsigned long long", "unsigned short", "wchar_t" };
+ static const char* cppTypes[] = { "bool", "char", "double", "float", "int", "long", "long long", "short", "wchar_t" };
const int N = sizeof(cppTypes)/sizeof(char*);
- PrimitiveTypeEntry* aliasedType = ((PrimitiveTypeEntry*)this)->basicAliasedTypeEntry();
- QString typeName = aliasedType ? aliasedType->name() : m_name;
+ const char** res = qBinaryFind(&cppTypes[0], &cppTypes[N], typeName.constData(), strLess);
- const char** res = qBinaryFind(&cppTypes[0], &cppTypes[N], typeName.toAscii().constData(), strLess);
return res != &cppTypes[N];
}
-
-/*
-static void injectCode(ComplexTypeEntry *e,
- const char *signature,
- const QByteArray &code,
- const ArgumentMap &args)
-{
- CodeSnip snip;
- snip.language = TypeSystem::NativeCode;
- snip.position = CodeSnip::Beginning;
- snip.addCode(QString::fromLatin1(code));
- snip.argumentMap = args;
-
- FunctionModification mod;
- mod.signature = QMetaObject::normalizedSignature(signature);
- mod.snips << snip;
- mod.modifiers = Modification::CodeInjection;
-}
-*/
-