# guards

Theme:

- Index

Search:
Group by:
Source Edit

This module implements the 'implies' relation for guards.

# Imports

ast, astalgo, msgs, magicsys, nimsets, trees, types, renderer, idents, saturate, modulegraphs, options, lineinfos, int128

# Types

    TModel = object
      s*: seq[PNode]
      g*: ModuleGraph
      beSmart*: bool

  Source Edit

# Procs

    proc addAsgnFact(m: var TModel; key, value: PNode) {....raises: [], tags: [],
        forbids: [].}

  Source Edit

    proc addCaseBranchFacts(m: var TModel; n: PNode; i: int) {.
        ...raises: [ERecoverableError], tags: [], forbids: [].}

  Source Edit

    proc addDiscriminantFact(m: var TModel; n: PNode) {....raises: [], tags: [],
        forbids: [].}

  Source Edit

    proc addFact(m: var TModel; nn: PNode) {....raises: [ERecoverableError, KeyError],
        tags: [], forbids: [].}

  Source Edit

    proc addFactLe(m: var TModel; a, b: PNode) {....raises: [KeyError], tags: [],
        forbids: [].}

  Source Edit

    proc addFactLt(m: var TModel; a, b: PNode) {....raises: [KeyError], tags: [],
        forbids: [].}

  Source Edit

    proc addFactNeg(m: var TModel; n: PNode) {.
        ...raises: [ERecoverableError, KeyError], tags: [], forbids: [].}

  Source Edit

    proc buildAdd(a: PNode; b: BiggestInt; o: Operators): PNode {.
        ...raises: [KeyError], tags: [], forbids: [].}

  Source Edit

    proc buildCall(op: PSym; a, b: PNode): PNode {....raises: [], tags: [], forbids: [].}

  Source Edit

    proc buildCall(op: PSym; a: PNode): PNode {....raises: [], tags: [], forbids: [].}

  Source Edit

    proc buildLe(o: Operators; a, b: PNode): PNode {....raises: [], tags: [],
        forbids: [].}

  Source Edit

    proc canon(n: PNode; o: Operators): PNode {....raises: [KeyError], tags: [],
        forbids: [].}

  Source Edit

    proc checkFieldAccess(m: TModel; n: PNode; conf: ConfigRef; produceError: bool) {....raises: [
        KeyError, ERecoverableError, Exception, ValueError, OSError, IOError], tags: [
        RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect],
        forbids: [].}

  Source Edit

    proc doesImply(facts: TModel; prop: PNode): TImplication {....raises: [
        ERecoverableError, KeyError, Exception, ValueError, OSError, IOError], tags: [
        RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect],
        forbids: [].}

  Source Edit

    proc highBound(conf: ConfigRef; x: PNode; o: Operators): PNode {....raises: [
        Exception, ValueError, OSError, KeyError, IOError, ERecoverableError], tags: [
        RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect],
        forbids: [].}

  Source Edit

    proc impliesNotNil(m: TModel; arg: PNode): TImplication {....raises: [
        ERecoverableError, KeyError, Exception, ValueError, OSError, IOError], tags: [
        RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect],
        forbids: [].}

  Source Edit

    proc interestingCaseExpr(m: PNode): bool {....raises: [], tags: [], forbids: [].}

  Source Edit

    proc invalidateFacts(m: var TModel; n: PNode) {....raises: [], tags: [],
        forbids: [].}

  Source Edit

    proc invalidateFacts(s: var seq[PNode]; n: PNode) {....raises: [], tags: [],
        forbids: [].}

  Source Edit

    proc lowBound(conf: ConfigRef; x: PNode): PNode {....raises: [Exception,
        ValueError, OSError, KeyError, IOError, ERecoverableError], tags: [
        RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect],
        forbids: [].}

  Source Edit

    proc proveLe(m: TModel; a, b: PNode): TImplication {....raises: [KeyError,
        ERecoverableError, Exception, ValueError, OSError, IOError], tags: [
        RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect],
        forbids: [].}

  Source Edit

    proc sameSubexprs(m: TModel; a, b: PNode): bool {....raises: [ERecoverableError,
        KeyError, Exception, ValueError, OSError, IOError], tags: [RootEffect,
        ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect], forbids: [].}

  Source Edit

    proc sameTree(a, b: PNode): bool {....raises: [], tags: [], forbids: [].}

  Source Edit

    proc simpleSlice(a, b: PNode): BiggestInt {....raises: [], tags: [], forbids: [].}

  Source Edit