diff options
| author | shimizukawa <shimizukawa@gmail.com> | 2012-11-28 15:26:44 +0900 |
|---|---|---|
| committer | shimizukawa <shimizukawa@gmail.com> | 2012-11-28 15:26:44 +0900 |
| commit | c1d576f049353ff98e13aa0a8fc91a5a6ff83446 (patch) | |
| tree | 1c60035bf76b2f2d6d449893673bd9cd9e468ccf /sphinx | |
| parent | e26f6807079e2b2e9f30a47425977489ca661087 (diff) | |
| download | sphinx-c1d576f049353ff98e13aa0a8fc91a5a6ff83446.tar.gz | |
fix: cpp domain parser cannot parse a const type with a modifier. closes #1041
Diffstat (limited to 'sphinx')
| -rw-r--r-- | sphinx/domains/cpp.py | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/sphinx/domains/cpp.py b/sphinx/domains/cpp.py index 31daa1f6..edbc091e 100644 --- a/sphinx/domains/cpp.py +++ b/sphinx/domains/cpp.py @@ -672,8 +672,9 @@ class DefinitionParser(object): except ValueError: return False - def _parse_builtin(self, modifier): - path = [modifier] + def _parse_builtin(self, modifiers): + modifier = modifiers[-1] + path = modifiers following = self._modifiers[modifier] while 1: self.skip_ws() @@ -730,9 +731,10 @@ class DefinitionParser(object): # impossible for a template to follow, so what # we do is go to a different function that just # eats types - if following is not None: - return self._parse_builtin(modifier) modifiers.append(modifier) + if following is not None: + return self._parse_builtin(modifiers) + self.skip_ws() else: self.backout() break |
