view mercurial/cext/parsers.pyi @ 46113:59fa3890d40a

node: import symbols explicitly There is no point in lazy importing mercurial.node, it is used all over the place anyway. So consistently import the used symbols directly. Fix one file using symbols indirectly via mercurial.revlog. Differential Revision: https://phab.mercurial-scm.org/D9480
author Joerg Sonnenberger <joerg@bec.de>
date Tue, 01 Dec 2020 21:54:46 +0100
parents 8dca9051a859
children 12450fbea288
line wrap: on
line source

from typing import (
    Callable,
    Dict,
    Iterator,
    List,
    Optional,
    Set,
    Tuple,
    Union,
)

version: int
versionerrortext: str

class dirstatetuple:
    __doc__: str

    def __len__(self) -> int: ...
    def __getitem__(self, key: int) -> Union[bytes, int]: ...

# From dirs.c

class dirs:
    __doc__: str
    def __init__(self, source, skipchar: bytes): ...
    def __iter__(self) -> Iterator[bytes]: ...
    def addpath(self, path: bytes) -> None: ...
    def delpath(self, path: bytes) -> None: ...

# From manifest.c
class lazymanifest:
    def __init__(self, data: bytes): ...
    def __iter__(self) -> Iterator[bytes]: ...

    def __len__(self) -> int: ...
    def __getitem__(self, item: bytes) -> Optional[Tuple[bytes, bytes]]: ...
    def __setitem__(self, key: bytes, value: Tuple[bytes, bytes]) -> None: ...
    def __delitem__(self, key: bytes) -> None: ...

    def iterkeys(self) -> Iterator[bytes]: ...
    def iterentries(self) -> Iterator[Tuple[bytes, bytes, bytes]]: ...
    def copy(self) -> lazymanifest: ...
    def filtercopy(self, matchfn: Callable[[bytes], bool]) -> lazymanifest: ...
    def diff(self, other: lazymanifest, clean: Optional[bool]) -> Dict[bytes, Tuple[bytes, Tuple]]: ...
    def text(self) -> bytes: ...

# From revlog.c

class index:
    __doc__: str

    nodemap: Dict[bytes, int]

    def ancestors(self, *args: int) -> Iterator[int]: ...
    def commonancestorsheads(self, *args: int) -> List[int]: ...
    def clearcaches(self) -> None: ...
    def get(self, value: bytes) -> Optional[int]: ...
    def get_rev(self, value: bytes) -> Optional[int]: ...
    def has_node(self, value: Union[int, bytes]) -> bool: ...
    def rev(self, node: bytes) -> int: ...
    def computephasesmapsets(self, root: Dict[int, Set[bytes]]) -> Tuple[int, Dict[int, Set[bytes]]]: ...
    def reachableroots2(self, minroot: int, heads: List[int], roots: List[int], includepath: bool) -> List[int]: ...
    def headrevs(self, filteredrevs: Optional[List[int]]) -> List[int]: ...
    def headrevsfiltered(self, filteredrevs: Optional[List[int]]) -> List[int]: ...
    def issnapshot(self, value: int) -> bool: ...
    def findsnapshots(self, cache: Dict[int, List[int]], start_rev: int) -> None: ...
    def deltachain(self, rev: int, stop: int, generaldelta: bool) -> Tuple[List[int], bool]: ...
    def slicechunktodensity(self, revs: List[int], targetdensity: float, mingapsize: int) -> List[List[int]]: ...
    def append(self, value: Tuple[int, int, int, int, int, int, int, bytes]) -> None: ...
    def partialmatch(self, node: bytes) -> bytes: ...
    def shortest(self, value: bytes) -> int: ...
    def stats(self) -> Dict[bytes, int]: ...

class nodetree:
    __doc__: str

    def insert(self, rev: int) -> None: ...
    def shortest(self, node: bytes) -> int: ...