Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qqmljscompiler.cpp File Reference

(d0fa7140e7f87068fbd655a3020580c5a9ef9936)

#include "qqmljscompiler_p.h"
#include <private/qqmlirbuilder_p.h>
#include <private/qqmljsaotirbuilder_p.h>
#include <private/qqmljsbasicblocks_p.h>
#include <private/qqmljscodegenerator_p.h>
#include <private/qqmljscompilerstats_p.h>
#include <private/qqmljsfunctioninitializer_p.h>
#include <private/qqmljsimportvisitor_p.h>
#include <private/qqmljslexer_p.h>
#include <private/qqmljsloadergenerator_p.h>
#include <private/qqmljsoptimizations_p.h>
#include <private/qqmljsparser_p.h>
#include <private/qqmljsshadowcheck_p.h>
#include <private/qqmljsstoragegeneralizer_p.h>
#include <private/qqmljsstorageinitializer_p.h>
#include <private/qqmljstypepropagator_p.h>
#include <QtCore/qfile.h>
#include <QtCore/qfileinfo.h>
#include <QtCore/qloggingcategory.h>
#include <QtCore/qelapsedtimer.h>
#include <QtQml/private/qqmlsignalnames_p.h>
#include <limits>
Include dependency graph for qqmljscompiler.cpp:

Go to the source code of this file.

Classes

class  BindingOrFunction

Functions

 Q_LOGGING_CATEGORY (lcAotCompiler, "qt.qml.compiler.aot", QtFatalMsg)
static QString diagnosticErrorMessage (const QString &fileName, const QQmlJS::DiagnosticMessage &m)
static void annotateListElements (QmlIR::Document *document)
static bool checkArgumentsObjectUseInSignalHandlers (const QmlIR::Document &doc, QQmlJSCompileError *error)
bool qCompileQmlFile (const QString &inputFileName, const QQmlJSSaveFunction &saveFunction, QQmlJSAotCompiler *aotCompiler, QQmlJSCompileError *error, bool storeSourceLocation, QV4::Compiler::CodegenWarningInterface *wInterface, const QString *fileContents)
bool qCompileQmlFile (QmlIR::Document &irDocument, const QString &inputFileName, const QQmlJSSaveFunction &saveFunction, QQmlJSAotCompiler *aotCompiler, QQmlJSCompileError *error, bool storeSourceLocation, QV4::Compiler::CodegenWarningInterface *wInterface, const QString *fileContents)
bool qCompileJSFile (const QString &inputFileName, const QString &inputFileUrl, const QQmlJSSaveFunction &saveFunction, QQmlJSCompileError *error)
static QString wrapString (const QString &s)
static QString typeToString (const QQmlPrivate::AOTLookupValidation::Type &type)
static QString lookupToString (const QQmlPrivate::AOTLookupValidation::Lookup &lookup)
static QString signatureToString (const QQmlPrivate::AOTLookupValidation::Signature &signature)
template<typename WriteStr>
static bool generateAotValidationCode (const WriteStr &writeStr, const LookupSignatures &lookupSignatures, bool noAotValidation)
bool qSaveQmlJSUnitAsCpp (const QString &inputFileName, const QString &outputFileName, const QV4::CompiledData::SaveableUnitPointer &unit, const QQmlJSAotFunctionMap &aotFunctions, const LookupSignatures &lookupSignatures, bool noAotValidation, QString *errorString)
static bool isStrict (const QmlIR::Document *doc)

Variables

static const int FileScopeCodeIndex = -1
static const char * funcHeaderCode
static const char * skippedValidationCode

Function Documentation

◆ annotateListElements()

void annotateListElements ( QmlIR::Document * document)
static

Definition at line 83 of file qqmljscompiler.cpp.

◆ checkArgumentsObjectUseInSignalHandlers()

bool checkArgumentsObjectUseInSignalHandlers ( const QmlIR::Document & doc,
QQmlJSCompileError * error )
static

Definition at line 115 of file qqmljscompiler.cpp.

◆ diagnosticErrorMessage()

