![]() |
Qt 6.x
The Qt SDK
|
#include <qv4script_p.h>
Public Member Functions | |
Script (ExecutionContext *scope, QV4::Compiler::ContextType mode, const QString &sourceCode, const QString &source=QString(), int line=1, int column=0) | |
Script (ExecutionEngine *engine, QmlContext *qml, bool parseAsBinding, const QString &sourceCode, const QString &source=QString(), int line=1, int column=0) | |
Script (ExecutionEngine *engine, QmlContext *qml, const QQmlRefPointer< ExecutableCompilationUnit > &compilationUnit) | |
~Script () | |
void | parse () |
ReturnedValue | run (const QV4::Value *thisObject=nullptr) |
Function * | function () |
Static Public Member Functions | |
static QV4::CompiledData::CompilationUnit | precompile (QV4::Compiler::Module *module, QQmlJS::Engine *jsEngine, Compiler::JSUnitGenerator *unitGenerator, const QString &fileName, const QString &finalUrl, const QString &source, QList< QQmlError > *reportedErrors=nullptr, QV4::Compiler::ContextType contextType=QV4::Compiler::ContextType::Global) |
static Script * | createFromFileOrCache (ExecutionEngine *engine, QmlContext *qmlContext, const QString &fileName, const QUrl &originalUrl, QString *error) |
Public Attributes | |
QString | sourceFile |
int | line |
int | column |
QString | sourceCode |
ExecutionContext * | context |
bool | strictMode |
bool | inheritContext |
bool | parsed |
QV4::Compiler::ContextType | contextType = QV4::Compiler::ContextType::Eval |
QV4::PersistentValue | qmlContext |
QQmlRefPointer< ExecutableCompilationUnit > | compilationUnit |
Function * | vmFunction |
bool | parseAsBinding |
Definition at line 35 of file qv4script_p.h.
|
inline |
Definition at line 36 of file qv4script_p.h.
|
inline |
Definition at line 40 of file qv4script_p.h.
References engine, and qmlContext().
Script::Script | ( | ExecutionEngine * | engine, |
QmlContext * | qml, | ||
const QQmlRefPointer< ExecutableCompilationUnit > & | compilationUnit | ||
) |
Definition at line 27 of file qv4script.cpp.
References compilationUnit, parsed, qmlContext, QV4::PersistentValue::set(), and vmFunction.
Script::~Script | ( | ) |
Definition at line 39 of file qv4script.cpp.
|
static |
Definition at line 183 of file qv4script.cpp.
References QQmlMetaType::AcceptUntyped, QV4::ExecutionEngine::Aot, QV4::ExecutionEngine::AotByteCode, QString::arg(), QV4::ExecutableCompilationUnit::create(), engine, error, fileName, QQmlMetaType::findCachedCompilationUnit(), QString::fromUtf8(), QQmlMetaType::NoError, qmlContext, QIODeviceBase::ReadOnly, QQmlMetaType::RequireFullyTyped, QV4::Compiler::ScriptImportedByQML, sourceCode, QUrl::toString(), and QQmlMetaType::VersionMismatch.
Referenced by QV4Include::method_include().
Function * Script::function | ( | ) |
Definition at line 129 of file qv4script.cpp.
References parse(), parsed, and vmFunction.
Referenced by QV4::EvalFunction::evalCall().
void Script::parse | ( | ) |
Definition at line 43 of file qv4script.cpp.
References compilationUnit, context, contextType, QV4::ExecutableCompilationUnit::create(), QV4::ExecutionEngine::debugger(), engine, QV4::Managed::engine(), QV4::Scope::engine, error, QV4::Compiler::Codegen::generateCompilationUnit(), QV4::Compiler::Codegen::generateFromProgram(), QV4::EngineBase::hasException, inheritContext, QString::left(), line, QV4::ExecutionEngine::newSyntaxErrorObject(), parseAsBinding, parsed, QStringLiteral, qWarning, QQmlJS::Lexer::setCode(), QV4::Compiler::Codegen::setUseFastLookups(), sourceCode, sourceFile, QString::startsWith(), strictMode, QV4::ExecutionEngine::throwError(), QV4::ExecutionEngine::throwSyntaxError(), and vmFunction.
Referenced by QQmlJavaScriptExpression::createQmlBinding(), QV4::EvalFunction::evalCall(), QQmlJavaScriptExpression::evalFunction(), QJSEngine::evaluate(), function(), JavaScriptJob::run(), and run().
|
static |
Definition at line 136 of file qv4script.cpp.
References QList< T >::append(), contextType, error, QV4::Compiler::Codegen::error(), fileName, QV4::Compiler::Codegen::generateCompilationUnit(), QV4::Compiler::Codegen::generateFromProgram(), QV4::Compiler::Codegen::hasError(), QList< T >::isEmpty(), qmlConvertSourceCoordinate< quint32, int >(), QQmlEnginePrivate::qmlErrorFromDiagnostics(), QQmlJS::Lexer::setCode(), and QV4::Compiler::Codegen::url().
Referenced by QQmlScriptBlob::dataReceived().
ReturnedValue Script::run | ( | const QV4::Value * | thisObject = nullptr | ) |
Definition at line 108 of file qv4script.cpp.
References QV4::Function::call(), context, engine, QV4::Managed::engine(), QJSEngine::globalObject(), QV4::PersistentValue::isUndefined(), parse(), parsed, qmlContext, QV4::Encode::undefined(), QV4::PersistentValue::value(), and vmFunction.
Referenced by QQmlJavaScriptExpression::evalFunction(), QJSEngine::evaluate(), and JavaScriptJob::run().
int QV4::Script::column |
Definition at line 51 of file qv4script_p.h.
QQmlRefPointer<ExecutableCompilationUnit> QV4::Script::compilationUnit |
Definition at line 59 of file qv4script_p.h.
ExecutionContext* QV4::Script::context |
Definition at line 53 of file qv4script_p.h.
QV4::Compiler::ContextType QV4::Script::contextType = QV4::Compiler::ContextType::Eval |
Definition at line 57 of file qv4script_p.h.
Referenced by parse(), and precompile().
bool QV4::Script::inheritContext |
Definition at line 55 of file qv4script_p.h.
Referenced by QV4::EvalFunction::evalCall(), QJSEngine::evaluate(), parse(), and JavaScriptJob::run().
int QV4::Script::line |
Definition at line 50 of file qv4script_p.h.
Referenced by parse().
bool QV4::Script::parseAsBinding |
Definition at line 61 of file qv4script_p.h.
Referenced by parse().
bool QV4::Script::parsed |
Definition at line 56 of file qv4script_p.h.
Referenced by Script(), function(), parse(), and run().
QV4::PersistentValue QV4::Script::qmlContext |
Definition at line 58 of file qv4script_p.h.
Referenced by Script(), createFromFileOrCache(), and run().
QString QV4::Script::sourceCode |
Definition at line 52 of file qv4script_p.h.
Referenced by createFromFileOrCache(), and parse().
QString QV4::Script::sourceFile |
Definition at line 49 of file qv4script_p.h.
Referenced by parse().
bool QV4::Script::strictMode |
Definition at line 54 of file qv4script_p.h.
Referenced by QV4::EvalFunction::evalCall(), QJSEngine::evaluate(), parse(), and JavaScriptJob::run().
Function* QV4::Script::vmFunction |
Definition at line 60 of file qv4script_p.h.
Referenced by Script(), QQmlJavaScriptExpression::createQmlBinding(), function(), parse(), and run().