diff options
Diffstat (limited to 'src/qml/qml/qqmlrewrite.cpp')
-rw-r--r-- | src/qml/qml/qqmlrewrite.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/qml/qml/qqmlrewrite.cpp b/src/qml/qml/qqmlrewrite.cpp index 72bd23955b..0bd8597ec4 100644 --- a/src/qml/qml/qqmlrewrite.cpp +++ b/src/qml/qml/qqmlrewrite.cpp @@ -419,6 +419,21 @@ QString RewriteSignalHandler::operator()(QQmlJS::AST::Node *node, const QString return rewritten; } +QString RewriteSignalHandler::operator()(const QString &code, const QString &name, bool *ok) +{ + Engine engine; + Lexer lexer(&engine); + Parser parser(&engine); + lexer.setCode(code, 0); + parser.parseStatement(); + if (!parser.statement()) { + if (ok) *ok = false; + return QString(); + } + if (ok) *ok = true; + return operator()(parser.statement(), code, name); +} + } // namespace QQmlRewrite QT_END_NAMESPACE |