[发明专利]基于字节码增强技术实现JAVA模式匹配特性的方法有效
申请号: | 201911275297.1 | 申请日: | 2019-12-12 |
公开(公告)号: | CN111190585B | 公开(公告)日: | 2023-05-02 |
发明(设计)人: | 童绪祥;范渊 | 申请(专利权)人: | 杭州安恒信息技术股份有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/41 |
代理公司: | 杭州赛科专利代理事务所(普通合伙) 33230 | 代理人: | 郭薇;冯年群 |
地址: | 310051 浙江省*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 字节 增强 技术 实现 java 模式 匹配 特性 方法 | ||
1.一种基于字节码增强技术实现JAVA模式匹配特性的方法,其特征在于:所述方法包括以下步骤:
步骤1:基于JAVA的语法规则定义JAVA可识别的模式匹配语法结构;
步骤2:自定义注解与注解处理器,完成编译期的代码增强,包括以下步骤:
步骤2.1:自定义注解;所述注解添加在类构造器上;
步骤2.2:编写注解处理器,用于在编译期自动执行处理器代理、识别被注解的类并增强,包括以下步骤:
步骤2.2.1:加载被注解类的源代码,解析构造器;
步骤2.2.2:若构造器存在参数,则进行下一步,否则,进行步骤2.2.6;
步骤2.2.3:若构造器参数在类属性中,则直接进行下一步,否则,增加类属性后进行下一步;
步骤2.2.4:补全类结构器;
步骤2.2.5:直接添加构造器匹配器;
步骤2.2.6:添加类型匹配器,生成字节码;
步骤3:对JAVA内置功能进行扩展,扩展包括:
正则表达式的字符串类型模式匹配扩展到符合任意数据类型的数据结构深度匹配;
switch-case关键字仅能实现的基本数据类型判断扩展到任意数据结构的逻辑判断;
步骤4:实现JAVA模式匹配。
2.根据权利要求1所述的一种基于字节码增强技术实现JAVA模式匹配特性的方法,其特征在于:所述步骤1中,任一模式匹配语法结构包括匹配器及若干与其对应的逻辑分支。
3.根据权利要求1所述的一种基于字节码增强技术实现JAVA模式匹配特性的方法,其特征在于:所述步骤2.1中,被添加的类可以完成属性增加、构造器补全、类型匹配和构造器匹配。
4.根据权利要求1所述的一种基于字节码增强技术实现JAVA模式匹配特性的方法,其特征在于:所述步骤2.2.5中,若构造方法参数不为空,则同步生成一个构造器匹配器,根据构造器结构编写模式表达式,完成实例内部数据的匹配判断。
5.根据权利要求1所述的一种基于字节码增强技术实现JAVA模式匹配特性的方法,其特征在于:所述步骤4中,实现的JAVA模式匹配包括通配符匹配、序列集合匹配、正则表达式匹配、类构造器匹配和数据深度匹配。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州安恒信息技术股份有限公司,未经杭州安恒信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911275297.1/1.html,转载请声明来源钻瓜专利网。