mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Fix annotations for cpp domain
This commit is contained in:
parent
9e191ad6c1
commit
826301dbb1
@ -276,7 +276,7 @@ class Domain:
|
||||
pass
|
||||
|
||||
def process_field_xref(self, pnode):
|
||||
# type: (nodes.Node) -> None
|
||||
# type: (addnodes.pending_xref) -> None
|
||||
"""Process a pending xref created in a doc field.
|
||||
For example, attach information about the current scope.
|
||||
"""
|
||||
|
@ -2230,7 +2230,7 @@ class ASTNestedName(ASTBase):
|
||||
# else append directly to signode.
|
||||
# NOTE: Breathe relies on the prefix being in the desc_addname node,
|
||||
# so it can remove it in inner declarations.
|
||||
dest = signode # type: nodes.Element
|
||||
dest = signode
|
||||
if mode == 'lastIsName':
|
||||
dest = addnodes.desc_addname()
|
||||
for i in range(len(names)):
|
||||
@ -6809,7 +6809,7 @@ class CPPDomain(Domain):
|
||||
pass
|
||||
|
||||
def process_field_xref(self, pnode):
|
||||
# type: (nodes.Node) -> None
|
||||
# type: (addnodes.pending_xref) -> None
|
||||
pnode.attributes.update(self.env.ref_context)
|
||||
|
||||
def merge_domaindata(self, docnames, otherdata):
|
||||
@ -6835,8 +6835,7 @@ class CPPDomain(Domain):
|
||||
|
||||
def _resolve_xref_inner(self, env, fromdocname, builder, typ,
|
||||
target, node, contnode, emitWarnings=True):
|
||||
# type: (BuildEnvironment, unicode, Builder, unicode, unicode, addnodes.pending_xref, nodes.Element, bool) -> nodes.Element # NOQA
|
||||
|
||||
# type: (BuildEnvironment, unicode, Builder, unicode, unicode, addnodes.pending_xref, nodes.Element, bool) -> Tuple[nodes.Element, unicode] # NOQA
|
||||
class Warner:
|
||||
def warn(self, msg):
|
||||
if emitWarnings:
|
||||
@ -6973,23 +6972,21 @@ class CPPDomain(Domain):
|
||||
declaration.get_newest_id(), contnode, displayName
|
||||
), declaration.objectType
|
||||
|
||||
def resolve_xref(self, env, fromdocname, builder,
|
||||
typ, target, node, contnode):
|
||||
def resolve_xref(self, env, fromdocname, builder, typ, target, node, contnode):
|
||||
# type: (BuildEnvironment, unicode, Builder, unicode, unicode, addnodes.pending_xref, nodes.Element) -> nodes.Element # NOQA
|
||||
return self._resolve_xref_inner(env, fromdocname, builder, typ,
|
||||
target, node, contnode)[0]
|
||||
|
||||
def resolve_any_xref(self, env, fromdocname, builder, target,
|
||||
node, contnode):
|
||||
# type: (BuildEnvironment, unicode, Builder, unicode, nodes.pending_xref, nodes.Node) -> List[Tuple[unicode, nodes.Element]] # NOQA
|
||||
node, objtype = self._resolve_xref_inner(env, fromdocname, builder,
|
||||
def resolve_any_xref(self, env, fromdocname, builder, target, node, contnode):
|
||||
# type: (BuildEnvironment, unicode, Builder, unicode, addnodes.pending_xref, nodes.Element) -> List[Tuple[unicode, nodes.Element]] # NOQA
|
||||
retnode, objtype = self._resolve_xref_inner(env, fromdocname, builder,
|
||||
'any', target, node, contnode,
|
||||
emitWarnings=False)
|
||||
if node:
|
||||
if retnode:
|
||||
if objtype == 'templateParam':
|
||||
return [('cpp:templateParam', node)]
|
||||
return [('cpp:templateParam', retnode)]
|
||||
else:
|
||||
return [('cpp:' + self.role_for_objtype(objtype), node)]
|
||||
return [('cpp:' + self.role_for_objtype(objtype), retnode)]
|
||||
return []
|
||||
|
||||
def get_objects(self):
|
||||
|
@ -80,7 +80,7 @@ class Field:
|
||||
reftype=rolename, reftarget=target)
|
||||
refnode += contnode or innernode(target, target)
|
||||
if env:
|
||||
env.domains[domain].process_field_xref(refnode)
|
||||
env.get_domain(domain).process_field_xref(refnode)
|
||||
return refnode
|
||||
|
||||
def make_xrefs(self,
|
||||
|
Loading…
Reference in New Issue
Block a user