diff --git a/lark/visitors.py b/lark/visitors.py index 801e630c..44f61b01 100644 --- a/lark/visitors.py +++ b/lark/visitors.py @@ -156,11 +156,11 @@ def _transform_tree(self, tree): children = list(self._transform_children(tree.children)) return self._call_userfunc(tree, children) - def transform(self, tree: Union[Tree[_Leaf_T], _Leaf_T]) -> Optional[_Return_T]: + def transform(self, tree: Tree[_Leaf_T]) -> _Return_T: "Transform the given tree, and return the final result" res = list(self._transform_children([tree])) if not res: - return + raise RuntimeError("Cannot discard the root node") assert len(res) == 1 return res[0]