compiler/sem/ast_analysis

  Source   Edit

Implements various analysis routines for transformed AST.

Procs

proc canUseView(n: PNode): bool {....raises: [Exception, ERecoverableError],
                                  tags: [RootEffect].}
Computes whether the expression n evaluates to something of which a view can be created.   Source   Edit
proc needsBoundCheck(arr, lo, hi: PNode): bool {....raises: [], tags: [].}
Uses the expression's type and shape to infer whether bound checks are required for a toOpenArray(arr, lo, hi) call.   Source   Edit
proc needsIndexCheck(config: ConfigRef; arr, idx: PNode): bool {....raises: [],
    tags: [].}
Uses the expressions' type and shape to infer whether index checks are required for an arr[idx] access.   Source   Edit