diff options
| author | Armin Ronacher <armin.ronacher@active-4.com> | 2011-09-22 10:54:16 +0200 |
|---|---|---|
| committer | Armin Ronacher <armin.ronacher@active-4.com> | 2011-09-22 10:54:16 +0200 |
| commit | f45fd6f402626c68f56f161500ea47b8bd4415a3 (patch) | |
| tree | 1e24f79f2f864a1f8392ae73eee5374d52861cd4 | |
| parent | a005a0dc9696f56766259b7161a3ed3a12d7cd28 (diff) | |
| download | sphinx-f45fd6f402626c68f56f161500ea47b8bd4415a3.tar.gz | |
Small refactoring for how modifiers are parsed in the C++ domain.
| -rw-r--r-- | sphinx/domains/cpp.py | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/sphinx/domains/cpp.py b/sphinx/domains/cpp.py index 372decdc..d6a1055e 100644 --- a/sphinx/domains/cpp.py +++ b/sphinx/domains/cpp.py @@ -525,6 +525,12 @@ class DefinitionParser(object): def skip_ws(self): return self.match(_whitespace_re) + def skip_word_and_ws(self, word): + if self.skip_word(word): + self.skip_ws() + return True + return False + @property def eof(self): return self.pos >= self.end @@ -765,9 +771,7 @@ class DefinitionParser(object): args.append(ArgumentDefExpr(argtype, argname, default)) self.skip_ws() - const = self.skip_word('const') - if const: - self.skip_ws() + const = self.skip_word_and_ws('const') if self.skip_string('='): self.skip_ws() if not (self.skip_string('0') or \ @@ -782,7 +786,7 @@ class DefinitionParser(object): return args, const, pure_virtual def _parse_visibility_static(self): - visibility = 'public' + visibility = 'public' if self.match(_visibility_re): visibility = self.matched_text static = self.skip_word('static') @@ -815,13 +819,8 @@ class DefinitionParser(object): def parse_function(self): visibility, static = self._parse_visibility_static() - def _read_word(x): - if self.skip_word(x): - self.skip_ws() - return True - return False - explicit = _read_word('explicit') - constexpr = _read_word('constexpr') + explicit = self.skip_word_and_ws('explicit') + constexpr = self.skip_word_and_ws('constexpr') rv = self._parse_type() self.skip_ws() |
