diff options
Diffstat (limited to 'src/qmlcompiler/qqmljscompiler_p.h')
-rw-r--r-- | src/qmlcompiler/qqmljscompiler_p.h | 32 |
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, |