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

(c912d35d0ffa755ff6279ee1fc5209a57061a29a)

#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 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

◆ checkArgumentsObjectUseInSignalHandlers()

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

Definition at line 82 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 510 of file qqmljscompiler.cpp.

References skippedValidationCode.

◆ isStrict()

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

Definition at line 733 of file qqmljscompiler.cpp.

◆ lookupToString()

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

Definition at line 464 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 348 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 142 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 152 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 557 of file qqmljscompiler.cpp.

◆ signatureToString()

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

Definition at line 470 of file qqmljscompiler.cpp.

◆ typeToString()

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

Definition at line 453 of file qqmljscompiler.cpp.

◆ wrapString()

QString wrapString ( const QString & s)
static

Definition at line 448 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 442 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 498 of file qqmljscompiler.cpp.

Referenced by generateAotValidationCode().