def describe_signature(self, signode: TextElement, mode: str, env: 'BuildEnvironment', symbol: 'Symbol') -> None:
    verify_description_mode(mode)
    self.name.describe_signature(signode, mode, env, symbol=symbol)
    if self.final:
        signode += nodes.Text(' ')
        signode += addnodes.desc_annotation('final', 'final')
    if (len(self.bases) > 0):
        signode += nodes.Text(' : ')
        for b in self.bases:
            b.describe_signature(signode, mode, env, symbol=symbol)
            signode += nodes.Text(', ')
        signode.pop()
def describe_signature(self, signode: TextElement, mode: str, env: 'BuildEnvironment', symbol: 'Symbol') -> None:
    verify_description_mode(mode)
    self.name.describe_signature(signode, mode, env, symbol=symbol)
    if self.final:
        signode += nodes.Text(' ')
        signode += addnodes.desc_annotation('final', 'final')
    if (len(self.bases) > 0):
        signode += nodes.Text(' : ')
        for b in self.bases:
            b.describe_signature(signode, mode, env, symbol=symbol)
            signode += nodes.Text(', ')
        signode.pop()