summaryrefslogtreecommitdiffstats
path: root/src/qdoc
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2018-06-06 15:32:16 +0200
committerLars Knoll <lars.knoll@qt.io>2018-06-15 12:55:36 +0000
commit1ca3602f1c4492c1d723f53ae651e4306c9a45c4 (patch)
tree6e1d6e28f2a7b63a03df8fd85b269c41b2754e5c /src/qdoc
parent22265a4b0da495f88d407bb970573433f1a7f8f5 (diff)
Compile qdoc with new JS parser
It compiles this way, but might not generate output that is fully correct in all cases. Task-number: QTBUG-67974 Change-Id: Ib4017a9b6b890295fa982753c766946bcadd3652 Reviewed-by: Martin Smith <martin.smith@qt.io>
Diffstat (limited to 'src/qdoc')
-rw-r--r--src/qdoc/qdoc.pro1
-rw-r--r--src/qdoc/qmlmarkupvisitor.cpp64
-rw-r--r--src/qdoc/qmlmarkupvisitor.h13
-rw-r--r--src/qdoc/qmlvisitor.cpp2
4 files changed, 21 insertions, 59 deletions
diff --git a/src/qdoc/qdoc.pro b/src/qdoc/qdoc.pro
index c88074a66..cdfda190f 100644
--- a/src/qdoc/qdoc.pro
+++ b/src/qdoc/qdoc.pro
@@ -10,7 +10,6 @@ qtHaveModule(qmldevtools-private) {
} else {
DEFINES += QT_NO_DECLARATIVE
}
-DEFINES += QT_NO_DECLARATIVE
LIBS += $$CLANG_LIBS
!contains(QMAKE_DEFAULT_INCDIRS, $$CLANG_INCLUDEPATH): INCLUDEPATH += $$CLANG_INCLUDEPATH
diff --git a/src/qdoc/qmlmarkupvisitor.cpp b/src/qdoc/qmlmarkupvisitor.cpp
index cde70e973..7fd6e7c28 100644
--- a/src/qdoc/qmlmarkupvisitor.cpp
+++ b/src/qdoc/qmlmarkupvisitor.cpp
@@ -362,7 +362,7 @@ bool QmlMarkupVisitor::visit(QQmlJS::AST::RegExpLiteral *literal)
return true;
}
-bool QmlMarkupVisitor::visit(QQmlJS::AST::ArrayLiteral *literal)
+bool QmlMarkupVisitor::visit(QQmlJS::AST::ArrayPattern *literal)
{
addVerbatim(literal->lbracketToken);
QQmlJS::AST::Node::accept(literal->elements, this);
@@ -370,22 +370,22 @@ bool QmlMarkupVisitor::visit(QQmlJS::AST::ArrayLiteral *literal)
return false;
}
-bool QmlMarkupVisitor::visit(QQmlJS::AST::ObjectLiteral *literal)
+bool QmlMarkupVisitor::visit(QQmlJS::AST::ObjectPattern *literal)
{
addVerbatim(literal->lbraceToken);
return true;
}
-void QmlMarkupVisitor::endVisit(QQmlJS::AST::ObjectLiteral *literal)
+void QmlMarkupVisitor::endVisit(QQmlJS::AST::ObjectPattern *literal)
{
addVerbatim(literal->rbraceToken);
}
-bool QmlMarkupVisitor::visit(QQmlJS::AST::ElementList *list)
+bool QmlMarkupVisitor::visit(QQmlJS::AST::PatternElementList *list)
{
- for (QQmlJS::AST::ElementList *it = list; it; it = it->next) {
- QQmlJS::AST::Node::accept(it->expression, this);
+ for (QQmlJS::AST::PatternElementList *it = list; it; it = it->next) {
+ QQmlJS::AST::Node::accept(it->element, this);
//addVerbatim(it->commaToken);
}
QQmlJS::AST::Node::accept(list->elision, this);
@@ -398,12 +398,12 @@ bool QmlMarkupVisitor::visit(QQmlJS::AST::Elision *elision)
return true;
}
-bool QmlMarkupVisitor::visit(QQmlJS::AST::PropertyNameAndValue *list)
+bool QmlMarkupVisitor::visit(QQmlJS::AST::PatternProperty *list)
{
QQmlJS::AST::Node::accept(list->name, this);
addVerbatim(list->colonToken, list->colonToken);
- QQmlJS::AST::Node::accept(list->value, this);
- addVerbatim(list->commaToken, list->commaToken);
+ QQmlJS::AST::Node::accept(list->initializer, this);
+ //addVerbatim(list->commaToken, list->commaToken);
return false;
}
@@ -553,7 +553,7 @@ bool QmlMarkupVisitor::visit(QQmlJS::AST::VariableStatement *statement)
{
addVerbatim(statement->declarationKindToken);
QQmlJS::AST::Node::accept(statement->declarations, this);
- addVerbatim(statement->semicolonToken);
+ //addVerbatim(statement->semicolonToken);
return false;
}
@@ -566,13 +566,6 @@ bool QmlMarkupVisitor::visit(QQmlJS::AST::VariableDeclarationList *list)
return false;
}
-bool QmlMarkupVisitor::visit(QQmlJS::AST::VariableDeclaration *declaration)
-{
- addMarkedUpToken(declaration->identifierToken, QLatin1String("name"));
- QQmlJS::AST::Node::accept(declaration->expression, this);
- return false;
-}
-
bool QmlMarkupVisitor::visit(QQmlJS::AST::EmptyStatement *statement)
{
addVerbatim(statement->semicolonToken);
@@ -636,40 +629,12 @@ bool QmlMarkupVisitor::visit(QQmlJS::AST::ForStatement *statement)
return false;
}
-bool QmlMarkupVisitor::visit(QQmlJS::AST::LocalForStatement *statement)
-{
- addMarkedUpToken(statement->forToken, QLatin1String("keyword"));
- addVerbatim(statement->lparenToken);
- addMarkedUpToken(statement->varToken, QLatin1String("keyword"));
- QQmlJS::AST::Node::accept(statement->declarations, this);
- addVerbatim(statement->firstSemicolonToken);
- QQmlJS::AST::Node::accept(statement->condition, this);
- addVerbatim(statement->secondSemicolonToken);
- QQmlJS::AST::Node::accept(statement->expression, this);
- addVerbatim(statement->rparenToken);
- QQmlJS::AST::Node::accept(statement->statement, this);
- return false;
-}
-
bool QmlMarkupVisitor::visit(QQmlJS::AST::ForEachStatement *statement)
{
addMarkedUpToken(statement->forToken, QLatin1String("keyword"));
addVerbatim(statement->lparenToken);
- QQmlJS::AST::Node::accept(statement->initialiser, this);
- addVerbatim(statement->inToken);
- QQmlJS::AST::Node::accept(statement->expression, this);
- addVerbatim(statement->rparenToken);
- QQmlJS::AST::Node::accept(statement->statement, this);
- return false;
-}
-
-bool QmlMarkupVisitor::visit(QQmlJS::AST::LocalForEachStatement *statement)
-{
- addMarkedUpToken(statement->forToken, QLatin1String("keyword"));
- addVerbatim(statement->lparenToken);
- addMarkedUpToken(statement->varToken, QLatin1String("keyword"));
- QQmlJS::AST::Node::accept(statement->declaration, this);
- addVerbatim(statement->inToken);
+ QQmlJS::AST::Node::accept(statement->lhs, this);
+ addVerbatim(statement->inOfToken);
QQmlJS::AST::Node::accept(statement->expression, this);
addVerbatim(statement->rparenToken);
QQmlJS::AST::Node::accept(statement->statement, this);
@@ -817,8 +782,9 @@ bool QmlMarkupVisitor::visit(QQmlJS::AST::FunctionDeclaration *declaration)
bool QmlMarkupVisitor::visit(QQmlJS::AST::FormalParameterList *list)
{
- addVerbatim(list->commaToken);
- addMarkedUpToken(list->identifierToken, QLatin1String("name"));
+// addVerbatim(list->commaToken);
+ QQmlJS::AST::Node::accept(list->element, this);
+ //addMarkedUpToken(list->identifierToken, QLatin1String("name"));
return false;
}
diff --git a/src/qdoc/qmlmarkupvisitor.h b/src/qdoc/qmlmarkupvisitor.h
index ee61bf0be..e01bf0e5d 100644
--- a/src/qdoc/qmlmarkupvisitor.h
+++ b/src/qdoc/qmlmarkupvisitor.h
@@ -79,14 +79,14 @@ public:
bool visit(QQmlJS::AST::NumericLiteral *) override;
bool visit(QQmlJS::AST::StringLiteral *) override;
bool visit(QQmlJS::AST::RegExpLiteral *) override;
- bool visit(QQmlJS::AST::ArrayLiteral *) override;
+ bool visit(QQmlJS::AST::ArrayPattern *) override;
- bool visit(QQmlJS::AST::ObjectLiteral *) override;
- void endVisit(QQmlJS::AST::ObjectLiteral *) override;
+ bool visit(QQmlJS::AST::ObjectPattern *) override;
+ void endVisit(QQmlJS::AST::ObjectPattern *) override;
- bool visit(QQmlJS::AST::ElementList *) override;
+ bool visit(QQmlJS::AST::PatternElementList *) override;
bool visit(QQmlJS::AST::Elision *) override;
- bool visit(QQmlJS::AST::PropertyNameAndValue *) override;
+ bool visit(QQmlJS::AST::PatternProperty *) override;
bool visit(QQmlJS::AST::ArrayMemberExpression *) override;
bool visit(QQmlJS::AST::FieldMemberExpression *) override;
bool visit(QQmlJS::AST::NewMemberExpression *) override;
@@ -112,16 +112,13 @@ public:
bool visit(QQmlJS::AST::VariableStatement *) override;
bool visit(QQmlJS::AST::VariableDeclarationList *) override;
- bool visit(QQmlJS::AST::VariableDeclaration *) override;
bool visit(QQmlJS::AST::EmptyStatement *) override;
bool visit(QQmlJS::AST::ExpressionStatement *) override;
bool visit(QQmlJS::AST::IfStatement *) override;
bool visit(QQmlJS::AST::DoWhileStatement *) override;
bool visit(QQmlJS::AST::WhileStatement *) override;
bool visit(QQmlJS::AST::ForStatement *) override;
- bool visit(QQmlJS::AST::LocalForStatement *) override;
bool visit(QQmlJS::AST::ForEachStatement *) override;
- bool visit(QQmlJS::AST::LocalForEachStatement *) override;
bool visit(QQmlJS::AST::ContinueStatement *) override;
bool visit(QQmlJS::AST::BreakStatement *) override;
bool visit(QQmlJS::AST::ReturnStatement *) override;
diff --git a/src/qdoc/qmlvisitor.cpp b/src/qdoc/qmlvisitor.cpp
index 9ebf422cf..17391ca20 100644
--- a/src/qdoc/qmlvisitor.cpp
+++ b/src/qdoc/qmlvisitor.cpp
@@ -781,7 +781,7 @@ bool QmlDocVisitor::visit(QQmlJS::AST::FunctionDeclaration* fd)
if (formals) {
QQmlJS::AST::FormalParameterList* fpl = formals;
do {
- parameters.append(Parameter(QString(), QString(), fpl->name.toString()));
+ parameters.append(Parameter(QString(), QString(), fpl->element->bindingIdentifier));
fpl = fpl->next;
} while (fpl && fpl != formals);
qmlMethod->setParameters(parameters);