diff options
author | Dimitri van Heesch <doxygen@gmail.com> | 2021-03-31 14:44:36 (GMT) |
---|---|---|
committer | Dimitri van Heesch <doxygen@gmail.com> | 2021-04-08 19:19:25 (GMT) |
commit | a9e4a9e5b51ab33df64f3989c710e08546dcd45d (patch) | |
tree | 8e2b9dc39f2ac89b12ab4a0af4606e23d9165afe /src/doxygen.cpp | |
parent | fc2e284f9657abbe343d41b4a7922d5c4d788b11 (diff) | |
download | Doxygen-a9e4a9e5b51ab33df64f3989c710e08546dcd45d.zip Doxygen-a9e4a9e5b51ab33df64f3989c710e08546dcd45d.tar.gz Doxygen-a9e4a9e5b51ab33df64f3989c710e08546dcd45d.tar.bz2 |
C++20 concepts: added support for parsing requires-clauses
Diffstat (limited to 'src/doxygen.cpp')
-rw-r--r-- | src/doxygen.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/doxygen.cpp b/src/doxygen.cpp index d5e082d..9a9342b 100644 --- a/src/doxygen.cpp +++ b/src/doxygen.cpp @@ -1011,6 +1011,10 @@ static void addClassToContext(const Entry *root) cd->setTemplateArguments(*tArgList); } } + if (cd->requiresClause().isEmpty() && !root->req.isEmpty()) + { + cd->setRequiresClause(root->req); + } cd->setCompoundType(convertToCompoundType(root->section,root->spec)); @@ -1081,6 +1085,7 @@ static void addClassToContext(const Entry *root) { cd->setTemplateArguments(*tArgList); } + cd->setRequiresClause(root->req); cd->setProtection(root->protection); cd->setIsStatic(root->stat); @@ -1365,6 +1370,7 @@ static ClassDefMutable *createTagLessInstance(const ClassDef *rootCd,const Class imd->setMemberSpecifiers(md->getMemberSpecifiers()); imd->setMemberGroupId(md->getMemberGroupId()); imd->setInitializer(md->initializer()); + imd->setRequiresClause(md->requiresClause()); imd->setMaxInitLines(md->initializerLines()); imd->setBitfields(md->bitfieldString()); imd->setLanguage(md->getLanguage()); @@ -1982,6 +1988,7 @@ static void findUsingDeclImports(const Entry *root) newMd->setBodySegment(md->getDefLine(),md->getStartBodyLine(),md->getEndBodyLine()); newMd->setBodyDef(md->getBodyDef()); newMd->setInitializer(md->initializer()); + newMd->setRequiresClause(md->requiresClause()); newMd->setMaxInitLines(md->initializerLines()); newMd->setMemberGroupId(root->mGrpId); newMd->setMemberSpecifiers(md->getMemberSpecifiers()); @@ -3104,6 +3111,7 @@ static void addMethodToClass(const Entry *root,ClassDefMutable *cd, md->setMemberGroupId(root->mGrpId); md->setTypeConstraints(root->typeConstr); md->setLanguage(root->lang); + md->setRequiresClause(root->req); md->setId(root->id); md->setBodyDef(fd); md->setFileDef(fd); @@ -3213,6 +3221,7 @@ static void addGlobalFunction(const Entry *root,const QCString &rname,const QCSt md->addSectionsToDefinition(root->anchors); md->setMemberSpecifiers(root->spec); md->setMemberGroupId(root->mGrpId); + md->setRequiresClause(root->req); NamespaceDefMutable *nd = 0; // see if the function is inside a namespace that was not part of @@ -5026,6 +5035,10 @@ static void addMemberDocs(const Entry *root, //printf("setInitializer\n"); md->setInitializer(rootInit.c_str()); } + if (md->requiresClause().isEmpty() && !root->req.isEmpty()) + { + md->setRequiresClause(root->req); + } md->setMaxInitLines(root->initLines); |