summaryrefslogtreecommitdiff
path: root/pyreverse
diff options
context:
space:
mode:
authorEmile Anclin <emile.anclin@logilab.fr>2008-08-25 16:08:02 +0200
committerEmile Anclin <emile.anclin@logilab.fr>2008-08-25 16:08:02 +0200
commit42406ba75962cbc0230c59bf110ec9af517ce59f (patch)
tree85849bff9dd121d230c6d6da7fb8a9c9a45a82a5 /pyreverse
parent5d492ed18ec02a721dbd913845f308dd040c297d (diff)
downloadpylint-42406ba75962cbc0230c59bf110ec9af517ce59f.tar.gz
ancestor option : without recursion
Diffstat (limited to 'pyreverse')
-rw-r--r--pyreverse/diadefslib.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/pyreverse/diadefslib.py b/pyreverse/diadefslib.py
index 6d951f4..b5be391 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