diff options
Diffstat (limited to 'src/qdoc/codemarker.cpp')
-rw-r--r-- | src/qdoc/codemarker.cpp | 64 |
1 files changed, 30 insertions, 34 deletions
diff --git a/src/qdoc/codemarker.cpp b/src/qdoc/codemarker.cpp index e51cc9426..2b1c1a316 100644 --- a/src/qdoc/codemarker.cpp +++ b/src/qdoc/codemarker.cpp @@ -104,7 +104,7 @@ void CodeMarker::terminate() CodeMarker *CodeMarker::markerForCode(const QString& code) { CodeMarker *defaultMarker = markerForLanguage(defaultLang); - if (defaultMarker != 0 && defaultMarker->recognizeCode(code)) + if (defaultMarker != nullptr && defaultMarker->recognizeCode(code)) return defaultMarker; QList<CodeMarker *>::ConstIterator m = markers.constBegin(); @@ -122,7 +122,7 @@ CodeMarker *CodeMarker::markerForFileName(const QString& fileName) int dot = -1; while ((dot = fileName.lastIndexOf(QLatin1Char('.'), dot)) != -1) { QString ext = fileName.mid(dot + 1); - if (defaultMarker != 0 && defaultMarker->recognizeExtension(ext)) + if (defaultMarker != nullptr && defaultMarker->recognizeExtension(ext)) return defaultMarker; QList<CodeMarker *>::ConstIterator m = markers.constBegin(); while (m != markers.constEnd()) { @@ -143,7 +143,7 @@ CodeMarker *CodeMarker::markerForLanguage(const QString& lang) return *m; ++m; } - return 0; + return nullptr; } const Node *CodeMarker::nodeForString(const QString& string) @@ -262,7 +262,7 @@ QString CodeMarker::taggedNode(const Node* node) QString tag; QString name = node->name(); - switch (node->type()) { + switch (node->nodeType()) { case Node::Namespace: tag = QLatin1String("@namespace"); break; @@ -294,14 +294,9 @@ QString CodeMarker::taggedNode(const Node* node) name = name.mid(4); tag = QLatin1String("@property"); break; - case Node::Document: + case Node::Page: tag = QLatin1String("@property"); break; - case Node::QmlMethod: - case Node::QmlSignal: - case Node::QmlSignalHandler: - tag = QLatin1String("@function"); - break; default: tag = QLatin1String("@unknown"); break; @@ -313,22 +308,29 @@ QString CodeMarker::taggedNode(const Node* node) QString CodeMarker::taggedQmlNode(const Node* node) { QString tag; - switch (node->type()) { - case Node::QmlProperty: + if (node->isFunction()) { + const FunctionNode* fn = static_cast<const FunctionNode*>(node); + switch (fn->metaness()) { + case FunctionNode::JsSignal: + case FunctionNode::QmlSignal: + tag = QLatin1String("@signal"); + break; + case FunctionNode::JsSignalHandler: + case FunctionNode::QmlSignalHandler: + tag = QLatin1String("@signalhandler"); + break; + case FunctionNode::JsMethod: + case FunctionNode::QmlMethod: + tag = QLatin1String("@method"); + break; + default: + tag = QLatin1String("@unknown"); + break; + } + } else if (node->isQmlProperty() || node->isJsProperty()) { tag = QLatin1String("@property"); - break; - case Node::QmlSignal: - tag = QLatin1String("@signal"); - break; - case Node::QmlSignalHandler: - tag = QLatin1String("@signalhandler"); - break; - case Node::QmlMethod: - tag = QLatin1String("@method"); - break; - default: + } else { tag = QLatin1String("@unknown"); - break; } return QLatin1Char('<') + tag + QLatin1Char('>') + protect(node->name()) + QLatin1String("</") + tag + QLatin1Char('>'); @@ -348,7 +350,7 @@ static QString encode(const QString &string) QStringList CodeMarker::macRefsForNode(Node *node) { QString result = QLatin1String("cpp/"); - switch (node->type()) { + switch (node->nodeType()) { case Node::Class: { const ClassNode *classe = static_cast<const ClassNode *>(node); @@ -361,8 +363,7 @@ QStringList CodeMarker::macRefsForNode(Node *node) case Node::Enum: { QStringList stringList; - stringList << encode(result + QLatin1String("tag/") + - macName(node)); + stringList << encode(result + QLatin1String("tag/") + macName(node)); foreach (const QString &enumName, node->doc().enumItemNames()) { // ### Write a plainEnumValue() and use it here stringList << encode(result + QLatin1String("econst/") + @@ -413,9 +414,6 @@ QStringList CodeMarker::macRefsForNode(Node *node) } return stringList; } - case Node::Namespace: - case Node::Document: - case Node::QmlType: default: return QStringList(); } @@ -431,12 +429,10 @@ QString CodeMarker::macName(const Node *node, const QString &name) node = node->parent(); } - if (node->name().isEmpty()) { + if (node->name().isEmpty()) return QLatin1Char('/') + protect(myName); - } - else { + else return node->plainFullName() + QLatin1Char('/') + protect(myName); - } } QT_END_NAMESPACE |