aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--interpreter.py8
-rwxr-xr-xparsertest.py8
2 files changed, 9 insertions, 7 deletions
diff --git a/interpreter.py b/interpreter.py
index d4bd29e..8c7695e 100644
--- a/interpreter.py
+++ b/interpreter.py
@@ -1054,7 +1054,7 @@ class Interpreter():
code = open(absname).read()
assert(isinstance(code, str))
try:
- codeblock = mparser.build_ast(code)
+ codeblock = mparser2.Parser(code).parse()
except coredata.MesonException as me:
me.file = buildfilename
raise me
@@ -1273,16 +1273,16 @@ class Interpreter():
return templ
def method_call(self, node):
- invokable = node.invokable
+ invokable = node.source_object
if isinstance(invokable, mparser2.IdNode):
object_name = invokable.value
obj = self.get_variable(object_name)
else:
obj = self.evaluate_statement(invokable)
- method_name = node.method_name.get_value()
+ method_name = node.name
if method_name == 'extract_objects' and self.environment.coredata.unity:
raise InterpreterException('Single object files can not be extracted in Unity builds.')
- args = node.arguments
+ args = node.args
if isinstance(obj, nodes.StringStatement):
obj = obj.get_value()
if isinstance(obj, str):
diff --git a/parsertest.py b/parsertest.py
index 4c88fe4..c530af0 100755
--- a/parsertest.py
+++ b/parsertest.py
@@ -243,10 +243,12 @@ class ArgumentNode():
self.order_error = False
def prepend(self, statement):
- self.arguments = [statement] + self.arguments
+ if not isinstance(statement, EmptyNode):
+ self.arguments = [statement] + self.arguments
def append(self, statement):
- self.arguments = self.arguments + [statement]
+ if not isinstance(statement, EmptyNode):
+ self.arguments = self.arguments + [statement]
def set_kwarg(self, name, value):
if self.num_args() > 0:
@@ -405,7 +407,7 @@ class Parser:
a.set_kwarg(s.value, value)
return a
a = ArgumentNode(self.current)
- a.arguments.append(s)
+ a.append(s)
return a
def method_call(self, source_object):