diff --git a/lark/parse_tree_builder.py b/lark/parse_tree_builder.py index 9b7c527..ce546c4 100644 --- a/lark/parse_tree_builder.py +++ b/lark/parse_tree_builder.py @@ -25,9 +25,7 @@ class PropagatePositions: def __call__(self, children): res = self.node_builder(children) - if isinstance(res, Tree) and getattr(res.meta, 'empty', True): - res.meta.empty = True - + if isinstance(res, Tree): for c in children: if isinstance(c, Tree) and c.children and not c.meta.empty: res.meta.line = c.meta.line diff --git a/lark/tree.py b/lark/tree.py index e892a44..3b845d6 100644 --- a/lark/tree.py +++ b/lark/tree.py @@ -8,7 +8,8 @@ from copy import deepcopy ###{standalone class Meta: - pass + def __init__(self): + self.empty = True class Tree(object): def __init__(self, data, children, meta=None):