aboutsummaryrefslogtreecommitdiffstats
path: root/src/qmlcompiler/qqmljscompiler.cpp
diff options
context:
space:
mode:
authorMaximilian Goldstein <max.goldstein@qt.io>2021-07-09 10:44:28 +0200
committerMaximilian Goldstein <max.goldstein@qt.io>2021-07-13 11:07:19 +0200
commit31032a26311fe1582af75357d7990601696eb122 (patch)
treee7581e906054cfac8fbf4510c3e343cd07dfe323 /src/qmlcompiler/qqmljscompiler.cpp
parent675f3d0082a4a069ed84c7b3edb14d95aeed1417 (diff)
qv4bytecodegenerator: Supply SourceLocations in compiler context
This is required for better warnings in qmlcompiler's type propagator. Remains optional as to not consume superfluous memory when not needed (during normal QML engine operation). Change-Id: I50293f878e4f6659935925f5f2266427d2f64d7b Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Diffstat (limited to 'src/qmlcompiler/qqmljscompiler.cpp')
-rw-r--r--src/qmlcompiler/qqmljscompiler.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/qmlcompiler/qqmljscompiler.cpp b/src/qmlcompiler/qqmljscompiler.cpp
index c888ddcf87..7850a27831 100644
--- a/src/qmlcompiler/qqmljscompiler.cpp
+++ b/src/qmlcompiler/qqmljscompiler.cpp
@@ -193,15 +193,17 @@ private:
};
bool qCompileQmlFile(const QString &inputFileName, QQmlJSSaveFunction saveFunction,
- QQmlJSAotCompiler *aotCompiler, QQmlJSCompileError *error)
+ QQmlJSAotCompiler *aotCompiler, QQmlJSCompileError *error,
+ bool storeSourceLocation)
{
QmlIR::Document irDocument(/*debugMode*/false);
- return qCompileQmlFile(irDocument, inputFileName, saveFunction, aotCompiler, error);
+ return qCompileQmlFile(irDocument, inputFileName, saveFunction, aotCompiler, error,
+ storeSourceLocation);
}
bool qCompileQmlFile(QmlIR::Document &irDocument, const QString &inputFileName,
QQmlJSSaveFunction saveFunction, QQmlJSAotCompiler *aotCompiler,
- QQmlJSCompileError *error)
+ QQmlJSCompileError *error, bool storeSourceLocation)
{
QString sourceCode;
{
@@ -241,7 +243,9 @@ bool qCompileQmlFile(QmlIR::Document &irDocument, const QString &inputFileName,
QList<QmlIR::CompiledFunctionOrExpression> functionsToCompile;
for (QmlIR::CompiledFunctionOrExpression *foe = object->functionsAndExpressions->first; foe; foe = foe->next)
functionsToCompile << *foe;
- const QVector<int> runtimeFunctionIndices = v4CodeGen.generateJSCodeForFunctionsAndBindings(functionsToCompile);
+ const QVector<int> runtimeFunctionIndices =
+ v4CodeGen.generateJSCodeForFunctionsAndBindings(functionsToCompile,
+ storeSourceLocation);
if (v4CodeGen.hasError()) {
error->appendDiagnostic(inputFileName, v4CodeGen.error());
return false;