Compile the decorated function.
Called once for a given decorated function – collects the code from all argmap decorators in the stack, and compiles the decorated function.
Much of the work done here uses the
assemblemethod to allow recursive treatment of multiple argmap decorators on a single decorated function. That flattens the argmap decorators, collects the source code to construct a single decorated function, then compiles/executes/returns that function.
The source code for the decorated function is stored as an attribute
_codeon the function object itself.
Note that Python’s
compilefunction requires a filename, but this code is constructed without a file, so a fictitious filename is used to describe where the function comes from. The name is something like: “argmap compilation 4”.
The function to be decorated
The decorated file