summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/tools/qdoc/qdocdatabase.cpp35
-rw-r--r--src/tools/qdoc/qmlvisitor.cpp36
-rw-r--r--src/tools/qdoc/qmlvisitor.h4
3 files changed, 16 insertions, 59 deletions
diff --git a/src/tools/qdoc/qdocdatabase.cpp b/src/tools/qdoc/qdocdatabase.cpp
index e371d448c6..f2ecb02a2f 100644
--- a/src/tools/qdoc/qdocdatabase.cpp
+++ b/src/tools/qdoc/qdocdatabase.cpp
@@ -357,23 +357,10 @@ QmlClassNode* QDocDatabase::findQmlType(const ImportRec& import, const QString&
else
qmName = import.importUri_;
for (int i=0; i<dotSplit.size(); ++i) {
- QString qmid = qmName + import.version_;
- QString qualifiedName = qmid + "::" + dotSplit[i];
+ QString qualifiedName = qmName + "::" + dotSplit[i];
QmlClassNode* qcn = qmlTypeMap_.value(qualifiedName);
- if (qcn) {
+ if (qcn)
return qcn;
- }
- if (import.version_.size() > 1) {
- int dot = import.version_.lastIndexOf(QChar('.'));
- if (dot > 0) {
- qmid = import.name_ + import.version_.left(dot);
- qualifiedName = qmid + "::" + dotSplit[i];
- qcn = qmlTypeMap_.value(qualifiedName);
- if (qcn) {
- return qcn;
- }
- }
- }
}
}
return 0;
@@ -1000,24 +987,6 @@ void QDocDatabase::resolveQmlInheritance(InnerNode* root)
}
}
-#if 0
-void QDocDatabase::resolveQmlInheritance(InnerNode* root)
-{
- // Dop we need recursion?
- foreach (Node* child, root->childNodes()) {
- if (child->type() == Node::Document && child->subType() == Node::QmlClass) {
- QmlClassNode* qcn = static_cast<QmlClassNode*>(child);
- if ((qcn->qmlBaseNode() == 0) && !qcn->qmlBaseName().isEmpty()) {
- QmlClassNode* bqcn = findQmlType(QString(), qcn->qmlBaseName());
- if (bqcn) {
- qcn->setQmlBaseNode(bqcn);
- }
- }
- }
- }
-}
-#endif
-
/*!
*/
void QDocDatabase::resolveTargets(InnerNode* root)
diff --git a/src/tools/qdoc/qmlvisitor.cpp b/src/tools/qdoc/qmlvisitor.cpp
index fb90dcd59a..ec1ef41256 100644
--- a/src/tools/qdoc/qmlvisitor.cpp
+++ b/src/tools/qdoc/qmlvisitor.cpp
@@ -464,6 +464,7 @@ bool QmlDocVisitor::visit(QQmlJS::AST::UiObjectDefinition *definition)
QmlClassNode *component = new QmlClassNode(current, name);
component->setTitle(name);
component->setImportList(importList);
+ importList.clear();
if (applyDocumentation(definition->firstSourceLocation(), component)) {
QmlClassNode::addInheritedBy(type, component);
component->setQmlBaseName(type);
@@ -488,34 +489,21 @@ void QmlDocVisitor::endVisit(QQmlJS::AST::UiObjectDefinition *definition)
lastEndOffset = definition->lastSourceLocation().end();
}
-/*!
- Note that the imports list can be traversed by iteration to obtain
- all the imports in the document at once, having found just one:
-
- *it = imports; it; it = it->next
-
- */
-bool QmlDocVisitor::visit(QQmlJS::AST::UiImportList *imports)
+bool QmlDocVisitor::visit(QQmlJS::AST::UiImport *import)
{
- while (imports != 0) {
- QQmlJS::AST::UiImport* imp = imports->import;
-
- QString name = document.mid(imp->fileNameToken.offset, imp->fileNameToken.length);
- if (name[0] == '\"')
- name = name.mid(1, name.length()-2);
- QString version = document.mid(imp->versionToken.offset, imp->versionToken.length);
- QString importId = document.mid(imp->importIdToken.offset, imp->importIdToken.length);
- QString importUri = getFullyQualifiedId(imp->importUri);
- importList.append(ImportRec(name, version, importId, importUri));
- imports = imports->next;
- }
+ QString name = document.mid(import->fileNameToken.offset, import->fileNameToken.length);
+ if (name[0] == '\"')
+ name = name.mid(1, name.length()-2);
+ QString version = document.mid(import->versionToken.offset, import->versionToken.length);
+ QString importId = document.mid(import->importIdToken.offset, import->importIdToken.length);
+ QString importUri = getFullyQualifiedId(import->importUri);
+ QString reconstructed = importUri + QString(" ") + version;
+ importList.append(ImportRec(name, version, importId, importUri));
+
return true;
}
-/*!
- End the visit of the imports list.
- */
-void QmlDocVisitor::endVisit(QQmlJS::AST::UiImportList *definition)
+void QmlDocVisitor::endVisit(QQmlJS::AST::UiImport *definition)
{
lastEndOffset = definition->lastSourceLocation().end();
}
diff --git a/src/tools/qdoc/qmlvisitor.h b/src/tools/qdoc/qmlvisitor.h
index cdb7ae7391..feeeb13497 100644
--- a/src/tools/qdoc/qmlvisitor.h
+++ b/src/tools/qdoc/qmlvisitor.h
@@ -75,8 +75,8 @@ public:
const QSet<QString> &topics);
virtual ~QmlDocVisitor();
- bool visit(QQmlJS::AST::UiImportList *imports);
- void endVisit(QQmlJS::AST::UiImportList *definition);
+ bool visit(QQmlJS::AST::UiImport *import);
+ void endVisit(QQmlJS::AST::UiImport *definition);
bool visit(QQmlJS::AST::UiObjectDefinition *definition);
void endVisit(QQmlJS::AST::UiObjectDefinition *definition);