src/necsus/util/typeReader

Procs

proc findChildSyms(node: NimNode; output: var seq[NimNode]) {....raises: [],
    tags: [], forbids: [].}
Finds all symbols in the children of a node and returns them
proc findPragma(node: NimNode): NimNode {....raises: [], tags: [], forbids: [].}
Finds the pragma node attached to a nim node
proc findSym(node: NimNode): NimNode {....raises: [], tags: [], forbids: [].}
Unwraps the symbol from a node
proc hasPragma(node, pragma: NimNode): bool {....raises: [], tags: [], forbids: [].}
Determines whether a node has a given pragma
proc isPragma(found, expect: NimNode): bool {....raises: [], tags: [], forbids: [].}
Determines whether a NimNode represents the given pragma
proc resolveAlias(typeDef: NimNode): Option[NimNode] {....raises: [KeyError],
    tags: [], forbids: [].}
Attempts to resolve any aliases until a concrete type is reached
proc resolveBracketGeneric(typeDef: NimNode): NimNode {....raises: [KeyError],
    tags: [], forbids: [].}
Replaces a generic alias with the underlying type it represents
proc resolveTo(typeDef: NimNode; expectKind: set[NimNodeKind]): Option[NimNode] {.
    ...raises: [KeyError], tags: [], forbids: [].}
Resolves the system parsable type of an identifier