# compiler/sighashes

Dark Mode

- Index

Search:
Group by:
Source Edit

Computes hash values for routine (proc, method etc) signatures.

# Imports

ast, ropes, modulegraphs, types

# Types

    ConsiderFlag = enum
      CoProc, CoType, CoOwnerSig, CoIgnoreRange, CoConsiderOwned, CoDistinct,
      CoHashTypeInsideNode

  Source Edit

# Procs

    proc hashNonProc(s: PSym): SigHash {....raises: [], tags: [].}

  Source Edit

    proc hashOwner(s: PSym): SigHash {....raises: [], tags: [].}

  Source Edit

    proc hashProc(s: PSym): SigHash {....raises: [Exception], tags: [RootEffect].}

  Source Edit

    proc hashType(t: PType; flags: set[ConsiderFlag] = {CoType}): SigHash {.
        ...raises: [Exception], tags: [RootEffect].}

  Source Edit

    proc idOrSig(s: PSym; currentModule: string;
                 sigCollisions: var CountTable[SigHash]): Rope {.
        ...raises: [Exception], tags: [RootEffect].}

  Source Edit

    proc sigHash(s: PSym): SigHash {....raises: [Exception], tags: [RootEffect].}

  Source Edit

    proc symBodyDigest(graph: ModuleGraph; sym: PSym): SigHash {.
        ...raises: [Exception, KeyError], tags: [RootEffect, ReadDirEffect].}

  compute unique digest of the proc/func/method symbols recursing into invoked symbols as well Source Edit