aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/mparser.py
diff options
context:
space:
mode:
authorDaniel Mensinger <daniel@mensinger-ka.de>2019-02-14 12:48:53 +0100
committerDaniel Mensinger <daniel@mensinger-ka.de>2019-02-16 14:10:08 +0100
commit24a2cf02e26aaeaa726b23354711c2d664286d20 (patch)
treea66f4abd6e34de3f17b56dbcaa69673d493f290f /mesonbuild/mparser.py
parent683c768feddcf074c86eb09e810495eacf8a187a (diff)
downloadmeson-24a2cf02e26aaeaa726b23354711c2d664286d20.zip
meson-24a2cf02e26aaeaa726b23354711c2d664286d20.tar.gz
meson-24a2cf02e26aaeaa726b23354711c2d664286d20.tar.bz2
Can now find the assignment node of a value
Diffstat (limited to 'mesonbuild/mparser.py')
-rw-r--r--mesonbuild/mparser.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/mesonbuild/mparser.py b/mesonbuild/mparser.py
index ed0dc1b..942a73f 100644
--- a/mesonbuild/mparser.py
+++ b/mesonbuild/mparser.py
@@ -358,7 +358,8 @@ class FunctionNode(BaseNode):
self.args = args
class AssignmentNode(BaseNode):
- def __init__(self, lineno, colno, var_name, value):
+ def __init__(self, subdir, lineno, colno, var_name, value):
+ self.subdir = subdir
self.lineno = lineno
self.colno = colno
self.var_name = var_name
@@ -366,7 +367,8 @@ class AssignmentNode(BaseNode):
self.value = value
class PlusAssignmentNode(BaseNode):
- def __init__(self, lineno, colno, var_name, value):
+ def __init__(self, subdir, lineno, colno, var_name, value):
+ self.subdir = subdir
self.lineno = lineno
self.colno = colno
self.var_name = var_name
@@ -522,13 +524,13 @@ class Parser:
value = self.e1()
if not isinstance(left, IdNode):
raise ParseException('Plusassignment target must be an id.', self.getline(), left.lineno, left.colno)
- return PlusAssignmentNode(left.lineno, left.colno, left.value, value)
+ return PlusAssignmentNode(left.subdir,left.lineno, left.colno, left.value, value)
elif self.accept('assign'):
value = self.e1()
if not isinstance(left, IdNode):
raise ParseException('Assignment target must be an id.',
self.getline(), left.lineno, left.colno)
- return AssignmentNode(left.lineno, left.colno, left.value, value)
+ return AssignmentNode(left.subdir, left.lineno, left.colno, left.value, value)
elif self.accept('questionmark'):
if self.in_ternary:
raise ParseException('Nested ternary operators are not allowed.',