summaryrefslogtreecommitdiffstats
path: root/src/qdoc/qmlmarkupvisitor.cpp
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2019-03-18 10:31:10 +0100
committerUlf Hermann <ulf.hermann@qt.io>2019-03-18 09:56:45 +0000
commit11d01e3b74c84e465246a8f164b3f3b8ff92d8a4 (patch)
tree4be7398ef6a2c2d716f3f5de100144e30181d7ab /src/qdoc/qmlmarkupvisitor.cpp
parentf1391564f6119973f46f0792b77fa65210ef00ae (diff)
Handle recursion depth errors when parsing JavaScript
Implementations of QQmlJS::AST::Visitor are required to do so. Fixes: QTBUG-74510 Change-Id: I061240f15ce082a05dd7829d225a5bfc3edd896a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/qdoc/qmlmarkupvisitor.cpp')
-rw-r--r--src/qdoc/qmlmarkupvisitor.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/qdoc/qmlmarkupvisitor.cpp b/src/qdoc/qmlmarkupvisitor.cpp
index 7fd6e7c28..6d0f2470b 100644
--- a/src/qdoc/qmlmarkupvisitor.cpp
+++ b/src/qdoc/qmlmarkupvisitor.cpp
@@ -115,6 +115,11 @@ QString QmlMarkupVisitor::markedUpCode()
return output;
}
+bool QmlMarkupVisitor::hasError() const
+{
+ return hasRecursionDepthError;
+}
+
void QmlMarkupVisitor::addExtra(quint32 start, quint32 finish)
{
if (extraIndex >= extraLocations.length()) {
@@ -804,6 +809,12 @@ bool QmlMarkupVisitor::visit(QQmlJS::AST::UiObjectDefinition *definition)
QQmlJS::AST::Node::accept(definition->initializer, this);
return false;
}
+
+void QmlMarkupVisitor::throwRecursionDepthError()
+{
+ hasRecursionDepthError = true;
+}
+
#endif
QT_END_NAMESPACE