预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共30页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN114201173A(43)申请公布日2022.03.18(21)申请号202010990136.7(22)申请日2020.09.18(71)申请人北京三快在线科技有限公司地址100190北京市海淀区北四环西路9号2106-030(72)发明人徐东升任向东陈默刘德卿(74)专利代理机构北京英创嘉友知识产权代理事务所(普通合伙)11447代理人魏云鹿(51)Int.Cl.G06F8/41(2018.01)权利要求书2页说明书15页附图12页(54)发明名称生成调用关系的方法、装置、存储介质和电子设备(57)摘要本公开涉及一种生成调用关系的方法、装置、存储介质和电子设备,涉及电子信息技术领域,该方法包括:获取目标源文件对应的抽象语法树中至少一个第一调用节点,第一调用节点为方法定义节点,针对每个第一调用节点,获取抽象语法树中,该第一调用节点的子节点,在该第一调用节点的子节点中,确定该第一调用节点对应的第一被调用节点,第一被调用节点为方法调用节点,且抽象语法树中第一被调用节点的子节点不包括块节点,将该第一调用节点对应的第一调用方法,调用第一被调用节点对应的第一被调用方法,作为一个调用链,根据全部调用链,生成目标源文件的调用关系。本公开从抽象语法树中提取调用链,从而生成调用关系,提高了调用关系的生成效率。CN114201173ACN114201173A权利要求书1/2页1.一种生成调用关系的方法,其特征在于,所述方法包括:获取目标源文件对应的抽象语法树中至少一个第一调用节点,所述第一调用节点为方法定义节点;针对每个所述第一调用节点,获取所述抽象语法树中,该第一调用节点的子节点;在该第一调用节点的子节点中,确定该第一调用节点对应的第一被调用节点,所述第一被调用节点为方法调用节点,且所述抽象语法树中所述第一被调用节点的子节点不包括块节点;将该第一调用节点对应的第一调用方法,调用所述第一被调用节点对应的第一被调用方法,作为一个调用链;根据全部所述调用链,生成所述目标源文件的调用关系。2.根据权利要求1所述的方法,其特征在于,所述获取目标源文件对应的抽象语法树中的至少一个第一调用节点,包括:从所述抽象语法树包括的全部方法定义节点中,确定所述至少一个第一调用节点,每个所述第一调用节点存在对应的第一类节点,所述第一类节点为该第一调用节点的父节点,且所述第一类节点为类定义节点。3.根据权利要求2所述的方法,其特征在于,在所述将该第一调用节点对应的第一调用方法,调用所述第一被调用节点对应的第一被调用方法,作为该第一调用节点的调用链之前,所述方法还包括:获取该第一调用节点对应的所述第一类节点;根据该第一调用节点和对应的所述第一类节点,获取所述第一调用节点的方法名,和所述第一调用节点所属的类名,以确定所述第一调用方法,并根据所述第一被调用节点,获取所述第一被调用节点的方法名,和所述第一被调用节点所属的类名,以确定所述第一被调用方法。4.根据权利要求1所述的方法,其特征在于,在所述获取所述抽象语法树中,该第一调用节点的子节点之后,所述方法还包括:在该第一调用节点的子节点中,确定该第一调用节点对应的至少一个第二被调用节点,所述第二被调用节点为方法调用节点;针对每个所述第二被调用节点,获取所述抽象语法树中,该第二被调用节点的父节点;在该第二被调用节点的父节点中,确定该第二被调用节点对应的第二调用节点,所述第二调用节点为方法调用节点,且所述第二调用节点的子节点中包括块节点;将所述第二调用节点对应的第二调用方法,调用该第二被调用节点对应的第二被调用方法,作为一个所述调用链。5.根据权利要求1所述的方法,其特征在于,在所述根据全部所述调用链,生成所述目标源文件的调用关系之前,所述方法还包括:获取所述抽象语法树中的至少一个第三调用节点,所述第三调用节点为方法定义节点,且所述第三调用节点存在对应的第三类节点,所述第三类节点为该第三调用节点的父节点,且所述第三类节点为分类定义节点;针对每个所述第三调用节点,获取所述抽象语法树中,该第三调用节点的子节点;在该第三调用节点的子节点中,确定该第三调用节点对应的第三被调用节点,所述第2CN114201173A权利要求书2/2页三被调用节点为方法调用节点;将该第三调用节点对应的第三调用方法,调用所述第三被调用节点对应的第三被调用方法,作为一个所述调用链。6.根据权利要求5所述的方法,其特征在于,在所述将该第三调用节点对应的第三调用方法,调用所述第三被调用节点对应的第三被调用方法,作为一个所述调用链之前,所述方法还包括:获取该第三调用节点对应的所述第三类节点;根据该第三调用节点和对应的所述第三类节点,获取该第三调用节点的方法名,和该第三调用节点所属的类名,以确