# # This file is distributed under the MIT License. See LICENSE.md for details. # from collections.abc import Iterable as CIterable from pathlib import Path from typing import Iterable, TypeVar, Union T = TypeVar("T") SingleOrIterable = Union[T, Iterable[T]] AnyPath = Union[str, Path] AnyPaths = SingleOrIterable[AnyPath] def to_iterable(obj: SingleOrIterable[T]) -> Iterable[T]: if isinstance(obj, CIterable): return obj return (obj,) # We assume this file is in /lib/python$VERSION/site-packages/revng/support def get_root() -> Path: return (Path(__file__) / "../../../../../../").resolve()