# compiler/trees

Dark Mode

- Index

Search:
Group by:
Source Edit

# Imports

ast, wordrecg, idents

# Procs

    proc cyclicTree(n: PNode): bool {....raises: [], tags: [].}

  Source Edit

    proc dontInlineConstant(orig, cnst: PNode): bool {.inline, ...raises: [], tags: [].}

  Source Edit

    proc effectSpec(n: PNode; effectType: TSpecialWord): PNode {....raises: [],
        tags: [].}

  Source Edit

    proc exprStructuralEquivalent(a, b: PNode; strictSymEquality = false): bool {.
        ...raises: [KeyError], tags: [].}

  Source Edit

    proc extractRange(k: TNodeKind; n: PNode; a, b: int): PNode {....raises: [],
        tags: [].}

  Source Edit

    proc findPragma(n: PNode; which: TSpecialWord): PNode {....raises: [], tags: [].}

  Source Edit

    proc flattenStmts(n: PNode): PNode {....raises: [], tags: [].}

  Source Edit

    proc getMagic(op: PNode): TMagic {....raises: [], tags: [].}

  Source Edit

    proc getRoot(n: PNode): PSym {....raises: [], tags: [].}

  `getRoot` takes a path `n`. A path is an lvalue expression like `obj.x[i].y`. The root of a path is the symbol that can be determined as the owner; `obj` in the example. Source Edit

    proc isCaseObj(n: PNode): bool {....raises: [], tags: [].}

  Source Edit

    proc isConstExpr(n: PNode): bool {....raises: [], tags: [].}

  Source Edit

    proc isDeepConstExpr(n: PNode; preventInheritance = false): bool {....raises: [],
        tags: [].}

  Source Edit

    proc isNoSideEffectPragma(n: PNode): bool {....raises: [], tags: [].}

  Source Edit

    proc isRange(n: PNode): bool {.inline, ...raises: [], tags: [].}

  Source Edit

    proc isTrue(n: PNode): bool {....raises: [], tags: [].}

  Source Edit

    proc propSpec(n: PNode; effectType: TSpecialWord): PNode {....raises: [], tags: [].}

  Source Edit

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

  Source Edit

    proc stupidStmtListExpr(n: PNode): bool {....raises: [], tags: [].}

  Source Edit

    proc whichPragma(n: PNode): TSpecialWord {....raises: [], tags: [].}

  Source Edit