diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2016-11-20 02:59:08 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2016-11-20 03:11:58 +0200 |
commit | f111a0b82601ae4ed01e49069030eabeb2c5c008 (patch) | |
tree | 7382135a1cbddf5dba46802f207fdf9e3a237187 /mesonbuild/mparser.py | |
parent | 805847c4a0b081779fc376930f16c0c51032d9ce (diff) | |
download | meson-f111a0b82601ae4ed01e49069030eabeb2c5c008.zip meson-f111a0b82601ae4ed01e49069030eabeb2c5c008.tar.gz meson-f111a0b82601ae4ed01e49069030eabeb2c5c008.tar.bz2 |
Track comma spans in arguments.
Diffstat (limited to 'mesonbuild/mparser.py')
-rw-r--r-- | mesonbuild/mparser.py | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/mesonbuild/mparser.py b/mesonbuild/mparser.py index ec5778d..51ba9a6 100644 --- a/mesonbuild/mparser.py +++ b/mesonbuild/mparser.py @@ -301,6 +301,7 @@ class ArgumentNode(): self.lineno = token.lineno self.colno = token.colno self.arguments = [] + self.commas = [] self.kwargs = {} self.order_error = False @@ -520,15 +521,19 @@ class Parser: a = ArgumentNode(s) while not isinstance(s, EmptyNode): + potential = self.current if self.accept('comma'): + a.commas.append(potential) a.append(s) elif self.accept('colon'): if not isinstance(s, IdNode): raise ParseException('Keyword argument must be a plain identifier.', s.lineno, s.colno) a.set_kwarg(s.value, self.statement()) + potential = self.current if not self.accept('comma'): return a + a.commas.append(potential) else: a.append(s) return a |