diff options
Diffstat (limited to 'interpreter.py')
-rw-r--r-- | interpreter.py | 8 |
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): |