The idea is that you can reimplement one of a few procedures which we will perform a late binding to by name.
Procs
proc findColonLit(n: NimNode; s: string; T: typedesc): T:type
- Source Edit
proc makeLineInfo(n: NimNode): LineInfo {....raises: [ValueError], tags: [], forbids: [].}
- return a run-time LineInfo into a compile-time LineInfo object Source Edit
proc nameForNode(n: NimNode): string {....raises: [], tags: [], forbids: [].}
- produce some kind of useful string that names a node Source Edit
proc updateLineInfoForContinuationStackFrame(c, n: NimNode): NimNode {. ...raises: [], tags: [], forbids: [].}
- c holds the continuation symbol, while n is a node with info Source Edit
Templates
template makeLineInfo(n: LineInfo): NimNode
- turn a compile-time LineInfo object into a runtime LineInfo object Source Edit