summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Lehmann <mail@robertlehmann.de>2011-10-08 14:55:18 +0200
committerRobert Lehmann <mail@robertlehmann.de>2011-10-08 14:55:18 +0200
commit841c5a337b570f4f238191cd687c168d5913a406 (patch)
tree4de37b7ecf91704651bc978822fa932f2e12e2dc
parentc89bfd9ec0cda23d50505551c5468ebc6d24bb6c (diff)
downloadsphinx-841c5a337b570f4f238191cd687c168d5913a406.tar.gz
Change default visibility for C++ superclasses.
-rw-r--r--sphinx/domains/cpp.py19
-rw-r--r--tests/test_cpp_domain.py4
2 files changed, 12 insertions, 11 deletions
diff --git a/sphinx/domains/cpp.py b/sphinx/domains/cpp.py
index 61173d44..46bb7353 100644
--- a/sphinx/domains/cpp.py
+++ b/sphinx/domains/cpp.py
@@ -382,9 +382,9 @@ class NamedDefExpr(DefExpr):
def get_name(self):
return self.name.get_name()
- def get_modifiers(self):
+ def get_modifiers(self, visibility='public'):
rv = []
- if self.visibility != 'public':
+ if self.visibility != visibility:
rv.append(self.visibility)
if self.static:
rv.append(u'static')
@@ -495,12 +495,13 @@ class ClassDefExpr(NamedDefExpr):
def get_id(self):
return self.name.get_id()
- def __unicode__(self):
- buf = self.get_modifiers()
+ def __unicode__(self, visibility='public'):
+ buf = self.get_modifiers(visibility)
buf.append(unicode(self.name))
if self.bases:
buf.append(u':')
- buf.append(u', '.join(unicode(base) for base in self.bases))
+ buf.append(u', '.join(base.__unicode__('private')
+ for base in self.bases))
return u' '.join(buf)
@@ -888,7 +889,7 @@ class DefinitionParser(object):
if self.skip_string(':'):
self.skip_ws()
while 1:
- access = 'public'
+ access = 'private'
if self.match(_visibility_re):
access = self.matched_text
base = self._parse_type()
@@ -947,8 +948,8 @@ class CPPObject(ObjectDescription):
pnode += nodes.Text(text)
node += pnode
- def attach_modifiers(self, node, obj):
- if obj.visibility != 'public':
+ def attach_modifiers(self, node, obj, visibility='public'):
+ if obj.visibility != visibility:
node += addnodes.desc_annotation(obj.visibility,
obj.visibility)
node += nodes.Text(' ')
@@ -1026,7 +1027,7 @@ class CPPClassObject(CPPObject):
if cls.bases:
signode += nodes.Text(' : ')
for base in cls.bases:
- self.attach_modifiers(signode, base)
+ self.attach_modifiers(signode, base, 'private')
signode += nodes.emphasis(unicode(base.name), unicode(base.name))
signode += nodes.Text(', ')
signode.pop() # remove the trailing comma
diff --git a/tests/test_cpp_domain.py b/tests/test_cpp_domain.py
index ff44c8db..3ab8ece4 100644
--- a/tests/test_cpp_domain.py
+++ b/tests/test_cpp_domain.py
@@ -82,10 +82,10 @@ def test_bases():
assert unicode(parse('class', x)) == x
x = 'A : private B'
- assert unicode(parse('class', x)) == x
+ assert unicode(parse('class', x)) == 'A : B'
x = 'A : public B'
- assert unicode(parse('class', x)) == 'A : B'
+ assert unicode(parse('class', x)) == x
x = 'A : B, C'
assert unicode(parse('class', x)) == x