cgmeth

Source   Edit  

This module implements code generation for methods.

Procs

proc generateIfMethodDispatchers(g: ModuleGraph; idgen: IdGenerator) {....raises: [
    ValueError, OSError, KeyError, IOError, Exception, ERecoverableError], tags: [
    RootEffect, WriteIOEffect, ReadEnvEffect, ReadIOEffect, ReadDirEffect],
    forbids: [].}
Source   Edit  
proc genIfDispatcher(g: ModuleGraph; methods: seq[PSym]; relevantCols: IntSet;
                     idgen: IdGenerator): PSym {....raises: [ValueError, OSError,
    KeyError, IOError, Exception, ERecoverableError], tags: [RootEffect,
    WriteIOEffect, ReadEnvEffect, ReadIOEffect, ReadDirEffect], forbids: [].}
Source   Edit  
proc getDispatcher(s: PSym): PSym {....raises: [ValueError, OSError, KeyError,
    IOError, Exception], tags: [RootEffect, WriteIOEffect, ReadEnvEffect,
                                ReadIOEffect, ReadDirEffect], forbids: [].}
can return nil if is has no dispatcher. Source   Edit  
proc methodCall(n: PNode; conf: ConfigRef): PNode {....raises: [ValueError,
    OSError, KeyError, IOError, Exception, ERecoverableError], tags: [
    RootEffect, WriteIOEffect, ReadEnvEffect, ReadIOEffect, ReadDirEffect],
    forbids: [].}
Source   Edit  
proc methodDef(g: ModuleGraph; idgen: IdGenerator; s: PSym) {....raises: [
    ValueError, OSError, KeyError, IOError, Exception, ERecoverableError], tags: [
    RootEffect, WriteIOEffect, ReadEnvEffect, ReadIOEffect, ReadDirEffect],
    forbids: [].}
Source   Edit  
proc relevantCol(methods: seq[PSym]; col: int): bool {.
    ...raises: [ValueError, OSError, KeyError, IOError, Exception], tags: [
    RootEffect, WriteIOEffect, ReadEnvEffect, ReadIOEffect, ReadDirEffect],
    forbids: [].}
Source   Edit  
proc sortBucket(a: var seq[PSym]; relevantCols: IntSet) {.
    ...raises: [ValueError, OSError, KeyError, IOError, Exception], tags: [
    RootEffect, WriteIOEffect, ReadEnvEffect, ReadIOEffect, ReadDirEffect],
    forbids: [].}
Source   Edit