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方法将参数元组转换为列表,以便可以修改参数。