forked from qt-creator/qt-creator
QmlDebugger: Allow functions and scripts to be specified as strings
For some of those it doesn't make much sense to assign a ref and the refs are not stable anyway. Change-Id: I7b6855225f883b93930b8d501495ef9dd62be7a2 Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -2144,19 +2144,16 @@ StackFrame QmlEnginePrivate::extractStackFrame(const QVariant &bodyVal)
|
|||||||
return stackFrame;
|
return stackFrame;
|
||||||
}
|
}
|
||||||
|
|
||||||
QmlV8ObjectData objectData = extractData(body.value("func"));
|
auto extractString = [this](const QVariant &item) {
|
||||||
QString functionName = objectData.value.toString();
|
return ((item.type() == QVariant::String) ? item : extractData(item).value).toString();
|
||||||
if (functionName.isEmpty())
|
};
|
||||||
functionName = QCoreApplication::translate("QmlEngine", "Anonymous Function");
|
|
||||||
stackFrame.function = functionName;
|
|
||||||
|
|
||||||
objectData = extractData(body.value("script"));
|
stackFrame.function = extractString(body.value("func"));
|
||||||
stackFrame.file = engine->toFileInProject(objectData.value.toString());
|
if (stackFrame.function.isEmpty())
|
||||||
|
stackFrame.function = QCoreApplication::translate("QmlEngine", "Anonymous Function");
|
||||||
|
stackFrame.file = engine->toFileInProject(extractString(body.value("script")));
|
||||||
stackFrame.usable = QFileInfo(stackFrame.file).isReadable();
|
stackFrame.usable = QFileInfo(stackFrame.file).isReadable();
|
||||||
|
stackFrame.receiver = extractString(body.value("receiver"));
|
||||||
objectData = extractData(body.value("receiver"));
|
|
||||||
stackFrame.receiver = objectData.value.toString();
|
|
||||||
|
|
||||||
stackFrame.line = body.value("line").toInt() + 1;
|
stackFrame.line = body.value("line").toInt() + 1;
|
||||||
|
|
||||||
return stackFrame;
|
return stackFrame;
|
||||||
|
|||||||
Reference in New Issue
Block a user