mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Started working on support for c++ xrefs
This commit is contained in:
parent
3f82edf3b9
commit
21194f3b2b
@ -614,6 +614,9 @@ class DefinitionParser(object):
|
|||||||
pure_virtual = False
|
pure_virtual = False
|
||||||
return args, const, pure_virtual
|
return args, const, pure_virtual
|
||||||
|
|
||||||
|
def parse_type(self):
|
||||||
|
return self._parse_type()
|
||||||
|
|
||||||
def parse_type_object(self):
|
def parse_type_object(self):
|
||||||
typename = self._parse_type()
|
typename = self._parse_type()
|
||||||
self.skip_ws()
|
self.skip_ws()
|
||||||
@ -861,8 +864,12 @@ class CPPDomain(Domain):
|
|||||||
|
|
||||||
def resolve_xref(self, env, fromdocname, builder,
|
def resolve_xref(self, env, fromdocname, builder,
|
||||||
typ, target, node, contnode):
|
typ, target, node, contnode):
|
||||||
# strip pointer and reference info
|
parser = DefinitionParser(target)
|
||||||
target = target.rstrip(' *&')
|
expr = parser.parse_type()
|
||||||
|
parser.skip_ws()
|
||||||
|
if not parser.eof:
|
||||||
|
return None
|
||||||
|
target = unicode(expr)
|
||||||
if target not in self.data['objects']:
|
if target not in self.data['objects']:
|
||||||
return None
|
return None
|
||||||
obj = self.data['objects'][target]
|
obj = self.data['objects'][target]
|
||||||
|
Loading…
Reference in New Issue
Block a user