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

Templates

template isIterator(owner: PSym): bool
Source   Edit