[发明专利]一种生成IDL文件的方法、装置、介质和电子设备有效
申请号: | 202010231517.7 | 申请日: | 2020-03-27 |
公开(公告)号: | CN111414161B | 公开(公告)日: | 2023-05-12 |
发明(设计)人: | 邬亮 | 申请(专利权)人: | 北京字节跳动网络技术有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F9/448;G06F8/41;G06F8/73 |
代理公司: | 北京国昊天诚知识产权代理有限公司 11315 | 代理人: | 马瑞 |
地址: | 100041 北京市石景山区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 生成 idl 文件 方法 装置 介质 电子设备 | ||
1.一种生成IDL文件的方法,其特征在于,包括:
获取路由文件;
分析每个路由文件,获取每个请求接口函数的路由信息;其中,所述路由信息包括与所述请求接口函数相关联的处理函数文件的路径信息和处理函数名;
基于所述处理函数文件的路径信息获取对应的处理函数文件;
分析每个处理函数文件,获取请求数据和设置响应数据的框架内置请求操作函数,以及每个请求接口函数对应的一组请求数据类型和响应数据类型;
基于所述路由信息、所述请求接口函数对应的所述请求数据类型和所述响应数据类型生成第一文件;其中,所述第一文件是由接口描述语言撰写;
其中,所述分析每个处理函数文件,获取请求数据和设置响应数据的框架内置请求操作函数,以及每个请求接口函数对应的一组请求数据类型和响应数据类型,包括:
基于第二语法分析模型分析每个处理函数文件,生成第二抽象语法树;
基于每个框架内置请求操作函数遍历所述第二抽象语法树,获取对应的第二抽象语法子树;其中,所述第二抽象语法子树包括请求获取代码和响应设置代码;所述请求获取代码是获取请求数据的golang代码;所述响应设置代码是设置响应数据的golang代码;
分别分析每个请求接口函数对应的一组所述请求获取代码和所述响应设置代码,获取对应的请求数据类型和响应数据类型。
2.根据权利要求1所述的方法,其特征在于,所述分析每个路由文件,获取每个请求接口函数的路由信息,包括:
基于第一语法分析模型分析每个路由文件,并生成第一抽象语法树;
根据每个请求接口函数分别分析所述第一抽象语法树,获取对应的路由信息。
3.根据权利要求1所述的方法,其特征在于,所述请求数据类型还包括所述请求数据类型依赖的数据类型;
所述响应数据类型还包括所述响应数据类型依赖的数据类型。
4.根据权利要求1所述的方法,其特征在于,所述基于所述路由信息、所述请求接口函数对应的所述请求数据类型和所述响应数据类型生成第一文件,包括:
基于每个路由信息生成函数类型和对应的第一注释信息;其中,所述函数类型和所述第一注释信息均由接口描述语言撰写,且所述第一注释信息包括:处理函数对应的注释信息;
基于每组所述请求数据类型和所述响应数据类型生成第一结构体类型和对应所述第一结构体类型的第二注释信息;其中,所述第一结构体类型和所述第二注释信息均由接口描述语言撰写;
根据每个函数类型生成对应的服务类型;其中,所述服务类型是由接口描述语言撰写;
聚合每个服务类型和每个第一结构体类型,生成第一文件。
5.根据权利要求4所述的方法,其特征在于,所述请求数据类型还包括请求类型注释信息;所述响应数据类型还包括响应类型注释信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京字节跳动网络技术有限公司,未经北京字节跳动网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010231517.7/1.html,转载请声明来源钻瓜专利网。