compiler/passes

Source   Edit  

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

Types

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

Procs

proc clearPasses(g: ModuleGraph) {....raises: [], tags: [], forbids: [].}
Source   Edit  
proc makePass(open: TPassOpen = nil; process: TPassProcess = nil;
              close: TPassClose = nil; isFrontend = false): TPass {....raises: [],
    tags: [], forbids: [].}
Source   Edit  
proc moduleHasChanged(graph: ModuleGraph; module: PSym): bool {.inline,
    ...raises: [], tags: [], forbids: [].}
Source   Edit  
proc processModule(graph: ModuleGraph; module: PSym; idgen: IdGenerator;
                   stream: PLLStream): bool {.discardable, ...raises: [Exception,
    ValueError, KeyError, IOError, ERecoverableError, OSError], tags: [
    RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect,
    WriteDirEffect], forbids: [].}
Source   Edit  
proc registerPass(g: ModuleGraph; p: TPass) {.
    ...raises: [Exception, ValueError, KeyError, IOError, ERecoverableError], tags: [
    RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect],
    forbids: [].}
Source   Edit  
proc skipCodegen(config: ConfigRef; n: PNode): bool {.inline, ...raises: [],
    tags: [], forbids: [].}
Source   Edit