aboutsummaryrefslogtreecommitdiffstats
path: root/tools/qmljs/qmljs.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/qmljs/qmljs.cpp')
-rw-r--r--tools/qmljs/qmljs.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/tools/qmljs/qmljs.cpp b/tools/qmljs/qmljs.cpp
index 69f6b15299..fd06f974b6 100644
--- a/tools/qmljs/qmljs.cpp
+++ b/tools/qmljs/qmljs.cpp
@@ -97,10 +97,12 @@ int main(int argc, char *argv[])
for (const QString &fn : qAsConst(args)) {
QV4::ScopedValue result(scope);
if (runAsModule) {
- auto moduleUnit = vm.loadModule(QUrl::fromLocalFile(QFileInfo(fn).absoluteFilePath()));
- if (moduleUnit) {
- if (moduleUnit->instantiate(&vm))
- moduleUnit->evaluate();
+ auto module = vm.loadModule(QUrl::fromLocalFile(QFileInfo(fn).absoluteFilePath()));
+ if (module.compiled) {
+ if (module.compiled->instantiate(&vm))
+ module.compiled->evaluate();
+ } else if (module.native) {
+ // Nothing to do. Native modules have no global code.
} else {
vm.throwError(QStringLiteral("Could not load module file"));
}