add default conversion for types long and ulong

upstream commits:
b0c4e816e6

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
Ivailo Monev 2016-01-26 17:34:47 +02:00
parent 121ef3c941
commit 64edbb3ab5

View file

@ -3089,6 +3089,10 @@ JSC::JSValue QScriptEnginePrivate::create(JSC::ExecState *exec, int type, const
return JSC::jsNumber(exec, *reinterpret_cast<const int*>(ptr)); return JSC::jsNumber(exec, *reinterpret_cast<const int*>(ptr));
case QMetaType::UInt: case QMetaType::UInt:
return JSC::jsNumber(exec, *reinterpret_cast<const uint*>(ptr)); return JSC::jsNumber(exec, *reinterpret_cast<const uint*>(ptr));
case QMetaType::Long:
return JSC::jsNumber(exec, *reinterpret_cast<const long*>(ptr));
case QMetaType::ULong:
return JSC::jsNumber(exec, *reinterpret_cast<const ulong*>(ptr));
case QMetaType::LongLong: case QMetaType::LongLong:
return JSC::jsNumber(exec, qsreal(*reinterpret_cast<const qlonglong*>(ptr))); return JSC::jsNumber(exec, qsreal(*reinterpret_cast<const qlonglong*>(ptr)));
case QMetaType::ULongLong: case QMetaType::ULongLong:
@ -3196,6 +3200,12 @@ bool QScriptEnginePrivate::convertValue(JSC::ExecState *exec, JSC::JSValue value
case QMetaType::UInt: case QMetaType::UInt:
*reinterpret_cast<uint*>(ptr) = toUInt32(exec, value); *reinterpret_cast<uint*>(ptr) = toUInt32(exec, value);
return true; return true;
case QMetaType::Long:
*reinterpret_cast<long*>(ptr) = long(toInteger(exec, value));
return true;
case QMetaType::ULong:
*reinterpret_cast<ulong*>(ptr) = ulong(toInteger(exec, value));
return true;
case QMetaType::LongLong: case QMetaType::LongLong:
*reinterpret_cast<qlonglong*>(ptr) = qlonglong(toInteger(exec, value)); *reinterpret_cast<qlonglong*>(ptr) = qlonglong(toInteger(exec, value));
return true; return true;
@ -3373,6 +3383,12 @@ bool QScriptEnginePrivate::convertNumber(qsreal value, int type, void *ptr)
case QMetaType::UInt: case QMetaType::UInt:
*reinterpret_cast<uint*>(ptr) = QScript::ToUInt32(value); *reinterpret_cast<uint*>(ptr) = QScript::ToUInt32(value);
return true; return true;
case QMetaType::Long:
*reinterpret_cast<long*>(ptr) = long(QScript::ToInteger(value));
return true;
case QMetaType::ULong:
*reinterpret_cast<ulong*>(ptr) = ulong(QScript::ToInteger(value));
return true;
case QMetaType::LongLong: case QMetaType::LongLong:
*reinterpret_cast<qlonglong*>(ptr) = qlonglong(QScript::ToInteger(value)); *reinterpret_cast<qlonglong*>(ptr) = qlonglong(QScript::ToInteger(value));
return true; return true;
@ -3421,6 +3437,12 @@ bool QScriptEnginePrivate::convertString(const QString &value, int type, void *p
case QMetaType::UInt: case QMetaType::UInt:
*reinterpret_cast<uint*>(ptr) = QScript::ToUInt32(value); *reinterpret_cast<uint*>(ptr) = QScript::ToUInt32(value);
return true; return true;
case QMetaType::Long:
*reinterpret_cast<long*>(ptr) = long(QScript::ToInteger(value));
return true;
case QMetaType::ULong:
*reinterpret_cast<ulong*>(ptr) = ulong(QScript::ToInteger(value));
return true;
case QMetaType::LongLong: case QMetaType::LongLong:
*reinterpret_cast<qlonglong*>(ptr) = qlonglong(QScript::ToInteger(value)); *reinterpret_cast<qlonglong*>(ptr) = qlonglong(QScript::ToInteger(value));
return true; return true;