function renderMethodmember parent name options out outpush; if optionstrimRunAndPrefix name = namesubstringRunAndlength; type Mapstring string const paramDocs = new Map; const addParamsDoc
该函数用于渲染一个方法的代码,并将其添加到输出数组中。
函数的参数解释如下:
member:表示方法的成员对象。parent:表示方法所属的父对象。name:表示方法的名称。options:表示渲染选项的对象。out:表示输出数组,用于存储渲染后的代码。
函数的执行过程如下:
- 将一个空字符串添加到输出数组中。
- 根据渲染选项中的
trimRunAndPrefix属性,对方法名称进行处理。 - 创建一个
paramDocs对象,用于存储参数的文档信息。 - 定义一个
addParamsDoc函数,用于添加参数的文档信息到paramDocs对象中。 - 根据方法的类型、父对象和渲染选项中的配置,生成方法的返回类型。
- 如果方法没有参数、返回类型不为
void,且方法名称不以特定的前缀开头,则将其渲染为只读属性。 - 如果方法是异步方法,则将返回类型调整为
Task或Task<返回类型>。 - 遍历方法的参数,处理每个参数:
- 如果参数名称为
options,则根据渲染选项中的配置处理。 - 如果参数类型为
[string]|[path],则将其拆分为两个参数。 - 如果参数类型为
[boolean]|[Array]<[string]>,则将其拆分为两个参数。 - 如果参数类型为
null,则忽略该参数。 - 否则,根据参数的类型生成参数的类型字符串,并添加到
args数组中。
- 如果参数名称为
- 根据渲染选项中的配置,生成方法的修饰符字符串。
- 根据渲染选项中的配置,生成方法的主体代码。
- 根据渲染选项中的配置,生成方法的文档注释。
- 将方法的代码添加到输出数组中
原文地址: https://www.cveoy.top/t/topic/iNND 著作权归作者所有。请勿转载和采集!