compiler/trees

  Source   Edit

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