# compiler/lambdalifting

Dark Mode

- Index

Search:
Group by:
Source Edit

# Imports

options, ast, astalgo, msgs, idents, renderer, types, magicsys, lowerings, modulegraphs, lineinfos, transf, liftdestructors, typeallowed

# 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