diff options
author | Luciano Wolf <luciano.wolf@openbossa.org> | 2010-07-13 14:12:51 -0300 |
---|---|---|
committer | Luciano Wolf <luciano.wolf@openbossa.org> | 2010-07-13 16:17:25 -0300 |
commit | 29ca2a7c419ce854779d77091eb22c6bae8c4516 (patch) | |
tree | 467b58570dbe72a9a88b43b9a7f5dbdee6ede83a /shibokengenerator.cpp | |
parent | 1b1ff6303514314c199d070b9453d5dc80a21d87 (diff) |
Enable support for NativePointer type (eg.: void *, QChar *, etc)
Reviewer: Renato Araújo <renato.filho@openbossa.org>
Marcelo Lira <marcelo.lira@openbossa.org>
Diffstat (limited to 'shibokengenerator.cpp')
-rw-r--r-- | shibokengenerator.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/shibokengenerator.cpp b/shibokengenerator.cpp index 4c310804d..6c50e7d19 100644 --- a/shibokengenerator.cpp +++ b/shibokengenerator.cpp @@ -549,7 +549,7 @@ void ShibokenGenerator::writeToCppConversion(QTextStream& s, const AbstractMetaT QString ShibokenGenerator::getFormatUnitString(const AbstractMetaFunction* func, bool incRef) const { QString result; - const char objType = (incRef ? 'O' : 'S'); + const char objType = (incRef ? 'O' : 'N'); foreach (const AbstractMetaArgument* arg, func->arguments()) { if (func->argumentRemoved(arg->argumentIndex() + 1)) continue; @@ -560,6 +560,7 @@ QString ShibokenGenerator::getFormatUnitString(const AbstractMetaFunction* func, || arg->type()->isObject() || arg->type()->isValue() || arg->type()->isValuePointer() + || arg->type()->isNativePointer() || arg->type()->isEnum() || arg->type()->isFlags() || arg->type()->isContainer() @@ -576,7 +577,12 @@ QString ShibokenGenerator::getFormatUnitString(const AbstractMetaFunction* func, } else if (isCString(arg->type())) { result += 'z'; } else { - ReportHandler::warning("Unknown type used in ShibokenGenerator::getFormatUnitString!"); + QString report; + QTextStream(&report) << "Method: " << func->ownerClass()->qualifiedCppName() + << "::" << func->signature() << " => Arg:" + << arg->name() << "index: " << arg->argumentIndex() + << " - cannot be handled properly. Use an inject-code to fix it!"; + ReportHandler::warning(report); result += '?'; } } |