lambdalifting
Source Edit Imports
options, ast, astalgo, msgs, idents, renderer, types, magicsys, lowerings, modulegraphs, lineinfos, transf, liftdestructors, typeallowed
Consts
Procs
proc createClosureIterStateType(g: ModuleGraph; iter: PSym; idgen: IdGenerator): PType {.
...raises: [], tags: [], forbids: [].} - 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],
forbids: [].} - Source Edit
proc getClosureIterResult(g: ModuleGraph; iter: PSym; idgen: IdGenerator): PSym {.
...raises: [], tags: [], forbids: [].} - Source Edit
proc getEnvParam(routine: PSym): PSym {....raises: [], tags: [], forbids: [].} - Source Edit
proc getStateField(g: ModuleGraph; owner: PSym): PSym {....raises: [Exception,
ValueError, KeyError, OSError, IOError, ERecoverableError], tags: [
RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect],
forbids: [].} - 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],
forbids: [].} - 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],
forbids: [].} - 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], 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, Exception,
ValueError, OSError, IOError, ERecoverableError], tags: [ReadDirEffect,
RootEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect], forbids: [].} - Source Edit
proc semCaptureSym(s, owner: PSym) {....raises: [], tags: [], forbids: [].} - Source Edit
Templates
template isIterator(owner: PSym): bool
- Source Edit