11void QQmlMetaObject::resolveGadgetMethodOrPropertyIndex(QMetaObject::Call type,
const QMetaObject **metaObject,
int *index)
16 case QMetaObject::ReadProperty:
17 case QMetaObject::WriteProperty:
18 case QMetaObject::ResetProperty:
19 offset = (*metaObject)->propertyOffset();
20 while (*index < offset) {
21 *metaObject = (*metaObject)->superClass();
22 offset = (*metaObject)->propertyOffset();
25 case QMetaObject::InvokeMetaMethod:
26 offset = (*metaObject)->methodOffset();
27 while (*index < offset) {
28 *metaObject = (*metaObject)->superClass();
29 offset = (*metaObject)->methodOffset();
41QMetaType QQmlMetaObject::methodReturnType(
const QQmlPropertyData &data, QByteArray *unknownTypeError)
const
43 Q_ASSERT(_m && data.coreIndex() >= 0);
45 QMetaType type = data.propType();
46 if (!type.isValid()) {
48 type = _m->method(data.coreIndex()).returnMetaType();
50 if (type.flags().testFlag(QMetaType::IsEnumeration))
51 type = type.underlyingType();
54 else if (unknownTypeError)
55 *unknownTypeError = _m->method(data.coreIndex()).typeName();