mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Change default visibility for C++ superclasses.
This commit is contained in:
parent
ea5d3359e9
commit
1a287bb7e2
@ -382,9 +382,9 @@ class NamedDefExpr(DefExpr):
|
|||||||
def get_name(self):
|
def get_name(self):
|
||||||
return self.name.get_name()
|
return self.name.get_name()
|
||||||
|
|
||||||
def get_modifiers(self):
|
def get_modifiers(self, visibility='public'):
|
||||||
rv = []
|
rv = []
|
||||||
if self.visibility != 'public':
|
if self.visibility != visibility:
|
||||||
rv.append(self.visibility)
|
rv.append(self.visibility)
|
||||||
if self.static:
|
if self.static:
|
||||||
rv.append(u'static')
|
rv.append(u'static')
|
||||||
@ -495,12 +495,13 @@ class ClassDefExpr(NamedDefExpr):
|
|||||||
def get_id(self):
|
def get_id(self):
|
||||||
return self.name.get_id()
|
return self.name.get_id()
|
||||||
|
|
||||||
def __unicode__(self):
|
def __unicode__(self, visibility='public'):
|
||||||
buf = self.get_modifiers()
|
buf = self.get_modifiers(visibility)
|
||||||
buf.append(unicode(self.name))
|
buf.append(unicode(self.name))
|
||||||
if self.bases:
|
if self.bases:
|
||||||
buf.append(u':')
|
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)
|
return u' '.join(buf)
|
||||||
|
|
||||||
|
|
||||||
@ -888,7 +889,7 @@ class DefinitionParser(object):
|
|||||||
if self.skip_string(':'):
|
if self.skip_string(':'):
|
||||||
self.skip_ws()
|
self.skip_ws()
|
||||||
while 1:
|
while 1:
|
||||||
access = 'public'
|
access = 'private'
|
||||||
if self.match(_visibility_re):
|
if self.match(_visibility_re):
|
||||||
access = self.matched_text
|
access = self.matched_text
|
||||||
base = self._parse_type()
|
base = self._parse_type()
|
||||||
@ -947,8 +948,8 @@ class CPPObject(ObjectDescription):
|
|||||||
pnode += nodes.Text(text)
|
pnode += nodes.Text(text)
|
||||||
node += pnode
|
node += pnode
|
||||||
|
|
||||||
def attach_modifiers(self, node, obj):
|
def attach_modifiers(self, node, obj, visibility='public'):
|
||||||
if obj.visibility != 'public':
|
if obj.visibility != visibility:
|
||||||
node += addnodes.desc_annotation(obj.visibility,
|
node += addnodes.desc_annotation(obj.visibility,
|
||||||
obj.visibility)
|
obj.visibility)
|
||||||
node += nodes.Text(' ')
|
node += nodes.Text(' ')
|
||||||
@ -1026,7 +1027,7 @@ class CPPClassObject(CPPObject):
|
|||||||
if cls.bases:
|
if cls.bases:
|
||||||
signode += nodes.Text(' : ')
|
signode += nodes.Text(' : ')
|
||||||
for base in cls.bases:
|
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.emphasis(unicode(base.name), unicode(base.name))
|
||||||
signode += nodes.Text(', ')
|
signode += nodes.Text(', ')
|
||||||
signode.pop() # remove the trailing comma
|
signode.pop() # remove the trailing comma
|
||||||
|
@ -82,10 +82,10 @@ def test_bases():
|
|||||||
assert unicode(parse('class', x)) == x
|
assert unicode(parse('class', x)) == x
|
||||||
|
|
||||||
x = 'A : private B'
|
x = 'A : private B'
|
||||||
assert unicode(parse('class', x)) == x
|
assert unicode(parse('class', x)) == 'A : B'
|
||||||
|
|
||||||
x = 'A : public B'
|
x = 'A : public B'
|
||||||
assert unicode(parse('class', x)) == 'A : B'
|
assert unicode(parse('class', x)) == x
|
||||||
|
|
||||||
x = 'A : B, C'
|
x = 'A : B, C'
|
||||||
assert unicode(parse('class', x)) == x
|
assert unicode(parse('class', x)) == x
|
||||||
|
Loading…
Reference in New Issue
Block a user