diff options
| author | Jussi Pakkanen <jpakkane@gmail.com> | 2014-05-26 22:56:12 +0300 |
|---|---|---|
| committer | Jussi Pakkanen <jpakkane@gmail.com> | 2014-05-26 22:56:12 +0300 |
| commit | 17ba9bccd0e32fb85df924dc7d2b87b6ec0691c0 (patch) | |
| tree | 167b32fbc318cb977b302518cb1790e8a40c0961 /mparser.py | |
| parent | 371e747ca455851ae4597e0071abc90f040ae448 (diff) | |
| download | meson-17ba9bccd0e32fb85df924dc7d2b87b6ec0691c0.tar.gz | |
Parse function and method calls properly.
Diffstat (limited to 'mparser.py')
| -rw-r--r-- | mparser.py | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/mparser.py b/mparser.py index 7796dd849..b80a46d0f 100644 --- a/mparser.py +++ b/mparser.py @@ -343,15 +343,15 @@ class Parser: def e6(self): left = self.e7() - if self.accept('dot'): - return self.method_call(left) - elif self.accept('lparen'): + if self.accept('lparen'): args = self.args() self.expect('rparen') if not isinstance(left, IdNode): raise ParseException('Function call must be applied to plain id', left.lineno, left.colno) - return FunctionNode(left.lineno, left.colno, left.value, args) + left = FunctionNode(left.lineno, left.colno, left.value, args) + while self.accept('dot'): + left = self.method_call(left) return left def e7(self): |
