compiler/lambdalifting

  Source   Edit

Consts

envName = ":env"
  Source   Edit
paramName = ":envP"
  Source   Edit
upName = ":up"
  Source   Edit

Procs

proc createClosureIterStateType(g: ModuleGraph; iter: PSym; idgen: IdGenerator): PType {.
    ...raises: [], tags: [].}
  Source   Edit
proc freshVarForClosureIter(g: ModuleGraph; s: PSym; idgen: IdGenerator;
                            owner: PSym): PNode {....raises: [Exception,
    ValueError, KeyError, OSError, IOError, ERecoverableError], tags: [
    RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}
  Source   Edit
proc getClosureIterResult(g: ModuleGraph; iter: PSym; idgen: IdGenerator): PSym {.
    ...raises: [], tags: [].}
  Source   Edit
proc getEnvParam(routine: PSym): PSym {....raises: [], tags: [].}
  Source   Edit
proc getStateField(g: ModuleGraph; owner: PSym): PSym {....raises: [Exception,
    ValueError, KeyError, OSError, IOError, ERecoverableError], tags: [
    RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}
  Source   Edit
proc liftForLoop(g: ModuleGraph; body: PNode; idgen: IdGenerator; owner: PSym): PNode {....raises: [
    Exception, ValueError, KeyError, OSError, IOError, ERecoverableError], tags: [
    RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}
  Source   Edit
proc liftIterSym(g: ModuleGraph; n: PNode; idgen: IdGenerator; owner: PSym): PNode {....raises: [
    Exception, ValueError, KeyError, OSError, IOError, ERecoverableError], tags: [
    RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}
  Source   Edit
proc liftIterToProc(g: ModuleGraph; fn: PSym; body: PNode; ptrType: PType;
                    idgen: IdGenerator): PNode {....raises: [KeyError, Exception,
    ValueError, OSError, IOError, ERecoverableError], tags: [ReadDirEffect,
    RootEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}
  Source   Edit
proc liftLambdas(g: ModuleGraph; fn: PSym; body: PNode; tooEarly: var bool;
                 idgen: IdGenerator): PNode {....raises: [KeyError, Exception,
    ValueError, OSError, IOError, ERecoverableError], tags: [ReadDirEffect,
    RootEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}
  Source   Edit
proc liftLambdasForTopLevel(module: PSym; body: PNode): PNode {....raises: [],
    tags: [].}
  Source   Edit
proc makeClosure(g: ModuleGraph; idgen: IdGenerator; prc: PSym; env: PNode;
                 info: TLineInfo): PNode {....raises: [KeyError, Exception,
    ValueError, OSError, IOError, ERecoverableError], tags: [ReadDirEffect,
    RootEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}
  Source   Edit
proc semCaptureSym(s, owner: PSym) {....raises: [], tags: [].}
  Source   Edit

Templates

template isIterator(owner: PSym): bool
  Source   Edit