[发明专利]代码注入方法和装置、电子设备及存储介质有效
| 申请号: | 202010002458.6 | 申请日: | 2020-01-02 |
| 公开(公告)号: | CN111158667B | 公开(公告)日: | 2023-08-01 |
| 发明(设计)人: | 林寿耿 | 申请(专利权)人: | 广州虎牙科技有限公司 |
| 主分类号: | G06F8/30 | 分类号: | G06F8/30 |
| 代理公司: | 北京超凡宏宇专利代理事务所(特殊普通合伙) 11463 | 代理人: | 胡蓉 |
| 地址: | 511400 广东省广州市番禺*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 代码 注入 方法 装置 电子设备 存储 介质 | ||
本申请提供的代码注入方法和装置、电子设备及存储介质,涉及程序开发技术领域。在本申请中,首先,基于预先配置的代码预处理器对第一程序代码进行预处理,并基于预处理的结果生成语法树对象。其次,基于语法树对象确定位置信息和生成第二程序代码,其中,该位置信息用于标识该第二程序代码需要注入至第一程序代码的位置。然后,基于位置信息将第二程序代码注入至第一程序代码。通过上述方法,可以改善在现有的程序开发过程中由于需要开发人员对第一程序代码和第二程序代码一并进行开发而存在开发效率低的问题。
技术领域
本申请涉及程序开发技术领域,具体而言,涉及一种代码注入方法和装置、电子设备及存储介质。
背景技术
在程序开发技术中,横切关注点是指,与主要功能的实现无关的次要功能。例如,针对一段虚拟按钮程序,可以设置一个横切关注点,以统计用户的点击该程序对应的按钮的次数。
经发明人研究发现,在现有的程序开发过程中,开发人员一般是将主要功能对应的程序代码和横切关注点对应的程序代码一并进行开发,因而,存在着开发效率低的问题。
发明内容
有鉴于此,本申请的目的在于提供一种代码注入方法和装置、电子设备及存储介质,以改善在现有的程序开发过程中由于需要开发人员对第一程序代码和第二程序代码一并进行开发而存在开发效率低的问题。
为实现上述目的,本申请实施例采用如下技术方案:
一种代码注入方法,包括:
基于预先配置的代码预处理器对第一程序代码进行预处理,并基于预处理的结果生成语法树对象;
基于所述语法树对象确定位置信息和生成第二程序代码,其中,该位置信息用于标识该第二程序代码需要注入至所述第一程序代码的位置;
基于所述位置信息将所述第二程序代码注入至所述第一程序代码。
在本申请实施例较佳的选择中,在上述代码注入方法中,所述基于预先配置的代码预处理器对第一程序代码进行预处理,并基于预处理的结果生成语法树对象的步骤,包括:
基于对注解处理器的继承操作配置生成代码预处理器;
基于所述代码预处理器对第一程序代码进行预处理生成目标文件,并基于该目标文件生成语法树对象。
在本申请实施例较佳的选择中,在上述代码注入方法中,所述基于该目标文件生成语法树对象的步骤,包括:
对所述目标文件中的初始化方法进行处理,得到所述第一程序代码的环境对象,并基于该环境对象生成语法树对象。
在本申请实施例较佳的选择中,在上述代码注入方法中,所述基于所述语法树对象确定位置信息和生成第二程序代码的步骤,包括:
从所述第一程序代码包括的至少一个注解中确定目标注解,并基于所述语法树对象生成语法树节点操作对象和语法树构建对象;
基于所述目标注解和所述语法树节点操作对象确定位置信息;
基于所述目标注解和所述语法树构建对象生成第二程序代码。
在本申请实施例较佳的选择中,在上述代码注入方法中,所述从所述第一程序代码包括的至少一个注解中确定目标注解的步骤,包括:
对目标文件中的注解获取方法进行处理,得到所述第一程序代码包括的至少一个注解中的目标注解,其中,所述目标文件为所述第一程序代码所在的文件。
在本申请实施例较佳的选择中,在上述代码注入方法中,所述基于所述目标注解和所述语法树节点操作对象确定位置信息的步骤,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州虎牙科技有限公司,未经广州虎牙科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010002458.6/2.html,转载请声明来源钻瓜专利网。





