Python/getargs/dispatch

Source   Edit  

Procs

proc clinicGenAux(hasSelf: bool; genedPureNameStr: string; def: NimNode;
                  exported = true): NimNode {....raises: [], tags: [], forbids: [].}
impl for pragma for proc def Source   Edit  
proc clinicGenImplWithPrefix(prefix: string; def: NimNode): NimNode {.
    ...raises: [], tags: [], forbids: [].}
Source   Edit  

Macros

macro bltin_clinicGen(def)
Source   Edit  
macro clinicGen(name; exported: static[bool]; def)

pragma for proc def.

Named after CPython's clinic

main part of exportnpy, just before registering into module dict

Source   Edit  
macro clinicGenMeth(name; exported: static[bool]; def)
Source   Edit  
macro clinicGenMethod(typ; prc)
Source   Edit  
macro clinicGenMethodOfKind(typ;
                            kind: static[NPyMethodKind] = NPyMethodKind.Common;
                            exceptions: untyped = []; prc)
used for generating method with argument clinic, e.g. PyDict_GetItem the method body is generated by prc, which is a proc that returns a NimNode the proc takes the method name as argument, so that it can generate different body for different methods, e.g. PyDict_GetItem and PyDict_SetItem has different body Source   Edit  
macro clinicGenMethodRaises(typ; exceptions; prc)
Source   Edit  
macro clinicGenWithPrefix(prefix: static[string]; def)
Source   Edit