# passes

Dark Mode

- Index

Search:
Group by:

This module implements the passes functionality. A pass must implement the `TPass` interface.

# Imports

options, ast, llstream, msgs, idents, syntaxes, idgen, modulegraphs, reorder, rod, lineinfos, pathutils

# Types

    TPassData = tuple[input: PNode, closeOutput: PNode]

  Source Edit

# Procs

    proc makePass(open: TPassOpen = nil; process: TPassProcess = nil;
                  close: TPassClose = nil; isFrontend = false): TPass {...}{.raises: [],
        tags: [].}

  Source Edit

    proc skipCodegen(config: ConfigRef; n: PNode): bool {...}{.inline, raises: [],
        tags: [].}

  Source Edit

    proc clearPasses(g: ModuleGraph) {...}{.raises: [], tags: [].}

  Source Edit

    proc registerPass(g: ModuleGraph; p: TPass) {...}{.
        raises: [Exception, ValueError, IOError, ERecoverableError],
        tags: [RootEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}

  Source Edit

    proc carryPass(g: ModuleGraph; p: TPass; module: PSym; m: TPassData): TPassData {...}{.
        raises: [Exception], tags: [RootEffect].}

  Source Edit

    proc carryPasses(g: ModuleGraph; nodes: PNode; module: PSym;
                     passes: openArray[TPass]) {...}{.raises: [Exception],
        tags: [RootEffect].}

  Source Edit

    proc moduleHasChanged(graph: ModuleGraph; module: PSym): bool {...}{.inline,
        raises: [], tags: [].}

  Source Edit

    proc processModule(graph: ModuleGraph; module: PSym; stream: PLLStream): bool {...}{.
        discardable, raises: [Exception, ValueError, IOError, ERecoverableError,
                              KeyError, OSError], tags: [RootEffect, WriteIOEffect,
        ReadIOEffect, ReadEnvEffect, ReadDirEffect].}

  Source Edit