7#include <QtQml/private/qqmljsast_p.h>
8#include <QtQml/private/qqmljsengine_p.h>
9#include <QtQml/private/qqmljslexer_p.h>
10#include <QtQml/private/qqmljsparser_p.h>
11#include <QtQml/private/qqmlimportresolver_p.h>
13#include <QtCore/qfileinfo.h>
14#include <QtCore/qdebug.h>
29 const QString lowerSuffix =
info.suffix().toLower();
31 const bool isJavaScript = isESModule || lowerSuffix ==
QLatin1String(
"js");
41 lexer.
setCode(code, 1, !isJavaScript);
42 QQmlJS::Parser parser(&
engine);
44 const bool success = isJavaScript ? (isESModule ? parser.parseModule()
45 : parser.parseProgram())
61 return success && rootNode;
void close() override
Calls QFileDevice::flush() and closes the file.
QFILE_MAYBE_NODISCARD bool open(OpenMode flags) override
Opens the file using OpenMode mode, returning true if successful; otherwise false.
QByteArray readAll()
Reads all remaining data from the device, and returns it as a byte array.
static QString implicitImportDirectory(const QString &localFile, QQmlJSResourceFileMapper *mapper)
void runImportVisitor(QQmlJS::AST::Node *rootNode, const ImportVisitorPrerequisites &prerequisites)
QQmlJSResourceFileMapper * resourceFileMapper() const
void setCode(const QString &code)
void setSilent(bool silent)
void setFileName(const QString &fileName)
bool operator()(const QSharedPointer< QQmlJSScope > &scope)
void setCode(const QString &code, int lineno, bool qmlMode=true, CodeContinuation codeContinuation=CodeContinuation::Reset)
\macro QT_RESTRICTED_CAST_FROM_ASCII
QString chopped(qsizetype n) const &
static QString fromUtf8(QByteArrayView utf8)
This is an overloaded member function, provided for convenience. It differs from the above function o...
bool endsWith(const QString &s, Qt::CaseSensitivity cs=Qt::CaseSensitive) const
Returns true if the string ends with s; otherwise returns false.
Combined button and popup list for selecting options.
QLatin1StringView QLatin1String
#define QStringLiteral(str)