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

Templates

template isIterator(owner: PSym): bool
Source   Edit