diff --git a/src/libs/qmljs/qmljsdocument.cpp b/src/libs/qmljs/qmljsdocument.cpp index c848a78c537..659531f1306 100644 --- a/src/libs/qmljs/qmljsdocument.cpp +++ b/src/libs/qmljs/qmljsdocument.cpp @@ -265,6 +265,11 @@ public: addLocation(line, column); } + void pragmaLibrary() override + { + isLibrary = true; + } + virtual QList locations() { return _locations; } const QString documentPath; diff --git a/src/libs/qmljs/qmljsreformatter.cpp b/src/libs/qmljs/qmljsreformatter.cpp index d60d6179f3d..6fdb6b034fc 100644 --- a/src/libs/qmljs/qmljsreformatter.cpp +++ b/src/libs/qmljs/qmljsreformatter.cpp @@ -24,8 +24,9 @@ ****************************************************************************/ #include "qmljsreformatter.h" - #include "qmljscodeformatter.h" +#include "qmljsbind.h" + #include "parser/qmljsast_p.h" #include "parser/qmljsastvisitor_p.h" #include "parser/qmljsengine_p.h" @@ -122,6 +123,10 @@ public: // emit directives + if (_doc->bind()->isJsLibrary()) { + out(QLatin1String(".pragma library")); + newLine(); + } const QList &directives = _doc->jsDirectives(); for (const auto &d: directives) { quint32 line = 1; diff --git a/tests/auto/qml/reformatter/pragmalibrary.js b/tests/auto/qml/reformatter/pragmalibrary.js new file mode 100644 index 00000000000..15c30ca07e5 --- /dev/null +++ b/tests/auto/qml/reformatter/pragmalibrary.js @@ -0,0 +1,3 @@ +.pragma library + +function foo() {}