@@ -61,17 +61,16 @@ def process_document(self, doc):
61
61
if self .empty :
62
62
for node in root .descendants :
63
63
# process only the nodes dependent on empty nodes
64
- if not '.' in node .raw_deps :
65
- continue
66
- # just remove empty parents if the root remains reachable
67
- if self .is_root_reachable_by_deps (node , root .empty_nodes ):
68
- node .deps = [dep for dep in node .deps if not dep ['parent' ] in root .empty_nodes ]
69
- # otherwise propagate to non-empty ancestors
70
- else :
71
- newdeps = self ._deps_ignore_nodes (node , root .empty_nodes )
72
- newdeps_sorted = sorted (set ((dep ['parent' ].ord , dep ['deprel' ]) for dep in newdeps ))
73
- node .raw_deps = '|' .join (f"{ p } :{ r } " for p , r in newdeps_sorted )
74
-
64
+ if '.' in node .raw_deps :
65
+ # just remove empty parents if the root remains reachable
66
+ if self .is_root_reachable_by_deps (node , root .empty_nodes ):
67
+ node .deps = [dep for dep in node .deps if not dep ['parent' ] in root .empty_nodes ]
68
+ # otherwise propagate to non-empty ancestors
69
+ else :
70
+ newdeps = self ._deps_ignore_nodes (node , root .empty_nodes )
71
+ newdeps_sorted = sorted (set ((dep ['parent' ].ord , dep ['deprel' ]) for dep in newdeps ))
72
+ node .raw_deps = '|' .join (f"{ p } :{ r } " for p , r in newdeps_sorted )
73
+ # This needs to be done even if '.' not in node.raw_deps.
75
74
if '.' in node .misc ['Functor' ].split (':' )[0 ]:
76
75
del node .misc ['Functor' ]
77
76
root .empty_nodes = []
0 commit comments