aboutsummaryrefslogtreecommitdiffstats
path: root/src/qmlcompiler/qqmljscompiler_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/qmlcompiler/qqmljscompiler_p.h')
-rw-r--r--src/qmlcompiler/qqmljscompiler_p.h32
1 files changed, 20 insertions, 12 deletions
diff --git a/src/qmlcompiler/qqmljscompiler_p.h b/src/qmlcompiler/qqmljscompiler_p.h
index 3483226a09..e358f76fef 100644
--- a/src/qmlcompiler/qqmljscompiler_p.h
+++ b/src/qmlcompiler/qqmljscompiler_p.h
@@ -14,7 +14,7 @@
//
// We mean it.
-#include <private/qtqmlcompilerexports_p.h>
+#include <qtqmlcompilerexports.h>
#include <QtCore/qstring.h>
#include <QtCore/qlist.h>
@@ -32,9 +32,9 @@
QT_BEGIN_NAMESPACE
-Q_QMLCOMPILER_PRIVATE_EXPORT Q_DECLARE_LOGGING_CATEGORY(lcAotCompiler);
+Q_QMLCOMPILER_EXPORT Q_DECLARE_LOGGING_CATEGORY(lcAotCompiler);
-struct Q_QMLCOMPILER_PRIVATE_EXPORT QQmlJSCompileError
+struct Q_QMLCOMPILER_EXPORT QQmlJSCompileError
{
QString message;
void print();
@@ -45,17 +45,23 @@ struct Q_QMLCOMPILER_PRIVATE_EXPORT QQmlJSCompileError
const QQmlJS::DiagnosticMessage &diagnostic);
};
-struct Q_QMLCOMPILER_PRIVATE_EXPORT QQmlJSAotFunction
+struct Q_QMLCOMPILER_EXPORT QQmlJSAotFunction
{
QStringList includes;
- QStringList argumentTypes;
QString code;
- QString returnType;
+ QString signature;
+ int numArguments = 0;
};
-class Q_QMLCOMPILER_PRIVATE_EXPORT QQmlJSAotCompiler
+class Q_QMLCOMPILER_EXPORT QQmlJSAotCompiler
{
public:
+ enum Flag {
+ NoFlags = 0x0,
+ ValidateBasicBlocks = 0x1,
+ };
+ Q_DECLARE_FLAGS(Flags, Flag)
+
QQmlJSAotCompiler(QQmlJSImporter *importer, const QString &resourcePath,
const QStringList &qmldirFiles, QQmlJSLogger *logger);
@@ -71,12 +77,13 @@ public:
virtual QQmlJSAotFunction globalCode() const;
+ Flags m_flags;
+
protected:
virtual QQmlJS::DiagnosticMessage diagnose(
const QString &message, QtMsgType type, const QQmlJS::SourceLocation &location) const;
QQmlJSTypeResolver m_typeResolver;
- QStringList m_entireSourceCodeLines;
const QString m_resourcePath;
const QStringList m_qmldirFiles;
@@ -95,31 +102,32 @@ private:
QQmlJS::DiagnosticMessage *error);
};
+Q_DECLARE_OPERATORS_FOR_FLAGS(QQmlJSAotCompiler::Flags);
using QQmlJSAotFunctionMap = QMap<int, QQmlJSAotFunction>;
using QQmlJSSaveFunction
= std::function<bool(const QV4::CompiledData::SaveableUnitPointer &,
const QQmlJSAotFunctionMap &, QString *)>;
-bool Q_QMLCOMPILER_PRIVATE_EXPORT qCompileQmlFile(const QString &inputFileName,
+bool Q_QMLCOMPILER_EXPORT qCompileQmlFile(const QString &inputFileName,
QQmlJSSaveFunction saveFunction,
QQmlJSAotCompiler *aotCompiler, QQmlJSCompileError *error,
bool storeSourceLocation = false,
QV4::Compiler::CodegenWarningInterface *interface =
QV4::Compiler::defaultCodegenWarningInterface(),
const QString *fileContents = nullptr);
-bool Q_QMLCOMPILER_PRIVATE_EXPORT qCompileQmlFile(QmlIR::Document &irDocument, const QString &inputFileName,
+bool Q_QMLCOMPILER_EXPORT qCompileQmlFile(QmlIR::Document &irDocument, const QString &inputFileName,
QQmlJSSaveFunction saveFunction,
QQmlJSAotCompiler *aotCompiler, QQmlJSCompileError *error,
bool storeSourceLocation = false,
QV4::Compiler::CodegenWarningInterface *interface =
QV4::Compiler::defaultCodegenWarningInterface(),
const QString *fileContents = nullptr);
-bool Q_QMLCOMPILER_PRIVATE_EXPORT qCompileJSFile(const QString &inputFileName, const QString &inputFileUrl,
+bool Q_QMLCOMPILER_EXPORT qCompileJSFile(const QString &inputFileName, const QString &inputFileUrl,
QQmlJSSaveFunction saveFunction,
QQmlJSCompileError *error);
-bool Q_QMLCOMPILER_PRIVATE_EXPORT qSaveQmlJSUnitAsCpp(const QString &inputFileName,
+bool Q_QMLCOMPILER_EXPORT qSaveQmlJSUnitAsCpp(const QString &inputFileName,
const QString &outputFileName,
const QV4::CompiledData::SaveableUnitPointer &unit,
const QQmlJSAotFunctionMap &aotFunctions,