QString diagnosticErrorMessage ( const QString & fileName,
const QQmlJS::DiagnosticMessage & m )
static

Definition at line 52 of file qqmljscompiler.cpp.

◆ generateAotValidationCode()

template<typename WriteStr>
bool generateAotValidationCode ( const WriteStr & writeStr,
const LookupSignatures & lookupSignatures,
bool noAotValidation )
static

Definition at line 544 of file qqmljscompiler.cpp.

References skippedValidationCode.

◆ isStrict()

bool isStrict ( const QmlIR::Document * doc)
static

Definition at line 767 of file qqmljscompiler.cpp.

◆ lookupToString()

QString lookupToString ( const QQmlPrivate::AOTLookupValidation::Lookup & lookup)
static

Definition at line 498 of file qqmljscompiler.cpp.

◆ Q_LOGGING_CATEGORY()

Q_LOGGING_CATEGORY ( lcAotCompiler ,
"qt.qml.compiler.aot" ,
QtFatalMsg  )

◆ qCompileJSFile()

bool qCompileJSFile ( const QString & inputFileName,
const QString & inputFileUrl,
const QQmlJSSaveFunction & saveFunction,
QQmlJSCompileError * error )

Definition at line 382 of file qqmljscompiler.cpp.

◆ qCompileQmlFile() [1/2]

bool qCompileQmlFile ( const QString & inputFileName,
const QQmlJSSaveFunction & saveFunction,
QQmlJSAotCompiler * aotCompiler,
QQmlJSCompileError * error,
bool storeSourceLocation,
QV4::Compiler::CodegenWarningInterface * wInterface,
const QString * fileContents )

Definition at line 175 of file qqmljscompiler.cpp.

◆ qCompileQmlFile() [2/2]

bool qCompileQmlFile ( QmlIR::Document & irDocument,
const QString & inputFileName,
const QQmlJSSaveFunction & saveFunction,
QQmlJSAotCompiler * aotCompiler,
QQmlJSCompileError * error,
bool storeSourceLocation,
QV4::Compiler::CodegenWarningInterface * wInterface,
const QString * fileContents )

Definition at line 185 of file qqmljscompiler.cpp.

◆ qSaveQmlJSUnitAsCpp()

bool qSaveQmlJSUnitAsCpp ( const QString & inputFileName,
const QString & outputFileName,
const QV4::CompiledData::SaveableUnitPointer & unit,
const QQmlJSAotFunctionMap & aotFunctions,
const LookupSignatures & lookupSignatures,
bool noAotValidation,
QString * errorString )

Definition at line 591 of file qqmljscompiler.cpp.

◆ signatureToString()

QString signatureToString ( const QQmlPrivate::AOTLookupValidation::Signature & signature)
static

Definition at line 504 of file qqmljscompiler.cpp.

◆ typeToString()

QString typeToString ( const QQmlPrivate::AOTLookupValidation::Type & type)
static

Definition at line 487 of file qqmljscompiler.cpp.

◆ wrapString()

QString wrapString ( const QString & s)
static

Definition at line 482 of file qqmljscompiler.cpp.

Variable Documentation

◆ FileScopeCodeIndex

const int FileScopeCodeIndex = -1
static

Definition at line 38 of file qqmljscompiler.cpp.

◆ funcHeaderCode

const char * funcHeaderCode
static
Initial value:
= R"(
[](const QQmlPrivate::AOTCompiledContext *aotContext, void **argv) {
Q_UNUSED(aotContext)
Q_UNUSED(argv)
)"

Definition at line 476 of file qqmljscompiler.cpp.

◆ skippedValidationCode

const char * skippedValidationCode
static
Initial value:
= R"(
bool validateLookupSignatures(QQmlEngine *engine, QV4::CompiledData::CompilationUnit *cu)
{
// AOT validation code not generated (NO_GENERATE_AOT_VALIDATION)
Q_UNUSED(engine);
Q_UNUSED(cu);
return true;
}
)"

Definition at line 532 of file qqmljscompiler.cpp.

Referenced by generateAotValidationCode().