summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/scanner.l17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/scanner.l b/src/scanner.l
index 33ea4d4..e9ca1c7 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -3910,6 +3910,7 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
if (current->section == Entry::NAMESPACE_SEC && current->type == "namespace")
{
int split_point;
+ Entry *first_current = current;
while ((split_point = current->name.find("::")) != -1)
{
std::unique_ptr<Entry> new_current = std::make_unique<Entry>(*current);
@@ -3929,6 +3930,22 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
current_root = tmp;
current.swap(new_current);
}
+ // put documentation in the right entity
+ if (first_current!=current)
+ {
+ current->doc = first_current->doc;
+ current->docLine = first_current->docLine;
+ current->docFile = first_current->docFile;
+ current->brief = first_current->brief;
+ current->briefLine = first_current->briefLine;
+ current->briefFile = first_current->briefFile;
+ first_current->doc = "";
+ first_current->docLine = 0;
+ first_current->docFile = "";
+ first_current->brief = "";
+ first_current->briefLine = 0;
+ first_current->briefFile = "";
+ }
}
QCString &cn = current->name;
QCString rn = current_root->name.copy();