diff -r 5dc02b23752f -r 3e2da88830cd src/declarative/qml/qdeclarativevmemetaobject.cpp --- a/src/declarative/qml/qdeclarativevmemetaobject.cpp Tue Jul 06 15:10:48 2010 +0300 +++ b/src/declarative/qml/qdeclarativevmemetaobject.cpp Wed Aug 18 10:37:55 2010 +0300 @@ -751,6 +751,22 @@ interceptors.insert(index, qMakePair(valueIndex, interceptor)); } +int QDeclarativeVMEMetaObject::vmeMethodLineNumber(int index) +{ + if (index < methodOffset) { + Q_ASSERT(parent); + return static_cast(parent)->vmeMethodLineNumber(index); + } + + int plainSignals = metaData->signalCount + metaData->propertyCount + metaData->aliasCount; + Q_ASSERT(index >= (methodOffset + plainSignals) && index < (methodOffset + plainSignals + metaData->methodCount)); + + int rawIndex = index - methodOffset - plainSignals; + + QDeclarativeVMEMetaData::MethodData *data = metaData->methodData() + rawIndex; + return data->lineNumber; +} + QScriptValue QDeclarativeVMEMetaObject::vmeMethod(int index) { if (index < methodOffset) { @@ -762,6 +778,20 @@ return method(index - methodOffset - plainSignals); } +void QDeclarativeVMEMetaObject::setVmeMethod(int index, const QScriptValue &value) +{ + if (index < methodOffset) { + Q_ASSERT(parent); + return static_cast(parent)->setVmeMethod(index, value); + } + int plainSignals = metaData->signalCount + metaData->propertyCount + metaData->aliasCount; + Q_ASSERT(index >= (methodOffset + plainSignals) && index < (methodOffset + plainSignals + metaData->methodCount)); + + if (!methods) + methods = new QScriptValue[metaData->methodCount]; + methods[index - methodOffset - plainSignals] = value; +} + QScriptValue QDeclarativeVMEMetaObject::vmeProperty(int index) { if (index < propOffset) {