aboutsummaryrefslogtreecommitdiff
path: root/interpreter.py
diff options
context:
space:
mode:
Diffstat (limited to 'interpreter.py')
-rw-r--r--interpreter.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/interpreter.py b/interpreter.py
index 8747801..f5c04e8 100644
--- a/interpreter.py
+++ b/interpreter.py
@@ -1107,10 +1107,14 @@ class Interpreter():
raise InterpreterException('Unknown method "%s" for a string.' % method_name)
def method_call(self, node):
- object_name = node.object_name.get_value()
+ invokable = node.invokable
+ if isinstance(invokable, nodes.AtomStatement):
+ object_name = invokable.get_value()
+ obj = self.get_variable(object_name)
+ else:
+ obj = self.evaluate_statement(invokable)
method_name = node.method_name.get_value()
args = node.arguments
- obj = self.get_variable(object_name)
if isinstance(obj, str):
return self.string_method_call(obj, method_name)
if not isinstance(obj, InterpreterObject):