diff options
Diffstat (limited to 'src/tools')
-rw-r--r-- | src/tools/qdoc/codemarker.cpp | 5 | ||||
-rw-r--r-- | src/tools/qdoc/main.cpp | 4 | ||||
-rw-r--r-- | src/tools/qdoc/qmlvisitor.cpp | 25 |
3 files changed, 22 insertions, 12 deletions
diff --git a/src/tools/qdoc/codemarker.cpp b/src/tools/qdoc/codemarker.cpp index ff36064941..6095d0d2fa 100644 --- a/src/tools/qdoc/codemarker.cpp +++ b/src/tools/qdoc/codemarker.cpp @@ -382,7 +382,7 @@ QString CodeMarker::sortName(const Node *node, const QString* name) (node->type() == Node::QmlSignal) || (node->type() == Node::QmlSignalHandler)) { const FunctionNode* func = static_cast<const FunctionNode *>(node); - return QLatin1Char('E') + func->signature(); + return QLatin1Char('E') + func->name(); } return QLatin1Char('B') + nodeName; @@ -438,8 +438,7 @@ void CodeMarker::insert(FastSection &fastSection, if (!irrelevant) { if (!inheritedMember || style == Subpage) { QString key = sortName(node); - if (!fastSection.memberMap.contains(key)) - fastSection.memberMap.insert(key, node); + fastSection.memberMap.insertMulti(key, node); } else { if (node->parent()->type() == Node::Class) { diff --git a/src/tools/qdoc/main.cpp b/src/tools/qdoc/main.cpp index 50632f1da4..6c8b947c46 100644 --- a/src/tools/qdoc/main.cpp +++ b/src/tools/qdoc/main.cpp @@ -371,7 +371,9 @@ static void processQdocconfFile(const QString &fileName) excludedDirsList = config.getCanonicalRelativePathList(CONFIG_EXCLUDEDIRS); foreach (const QString &excludeDir, excludedDirsList) { QString p = QDir::fromNativeSeparators(excludeDir); - excludedDirs.insert(p); + QDir tmp(p); + if (tmp.exists()) + excludedDirs.insert(p); } Generator::debugSegfault("Reading excludefiles"); diff --git a/src/tools/qdoc/qmlvisitor.cpp b/src/tools/qdoc/qmlvisitor.cpp index 058ab9a725..ffe1afe28b 100644 --- a/src/tools/qdoc/qmlvisitor.cpp +++ b/src/tools/qdoc/qmlvisitor.cpp @@ -88,6 +88,7 @@ QmlDocVisitor::QmlDocVisitor(const QString &filePath, QSet<QString> &topics) : nestingLevel(0) { + lastEndOffset = 0; this->filePath = filePath; this->name = QFileInfo(filePath).baseName(); document = code; @@ -117,21 +118,21 @@ QQmlJS::AST::SourceLocation QmlDocVisitor::precedingComment(quint32 offset) cons QQmlJS::AST::SourceLocation loc = it.previous(); - if (loc.begin() <= lastEndOffset) + if (loc.begin() <= lastEndOffset) { // Return if we reach the end of the preceding structure. break; - - else if (usedComments.contains(loc.begin())) + } + else if (usedComments.contains(loc.begin())) { // Return if we encounter a previously used comment. break; - + } else if (loc.begin() > lastEndOffset && loc.end() < offset) { - // Only examine multiline comments in order to avoid snippet markers. if (document.at(loc.offset - 1) == QLatin1Char('*')) { QString comment = document.mid(loc.offset, loc.length); - if (comment.startsWith(QLatin1Char('!')) || comment.startsWith(QLatin1Char('*'))) + if (comment.startsWith(QLatin1Char('!')) || comment.startsWith(QLatin1Char('*'))) { return loc; + } } } } @@ -165,8 +166,9 @@ bool QmlDocVisitor::applyDocumentation(QQmlJS::AST::SourceLocation location, Nod node->setDoc(doc); applyMetacommands(loc, node, doc); usedComments.insert(loc.offset); - if (doc.isEmpty()) + if (doc.isEmpty()) { return false; + } return true; } Location codeLoc(filePath); @@ -601,9 +603,15 @@ void QmlDocVisitor::endVisit(QQmlJS::AST::FunctionDeclaration* fd) /*! Begin the visit of the signal handler declaration \a sb, but only if the nesting level is 1. + + This visit is now deprecated. It has been decided to document + public signals. If a signal handler must be discussed in the + documentation, that discussion must take place in the comment + for the signal. */ -bool QmlDocVisitor::visit(QQmlJS::AST::UiScriptBinding* sb) +bool QmlDocVisitor::visit(QQmlJS::AST::UiScriptBinding* ) { +#if 0 if (nestingLevel > 1) { return true; } @@ -617,6 +625,7 @@ bool QmlDocVisitor::visit(QQmlJS::AST::UiScriptBinding* sb) } } } +#endif return true; } |