summaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/qmlbasicscript.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/declarative/qml/qmlbasicscript.cpp')
-rw-r--r--src/declarative/qml/qmlbasicscript.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/declarative/qml/qmlbasicscript.cpp b/src/declarative/qml/qmlbasicscript.cpp
index 21860a5..8993845 100644
--- a/src/declarative/qml/qmlbasicscript.cpp
+++ b/src/declarative/qml/qmlbasicscript.cpp
@@ -697,6 +697,23 @@ QVariant QmlBasicScript::run(QmlContext *context, QObject *me)
return stack.top();
}
+bool QmlBasicScript::isSingleIdFetch() const
+{
+ if (!isValid())
+ return false;
+
+ return d->instructionCount == 1 &&
+ d->instructions()[0].type == ScriptInstruction::LoadIdObject;
+}
+
+int QmlBasicScript::singleIdFetchIndex() const
+{
+ if (!isSingleIdFetch())
+ return -1;
+
+ return d->instructions()[0].fetch.idx;
+}
+
/*!
Return a pointer to the script's compile data, or null if there is no data.
*/