src/necsus/compiletime/tickGen

Procs

proc addActiveChecks(invocation: NimNode; codeGenInfo: CodeGenInfo;
                     checks: seq[ActiveCheck]; phase: SystemPhase): NimNode {.
    ...raises: [KeyError], tags: [], forbids: [].}
Wraps the system invocation code in the checks required
proc callSystems(codeGenInfo: CodeGenInfo; phases: set[SystemPhase]): NimNode {.
    ...raises: [KeyError], tags: [], forbids: [].}
Generates the code for invoke a list of systems
proc createTickProc(genInfo: CodeGenInfo): NimNode {....raises: [KeyError],
    tags: [], forbids: [].}
Creates a function that executes the next tick
proc createTickRunner(genInfo: CodeGenInfo; runner: NimNode): NimNode {.
    ...raises: [KeyError], tags: [], forbids: [].}
Creates the code required to execute a single tick within the world
proc destroySystems(codeGenInfo: CodeGenInfo): NimNode {....raises: [], tags: [],
    forbids: [].}
Invokes any system destructors
proc initializeSystems(codeGenInfo: CodeGenInfo): NimNode {....raises: [KeyError],
    tags: [], forbids: [].}
Invokes any system initializers that are required
proc invokeSystem(codeGenInfo: CodeGenInfo; system: ParsedSystem;
                  phases: set[SystemPhase]; prefixArgs: openArray[NimNode] = []): NimNode {.
    ...raises: [KeyError], tags: [], forbids: [].}
Generates the code needed call a single system