Documentation: added support for superclasses in class definition #1308
This commit is contained in:
parent
8c50f3e8ae
commit
b69e08cf51
24
doc/ocv.py
24
doc/ocv.py
@ -701,8 +701,9 @@ class FuncDefExpr(NamedDefExpr):
|
|||||||
|
|
||||||
class ClassDefExpr(NamedDefExpr):
|
class ClassDefExpr(NamedDefExpr):
|
||||||
|
|
||||||
def __init__(self, name, visibility, static):
|
def __init__(self, name, visibility, static, parent = None):
|
||||||
NamedDefExpr.__init__(self, name, visibility, static)
|
NamedDefExpr.__init__(self, name, visibility, static)
|
||||||
|
self.parent = parent
|
||||||
|
|
||||||
def get_id(self):
|
def get_id(self):
|
||||||
return self.name.get_id()
|
return self.name.get_id()
|
||||||
@ -1086,7 +1087,18 @@ class DefinitionParser(object):
|
|||||||
|
|
||||||
def parse_class(self):
|
def parse_class(self):
|
||||||
visibility, static = self._parse_visibility_static()
|
visibility, static = self._parse_visibility_static()
|
||||||
return ClassDefExpr(self._parse_type(), visibility, static)
|
typename = self._parse_type()
|
||||||
|
parent = None
|
||||||
|
self.skip_ws()
|
||||||
|
if self.skip_string(':'):
|
||||||
|
self.skip_ws()
|
||||||
|
classname_pos = self.pos
|
||||||
|
pvisibility, pstatic = self._parse_visibility_static()
|
||||||
|
if pstatic:
|
||||||
|
self.fail('unsepected static keyword, got %r' %
|
||||||
|
self.definition[self.classname_pos:])
|
||||||
|
parent = ClassDefExpr(self._parse_type(), pvisibility, pstatic)
|
||||||
|
return ClassDefExpr(typename, visibility, static, parent)
|
||||||
|
|
||||||
def read_rest(self):
|
def read_rest(self):
|
||||||
rv = self.definition[self.pos:]
|
rv = self.definition[self.pos:]
|
||||||
@ -1213,8 +1225,8 @@ class OCVClassObject(OCVObject):
|
|||||||
object_annotation = "class "
|
object_annotation = "class "
|
||||||
object_long_name = "class"
|
object_long_name = "class"
|
||||||
|
|
||||||
def attach_modifiers(self, node, obj):
|
def attach_modifiers(self, node, obj, skip_visibility = 'public'):
|
||||||
if obj.visibility != 'public':
|
if obj.visibility != skip_visibility:
|
||||||
node += addnodes.desc_annotation(obj.visibility,
|
node += addnodes.desc_annotation(obj.visibility,
|
||||||
obj.visibility)
|
obj.visibility)
|
||||||
node += nodes.Text(' ')
|
node += nodes.Text(' ')
|
||||||
@ -1232,6 +1244,10 @@ class OCVClassObject(OCVObject):
|
|||||||
self.attach_modifiers(signode, cls)
|
self.attach_modifiers(signode, cls)
|
||||||
signode += addnodes.desc_annotation(self.__class__.object_annotation, self.__class__.object_annotation)
|
signode += addnodes.desc_annotation(self.__class__.object_annotation, self.__class__.object_annotation)
|
||||||
self.attach_name(signode, cls.name)
|
self.attach_name(signode, cls.name)
|
||||||
|
if cls.parent:
|
||||||
|
signode += nodes.Text(' : ')
|
||||||
|
self.attach_modifiers(signode, cls.parent, None)
|
||||||
|
self.attach_name(signode, cls.parent.name)
|
||||||
|
|
||||||
class OCVStructObject(OCVClassObject):
|
class OCVStructObject(OCVClassObject):
|
||||||
object_annotation = "struct "
|
object_annotation = "struct "
|
||||||
|
Loading…
x
Reference in New Issue
Block a user