summaryrefslogtreecommitdiff
path: root/src/qdoc/codemarker.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qdoc/codemarker.cpp')
-rw-r--r--src/qdoc/codemarker.cpp64
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