summaryrefslogtreecommitdiff
path: root/src/qdoc/clangcodeparser.cpp
diff options
context:
space:
mode:
authorPaul Wicking <paul.wicking@qt.io>2020-05-31 11:53:37 +0200
committerPaul Wicking <paul.wicking@qt.io>2020-06-04 13:08:20 +0200
commitdf38c2d3510e11b881e3d7bf89b4fe7868e801ca (patch)
tree50bc722358afa9c7f391e81738749e2b9f58f19f /src/qdoc/clangcodeparser.cpp
parent2eed23718f3f2b8f29298784266fd745ff0fc0a9 (diff)
downloadqttools-df38c2d3510e11b881e3d7bf89b4fe7868e801ca.tar.gz
QDoc: Extract enum Access from Node
Move Node::Access out of Node and make it a scoped enum, to break circular dependency issues between Node and RelatedClass. This is a requirement to extract struct RelatedClass from Node. Task-number: QTBUG-84578 Change-Id: I13a1ac275d46abcd04f5f712291c77c2f24a65db Reviewed-by: Topi Reiniƶ <topi.reinio@qt.io>
Diffstat (limited to 'src/qdoc/clangcodeparser.cpp')
-rw-r--r--src/qdoc/clangcodeparser.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/qdoc/clangcodeparser.cpp b/src/qdoc/clangcodeparser.cpp
index 752870b88..d31cdc15a 100644
--- a/src/qdoc/clangcodeparser.cpp
+++ b/src/qdoc/clangcodeparser.cpp
@@ -43,6 +43,7 @@
#include "clangcodeparser.h"
+#include "access.h"
#include "codechunk.h"
#include "config.h"
#include "enumnode.h"
@@ -181,17 +182,17 @@ static Location fromCXSourceLocation(CXSourceLocation location)
/*!
convert a CX_CXXAccessSpecifier to Node::Access
*/
-static Node::Access fromCX_CXXAccessSpecifier(CX_CXXAccessSpecifier spec)
+static Access fromCX_CXXAccessSpecifier(CX_CXXAccessSpecifier spec)
{
switch (spec) {
case CX_CXXPrivate:
- return Node::Private;
+ return Access::Private;
case CX_CXXProtected:
- return Node::Protected;
+ return Access::Protected;
case CX_CXXPublic:
- return Node::Public;
+ return Access::Public;
default:
- return Node::Public;
+ return Access::Public;
}
}
@@ -725,7 +726,7 @@ CXChildVisitResult ClangVisitor::visitHeader(CXCursor cursor, CXSourceLocation l
parent_->findNonfunctionChild(namespaceName, &Node::isNamespace));
if (!ns) {
ns = new NamespaceNode(parent_, namespaceName);
- ns->setAccess(Node::Public);
+ ns->setAccess(Access::Public);
ns->setLocation(fromCXSourceLocation(clang_getCursorLocation(cursor)));
}
QScopedValueRollback<Aggregate *> setParent(parent_, ns);
@@ -1008,7 +1009,7 @@ void ClangVisitor::parseProperty(const QString &spelling, const Location &loc)
name.remove(0, 1);
}
auto *property = new PropertyNode(parent_, name);
- property->setAccess(Node::Public);
+ property->setAccess(Access::Public);
property->setLocation(loc);
property->setDataType(type);
int i = 2;