def _try_namespace_fix( scope: irast.ScopeTreeNode, obj: Union[irast.ScopeTreeNode, irast.Set], ) -> None: if obj.path_id is None: return for prefix in obj.path_id.iter_prefixes(): replacement = scope.find_visible(prefix) if (replacement and replacement.path_id and replacement.path_id != prefix): new = obj.path_id.replace_prefix(prefix, replacement.path_id) obj.path_id = new break
def _try_namespace_fix( scope: irast.ScopeTreeNode, obj: Union[irast.ScopeTreeNode, irast.Set], ) -> None: if obj.path_id is None: return for prefix in obj.path_id.iter_prefixes(): replacement = scope.find_visible(prefix, allow_group=True) if (replacement and replacement.path_id and replacement.path_id.namespace != obj.path_id.namespace): new = obj.path_id.strip_namespace(obj.path_id.namespace - replacement.path_id.namespace) obj.path_id = new break