From 1854b81ebcdd05bf53175fa57615964d03218f56 Mon Sep 17 00:00:00 2001 From: Ramon Klass Date: Tue, 24 Apr 2018 00:14:03 +0200 Subject: [PATCH] interpreter: default behavior changed to return the values instead of discarding them, added test showcasing the behavior --- lark/tree.py | 2 +- tests/test_trees.py | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/lark/tree.py b/lark/tree.py index e6d5ed7..ad086d2 100644 --- a/lark/tree.py +++ b/lark/tree.py @@ -195,7 +195,7 @@ class Interpreter(object): return self.__default__ def __default__(self, tree): - self.visit_children(tree) + return self.visit_children(tree) class Transformer_NoRecurse(Transformer): diff --git a/tests/test_trees.py b/tests/test_trees.py index c83b5ef..6017386 100644 --- a/tests/test_trees.py +++ b/tests/test_trees.py @@ -49,6 +49,14 @@ class TestTrees(TestCase): self.assertEqual(Interp2().visit(t), list('BCde')) + class Interp3(Interpreter): + def b(self, tree): + return 'B' + + def c(self, tree): + return 'C' + + self.assertEqual(Interp3().visit(t), list('BCd'))