6#include <private/qqmlcontext_p.h>
7#include <private/qqmldebugservice_p.h>
8#include <private/qv4jscall_p.h>
9#include <private/qv4qmlcontext_p.h>
10#include <private/qv4qobjectwrapper_p.h>
11#include <private/qv4script_p.h>
12#include <private/qv4stackframe_p.h>
14#include <QtQml/qqmlengine.h>
16#include <QtCore/qpointer.h>
27 resultIsException(
false)
39 for (
int i = 0;
frame &&
i < frameNr; ++
i)
41 if (frameNr > 0 &&
frame)
49 }
else if (frameNr < 0) {
58 const QList<QPointer<QObject>> instances = ctxtPriv->instances();
59 for (
const QPointer<QObject> &
object : instances) {
63 k = engine->
newString(cdata->findObjectId(
object));
64 withContext->put(k,
v);
92 resultIsException =
true;
99 return resultIsException;
103 CollectJob(collector), fromFrame(fromFrame), toFrame(toFrame)
111 for (
int i = fromFrame;
i < toFrame &&
i < frames.size(); ++
i)
113 if (frameArray.isEmpty()) {
130 if (frameNr >= frames.size()) {
144 CollectJob(collector), frameNr(frameNr), scopeNr(scopeNr), success(
false)
154 QVector<QV4::Heap::ExecutionContext::ContextType> scopeTypes =
178 QScopedPointer<QObject> scopeObject;
183 scopeObject.reset(
new QObject);
215 exception =
value->toQStringNoThrow();
236 for (
const auto &unit : compilationUnits) {
BacktraceJob(QV4DataCollector *collector, int fromFrame, int toFrame)
QV4DataCollector * collector
EvalJob(QV4::ExecutionEngine *engine, const QString &script)
bool resultAsBoolean() const
void handleResult(QV4::ScopedValue &result) override
const QJsonObject & returnValue() const
ExpressionEvalJob(QV4::ExecutionEngine *engine, int frameNr, int context, const QString &expression, QV4DataCollector *collector)
void handleResult(QV4::ScopedValue &value) override
const QString & exceptionMessage() const
bool wasSuccessful() const
FrameJob(QV4DataCollector *collector, int frameNr)
const QStringList & result() const
GatherSourcesJob(QV4::ExecutionEngine *engine)
virtual void handleResult(QV4::ScopedValue &result)=0
JavaScriptJob(QV4::ExecutionEngine *engine, int frameNr, int context, const QString &script)
\inmodule QtCore\reentrant
\inmodule QtCore\reentrant
\inmodule QtCore\reentrant
void push_back(parameter_type t)
static QQmlRefPointer< QQmlContextData > get(QQmlContext *context)
static QQmlContextPrivate * get(QQmlContext *context)
The QQmlContext class defines a context within a QML engine.
static QObject * objectForId(int id)
The QQmlEngine class provides an environment for instantiating QML components.
QQmlContext * rootContext() const
Returns the engine's root context.
\macro QT_RESTRICTED_CAST_FROM_ASCII
static QString fromLatin1(QByteArrayView ba)
This is an overloaded member function, provided for convenience. It differs from the above function o...
static QString number(int, int base=10)
This is an overloaded member function, provided for convenience. It differs from the above function o...
QString & append(QChar c)
bool collectScope(QJsonObject *dict, int frameNr, int scopeNr)
bool isValidRef(Ref ref) const
Ref addValueRef(const QV4::ScopedValue &value)
static int encodeScopeType(QV4::Heap::ExecutionContext::ContextType scopeType)
QJsonObject lookupRef(Ref ref)
QV4::ExecutionEngine * engine() const
QVector< QV4::Heap::ExecutionContext::ContextType > getScopeTypes(int frame)
QJsonObject buildFrame(const QV4::StackFrame &stackFrame, int frameNr)
bool wasSuccessful() const
ScopeJob(QV4DataCollector *collector, int frameNr, int scopeNr)
const QString & exceptionMessage() const
ValueLookupJob(const QJsonArray &handles, QV4DataCollector *collector)
Combined button and popup list for selecting options.
Scoped< String > ScopedString
Scoped< ExecutionContext > ScopedContext
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
GLsizei const GLfloat * v
[13]
GLuint64 GLenum void * handle
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
QQmlEngine * qmlEngine(const QObject *obj)
QQmlContext * qmlContext(const QObject *obj)
QLatin1StringView QLatin1String
#define QStringLiteral(str)
CppStackFrame * currentStackFrame
QMultiHash< QUrl, QQmlRefPointer< ExecutableCompilationUnit > > compilationUnits() const
Heap::Object * newObject()
Heap::String * newString(char16_t c)
ExecutionContext * scriptContext() const
StackTrace stackTrace(int frameLimit=-1) const
QQmlEngine * qmlEngine() const
static Heap::ExecutionContext * qmlContext(Heap::ExecutionContext *ctx)
ReturnedValue catchException(StackTrace *trace=nullptr)
ExecutionContext * currentContext() const
static ReturnedValue wrap(ExecutionEngine *engine, QObject *object)
static Heap::QmlContext * create(QV4::ExecutionContext *parent, QQmlRefPointer< QQmlContextData > context, QObject *scopeObject)
bool hasException() const
ReturnedValue run(const QV4::Value *thisObject=nullptr)