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>
25 resultIsException(
false)
37 for (
int i = 0;
frame &&
i < frameNr; ++
i)
39 if (frameNr > 0 &&
frame)
47 }
else if (frameNr < 0) {
61 k = engine->
newString(cdata->findObjectId(
object));
62 withContext->put(k,
v);
90 resultIsException =
true;
97 return resultIsException;
101 CollectJob(collector), fromFrame(fromFrame), toFrame(toFrame)
109 for (
int i = fromFrame;
i < toFrame &&
i < frames.
size(); ++
i)
128 if (frameNr >= frames.
size()) {
142 CollectJob(collector), frameNr(frameNr), scopeNr(scopeNr), success(
false)
213 exception =
value->toQStringNoThrow();
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
bool isEmpty() const
Returns true if the object is empty.
qsizetype size() const
Returns the number of values stored in the array.
void push_back(const QJsonValue &t)
This function is provided for STL compatibility.
\inmodule QtCore\reentrant
\inmodule QtCore\reentrant
qsizetype size() const noexcept
static QQmlRefPointer< QQmlContextData > get(QQmlContext *context)
static QQmlContextPrivate * get(QQmlContext *context)
QList< QPointer< QObject > > instances() const
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.
T * data() const noexcept
Returns the value of the pointer referenced by this object.
void reset(T *other=nullptr) noexcept(noexcept(Cleanup::cleanup(std::declval< T * >())))
Deletes the existing object it is pointing to (if any), and sets its pointer to other.
\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...
QString arg(qlonglong a, int fieldwidth=0, int base=10, QChar fillChar=u' ') const
static QString number(int, int base=10)
This is an overloaded member function, provided for convenience. It differs from the above function o...
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.
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction function
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
Heap::String * newString(const QString &s=QString())
Heap::Object * newObject()
QIntrusiveList< ExecutableCompilationUnit, &ExecutableCompilationUnit::nextCompilationUnit > compilationUnits
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)