From 8cfc1a6daf7c16797167b08dde7ec5e136dba4c8 Mon Sep 17 00:00:00 2001 From: Emile Anclin Date: Mon, 25 Aug 2008 16:08:02 +0200 Subject: [PATCH] ancestor option : without recursion --- pyreverse/diadefslib.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/pyreverse/diadefslib.py b/pyreverse/diadefslib.py index 6d951f423..b5be3918a 100644 --- a/pyreverse/diadefslib.py +++ b/pyreverse/diadefslib.py @@ -204,11 +204,17 @@ class DefaultDiadefGenerator(LocalsVisitor, OptionHandler): add this class to the class diagram definition """ - if not self.show_builtin(node): + self._do_class(node) + if self.config.show_ancestors: + for ancestor in node.ancestors(recurs=False): + self._do_class(ancestor) + + def _do_class(self, node): + """visit one class""" + if (not self.show_builtin(node)) or self.classdiagram.has_node(node): return self.linker.visit(node) - title = self.get_title(node) - self.classdiagram.add_object(title, node) + self.classdiagram.add_object(self.get_title(node), node) def visit_from(self, node): """visit astng.From and catch modules for package diagram