argmap.assemble#
- argmap.assemble(f)[源代码]#
收集修饰函数包装f的源组件。
如果
f
有多个argmap修饰符,我们递归地将这些修饰符堆栈组装成一个扁平的函数。此方法是
compile
方法的进程尚未与该方法分离,以允许递归处理。输出的是字符串、词典和列表,它们收集所需的信息来展平任何嵌套的argmap装饰。- 参数
- f可调用
要装饰的函数。如果f是代数映射的,我们对其进行汇编。
- 返回
- sigargmap.Signature
将函数签名作为
argmap.Signature
对象。- wrapped_name应力
用于表示正在汇编的代码中的包装函数的损坏名称。
- functionsDICT
正在汇编的代码中引用的函数g的字典映射id(G)->(mangled_name(G),g)。这些内容需要出现在
globals
范围exec
在定义修饰函数时。- mapblock列表和/或字符串的列表
实现参数映射的代码,如果需要,包括任何Try块。此代码将位于修饰后的函数调用之前。
- finallys列表和/或字符串的列表
实现Finally块以在调用修饰函数后对参数进行后处理的代码(如果需要,通常关闭任何文件)。
- mutable_args布尔尔
如果装饰符需要通过位置参数的索引修改位置参数,则为True。然后,Compile方法将参数元组转换为列表,以便可以修改参数。