summaryrefslogtreecommitdiff
path: root/cpp/src/slice2docbook/Gen.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/slice2docbook/Gen.cpp')
-rw-r--r--cpp/src/slice2docbook/Gen.cpp32
1 files changed, 28 insertions, 4 deletions
diff --git a/cpp/src/slice2docbook/Gen.cpp b/cpp/src/slice2docbook/Gen.cpp
index fdada815356..aa6ee2ae241 100644
--- a/cpp/src/slice2docbook/Gen.cpp
+++ b/cpp/src/slice2docbook/Gen.cpp
@@ -928,19 +928,43 @@ Slice::Gen::printComment(const ContainedPtr& p)
end();
}
- ClassList derived;
+ ClassList derivedClasses;
ClassDefPtr def = ClassDefPtr::dynamicCast(p);
if (def)
{
- derived = p->unit()->findDerived(def);
+ derivedClasses = p->unit()->findDerivedClasses(def);
}
- if (!derived.empty())
+ if (!derivedClasses.empty())
{
start("section", "Derived Classes and Interfaces");
start("para");
start("simplelist type=\"inline\"");
- for (ClassList::const_iterator q = derived.begin(); q != derived.end(); ++q)
+ for (ClassList::const_iterator q = derivedClasses.begin(); q != derivedClasses.end(); ++q)
+ {
+ start("member");
+ O << nl << toString(*q, container);
+ end();
+ }
+
+ end();
+ end();
+ end();
+ }
+
+ ExceptionList derivedExceptions;
+ ExceptionPtr ex = ExceptionPtr::dynamicCast(p);
+ if (ex)
+ {
+ derivedExceptions = p->unit()->findDerivedExceptions(ex);
+ }
+ if (!derivedExceptions.empty())
+ {
+ start("section", "Derived Exceptions");
+ start("para");
+ start("simplelist type=\"inline\"");
+
+ for (ExceptionList::const_iterator q = derivedExceptions.begin(); q != derivedExceptions.end(); ++q)
{
start("member");
O << nl << toString(*q, container);