- 文件名
class_annotation
- 文件说明
类上指定的注解信息
若注解没有属性值,则相关字段为空
若注解有属性值,则每个属性值占一行
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 完整类名 |
| 2 | 注解类名 |
| 3 | 注解属性名称,空字符串代表无注解属性 |
| 4 | 注解属性类型,参考AnnotationAttributesTypeEnum类 |
| 5 | 注解属性值 |
- 文件名
class_ext_impl_generics_type
- 文件说明
类在继承父类或实现接口时的泛型信息,包含泛型的类型、数组维度、变量名称等
例如:“GenericClassImplSuper1 implements GenericInterfaceSuper1<ChildClassA2, ChildClassB1>”,对应信息中会包含 ChildClassA2、ChildClassB1
例如:“GenericClassImplSuper2b2 extends GenericAbstractSuper2<String[], byte[]>”,对应信息中会包含 String[]、byte[]
例如:“GenericClassImplSuper2c<E1, E2> extends GenericAbstractSuper2<E1, E2>”,对应信息中会包含 E1、E2
例如:“GenericClassImplSuper2b3 extends GenericAbstractSuper2<List<String[]>, Map<String, Map<Integer, byte[]>>>”,对应信息中会包含 List、String[]、Map、String、Map、Integer、byte
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 完整类名 |
| 2 | 继承或实现类型,e:继承,i:实现 |
| 3 | 继承或实现的序号,从0开始 |
| 4 | 父类或接口的类名 |
| 5 | 类的继承或实现中的泛型类型序号,从0开始 |
| 6 | 类的继承或实现中的泛型类型类名(不包含数组标志) |
| 7 | 类的继承或实现中的泛型数组类型的维度,为0代表不是数组类型 |
| 8 | 类的继承或实现中的泛型类型变量名称 |
| 9 | 类的继承或实现中的泛型类型分类,J:JDK中的类型,C:自定义类型 |
- 文件名
class_info
- 文件说明
类的信息,包括类名、access_flags、类文件的HASH值(MD5)、类所在的jar文件序号等
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 完整类名 |
| 2 | 类的access_flags |
| 3 | 类文件的HASH值(MD5) |
| 4 | 类所在的jar文件序号 |
| 5 | 类在jar包中的路径 |
- 文件名
class_reference
- 文件说明
类所引用的其他类关系
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 引用的完整类名 |
| 2 | 被引用的完整类名 |
| 3 | 类所在的jar文件序号 |
- 文件名
class_signature_generics_type
- 文件说明
类的签名中的泛型信息
例如:“interface CommonMapper<S, T1> extends BaseMapper”,对应信息中会包含 S、T1
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 完整类名 |
| 2 | 序号,从0开始 |
| 3 | 类的签名中的泛型类型变量名称 |
| 4 | 类的签名中的泛型的父类类名 |
- 文件名
dup_class_info
- 文件说明
重复同名类的信息
类的信息,包括类名、access_flags、类文件的HASH值(MD5)、类所在的jar文件序号等
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 完整类名 |
| 2 | 类的access_flags |
| 3 | 类文件的HASH值(MD5) |
| 4 | 类所在的jar文件序号 |
| 5 | 类在jar包中的路径 |
- 文件名
dup_class_reference
- 文件说明
重复同名类所引用的其他类关系
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 引用的完整类名 |
| 2 | 被引用的完整类名 |
| 3 | 类所在的jar文件序号 |
- 文件名
dup_field_info
- 文件说明
重复同名类的字段信息
字段的信息,包括字段名称、类型、修饰符、是否存在对应的get/set方法,是否存在泛型类型等
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 完整类名 |
| 2 | 字段名称 |
| 3 | 字段类型(不包含数组标志) |
| 4 | 字段数组类型的维度,为0代表不是数组类型 |
| 5 | 字段中的泛型类型分类,J:JDK中的类型,C:自定义类型 |
| 6 | 字段修饰符 |
| 7 | 基本类型,1:是,0:否 |
| 8 | static标志,1:是,0:否 |
| 9 | final标志,1:是,0:否 |
| 10 | 是否存在对应的get方法,1:是,0:否 |
| 11 | 是否存在对应的set方法,1:是,0:否 |
| 12 | 是否存在泛型类型,1:是,0:否 |
| 13 | 字段所在的jar文件序号 |
- 文件名
dup_method_info
- 文件说明
重复同名类的方法信息
方法的信息,包括完整方法、access_flags、返回类型、方法指令的HASH值(MD5)等
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 完整方法(类名+方法名+参数) |
| 2 | 方法的access_flags |
| 3 | 返回类型类名(不包含数组标志) |
| 4 | 返回类型数组的维度,为0代表不是数组类型 |
| 5 | 返回类型分类,J:JDK中的类型,C:自定义类型 |
| 6 | 返回类型是否存在泛型类型,1:是,0:否 |
| 7 | 方法指令的HASH值(MD5),可能为空字符串 |
| 8 | 方法所在的jar文件序号 |
- 文件名
enum_init_arg_field
- 文件说明
枚举类构造函数参数与字段赋值关系,即枚举类的构造函数中会将每个参数赋值到哪个字段
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 枚举类构造函数完整方法(类名+方法名+参数) |
| 2 | 枚举类构造函数用于赋值的参数序号(从1开始) |
| 3 | 枚举类构造函数被赋值的字段类型 |
| 4 | 枚举类构造函数被赋值的字段名 |
- 文件名
enum_init_assign_info
- 文件说明
枚举类初始化赋值信息,即枚举类中的每个常量在初始化时指定的参数信息
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 枚举类构造函数完整方法(类名+方法名+参数) |
| 2 | 枚举常量名称 |
| 3 | 枚举字段序号 |
| 4 | 通过枚举类构造函数被赋值的参数序号(从1开始,最小为3) |
| 5 | 通过枚举类构造函数被赋值的字段类型 |
| 6 | 通过枚举类构造函数被赋值的字段值是否有进行BASE64编码,1:是,0:否 |
| 7 | 通过枚举类构造函数被赋值的字段值 |
- 文件名
extends_impl
- 文件说明
类继承类,或类实现接口相关的信息
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 完整类名 |
| 2 | 类的access_flags |
| 3 | 类型,e:继承,i:实现 |
| 4 | 父类或接口的完整类名 |
- 文件名
field_annotation
- 文件说明
字段上指定的注解信息
若注解没有属性值,则相关字段为空
若注解有属性值,则每个属性值占一行
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 完整类名 |
| 2 | 字段名称 |
| 3 | 注解类名 |
| 4 | 注解属性名称,空字符串代表无注解属性 |
| 5 | 注解属性类型,参考AnnotationAttributesTypeEnum类 |
| 6 | 注解属性值 |
- 文件名
field_generics_type
- 文件说明
非静态字段中涉及的泛型类型,每个字段中可能涉及多种泛型类型,可能会存在多条记录
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 完整类名 |
| 2 | 字段名 |
| 3 | 类型,t:字段类型,gt:字段中的泛型类型 |
| 4 | 类型序号,字段类型固定为0,字段的泛型类型从0开始 |
| 5 | 非静态字段类型或其中的泛型类型类名(不包含数组标志) |
| 6 | 非静态字段中的泛型数组类型的维度,为0代表不是数组类型 |
| 7 | 非静态字段中的泛型类型变量名称 |
| 8 | 非静态字段中的泛型通配符 |
| 9 | 非静态字段中的泛型通配符引用的类型 |
| 10 | 非静态字段中的泛型类型分类,J:JDK中的类型,C:自定义类型 |
- 文件名
field_info
- 文件说明
字段的信息,包括字段名称、类型、修饰符、是否存在对应的get/set方法,是否存在泛型类型等
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 完整类名 |
| 2 | 字段名称 |
| 3 | 字段类型(不包含数组标志) |
| 4 | 字段数组类型的维度,为0代表不是数组类型 |
| 5 | 字段中的泛型类型分类,J:JDK中的类型,C:自定义类型 |
| 6 | 字段修饰符 |
| 7 | 基本类型,1:是,0:否 |
| 8 | static标志,1:是,0:否 |
| 9 | final标志,1:是,0:否 |
| 10 | 是否存在对应的get方法,1:是,0:否 |
| 11 | 是否存在对应的set方法,1:是,0:否 |
| 12 | 是否存在泛型类型,1:是,0:否 |
| 13 | 字段所在的jar文件序号 |
- 文件名
field_relationship
- 文件说明
通过get/set方法关联的字段关系,包含了set方法及用于赋值的get方法,以及set方法所在的方法
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 关联关系id,从1开始 |
| 2 | get方法调用序号,从1开始 |
| 3 | set方法调用序号,从1开始 |
| 4 | 调用方,完整方法 |
| 5 | 调用方,源代码行号 |
| 6 | get方法完整类名 |
| 7 | get方法方法名 |
| 8 | set方法完整类名 |
| 9 | set方法方法名 |
| 10 | 关联关系是否有效,1:是,0:否 |
| 11 | 关联关系类型,参考 java-callgraph2 项目 JavaCG2FieldRelationshipTypeEnum 类 |
- 文件名
field_usage_other
- 文件说明
使用其他类中字段的使用情况,包括字段所在的类名、名称、类型、static标志、使用字段时get还是put等
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 完整方法(类名+方法名+参数) |
| 2 | 方法返回类型类名(包含数组标志) |
| 3 | static标志,1:是,0:否 |
| 4 | 使用字段时get还是put,1:get,0:put |
| 5 | 被使用的字段所在的类名 |
| 6 | 被使用的字段名称 |
| 7 | 被使用的字段类型(包含数组标志) |
| 8 | 使用字段的源代码行号 |
| 9 | 类所在的jar文件序号 |
| 10 | 被使用的字段所在的jar文件序号 |
- 文件名
get_method
- 文件说明
dto的get方法的信息,包含对应的字段信息
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 完整类名 |
| 2 | 方法名 |
| 3 | 字段名 |
| 4 | 字段分类,J:JDK中的类型,C:自定义类型,GJ:泛型类型,只涉及JDK中的类型,GC:泛型类型,涉及自定义类型 |
| 5 | 字段类型(不包含数组标志) |
| 6 | 字段数组类型的维度,为0代表不是数组类型 |
| 7 | 完整方法(类名+方法名+参数) |
| 8 | 方法返回类型,包含数组标志 |
- 文件名
inner_class
- 文件说明
内部类相关的信息,包括内部类与对应的外部类
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 内部类完整类名 |
| 2 | 外部类完整类名 |
| 3 | 是否为匿名内部类,1:是,0:否 |
- 文件名
jacg_config
- 文件说明
java-all-call-graph组件使用的配置参数,包括配置参数名、参数值、参数类型等
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 配置文件名 |
| 2 | 配置参数名,List/Set类型的参数代表序号 |
| 3 | 配置参数值 |
| 4 | 配置参数类型 |
- 文件名
jar_info
- 文件说明
解析的Jar/war文件或目录相关的信息
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | jar文件类型,J: jar/war文件,D: 目录,JIJ: jar/war文件中的jar,R: 解析结果文件保存目录,FJ: 最终解析的jar文件 |
| 2 | jar文件序号 |
| 3 | 外层jar文件完整路径 |
| 4 | jar/war文件中的jar文件路径 |
- 文件名
javacg2_config
- 文件说明
java-callgraph2组件使用的配置参数,包括,包括配置参数名、参数值、参数类型等
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 配置文件名 |
| 2 | 配置参数名,List/Set类型的参数代表序号 |
| 3 | 配置参数值 |
| 4 | 配置参数类型 |
- 文件名
lambda_method_info
- 文件说明
Lambda表达式方法调用相关信息
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 方法调用序号,从1开始 |
| 2 | Lambda表达式被调用方完整方法(类名+方法名+参数) |
| 3 | Lambda表达式下一个被调用完整方法(类名+方法名+参数) |
- 文件名
method_annotation
- 文件说明
方法上指定的注解信息
若注解没有属性值,则相关字段为空
若注解有属性值,则每个属性值占一行
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 完整方法(类名+方法名+参数) |
| 2 | 方法返回类型,包含数组标志 |
| 3 | 注解类名 |
| 4 | 注解属性名称,空字符串代表无注解属性 |
| 5 | 注解属性类型,参考AnnotationAttributesTypeEnum类 |
| 6 | 注解属性值 |
| 7 | 方法所在的jar文件序号 |
- 文件名
method_arg_annotation
- 文件说明
方法参数上指定的注解信息
若注解没有属性值,则相关字段为空
若注解有属性值,则每个属性值占一行
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 完整方法(类名+方法名+参数) |
| 2 | 方法返回类型,包含数组标志 |
| 3 | 参数序号,从0开始 |
| 4 | 注解类名 |
| 5 | 注解属性名称,空字符串代表无注解属性 |
| 6 | 注解属性类型,参考AnnotationAttributesTypeEnum类 |
| 7 | 注解属性值 |
- 文件名
method_arg_generics_type
- 文件说明
方法参数中的泛型类型
示例:”TestArgumentGenerics1.testAll(int i, List list)“
对于以上示例,会记录对应的方法,方法参数的类型,和其中涉及的泛型类型 List、TestArgument1
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 完整方法(类名+方法名+参数) |
| 2 | 方法返回类型,包含数组标志 |
| 3 | 参数序号,从0开始 |
| 4 | 类型,t:参数类型,gt:参数的泛型类型 |
| 5 | 类型序号,参数类型固定为0,参数中的泛型类型从0开始 |
| 6 | 方法参数类型或其中的泛型类型类名(不包含数组标志) |
| 7 | 方法参数中的泛型数组类型的维度,为0代表不是数组类型 |
| 8 | 方法参数中的泛型类型变量名称 |
| 9 | 方法参数中的泛型通配符 |
| 10 | 方法参数中的泛型通配符引用的类型 |
| 11 | 方法参数中的泛型类型分类,J:JDK中的类型,C:自定义类型 |
- 文件名
method_argument
- 文件说明
方法参数的类型及名称等,参数名称可能为空
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 完整方法(类名+方法名+参数) |
| 2 | 方法返回类型,包含数组标志 |
| 3 | 参数序号,从0开始 |
| 4 | 参数名称,可能为空 |
| 5 | 参数类型(不包含数组标志) |
| 6 | 参数数组类型的维度,为0代表不是数组类型 |
| 7 | 参数类型分类,J:JDK中的类型,C:自定义类型 |
| 8 | 是否存在泛型类型,1:是,0:否 |
- 文件名
method_call
- 文件说明
方法调用信息,每个方法调用占一行,包括调用方方法与被调用方方法
方法调用类型,详细信息见call_type.md
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 方法调用序号,从1开始 |
| 2 | 是否启用,1:启用,0:未启用 |
| 3 | 调用方,完整方法(类名+方法名+参数) |
| 4 | (方法调用类型)被调用方,完整方法(类名+方法名+参数) |
| 5 | 调用方法源代码行号 |
| 6 | 调用方法返回类型 |
| 7 | 被调用方,对象数组的维度,为0代表不是数组类型 |
| 8 | 被调用对象类型,t:调用当前实例的方法,sf:调用静态字段的方法,f:调用字段的方法,v:调用其他变量的方法 |
| 9 | 被调用方法原始的返回类型 |
| 10 | 被调用方法实际的返回类型 |
| 11 | 调用方法jar文件序号 |
| 12 | 被调用方法jar文件序号 |
| 13 | 描述信息,默认为空 |
- 文件名
method_call_info
- 文件说明
方法调用信息,包括方法调用中被调用对象与参数可能的类型以及值
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 方法调用序号,从1开始 |
| 2 | 被调用对象或参数序号,0代表被调用对象,1开始为参数 |
| 3 | 序号,从0开始,大于0代表有多种可能 |
| 4 | 类型,含义参考 JavaCG2MethodCallInfoTypeEnum 类 |
| 5 | 是否为数组格式,1:是,0:否 |
| 6 | 数组值组合序号,从0开始,非数组时为-1 |
| 7 | 数组维度,从1开始,非数组时为0 |
| 8 | 数组下标,逗号分隔,如"0"、"0,1"、"0,1,2" |
| 9 | 值的类型,含义参考 JavaCG2ConstantTypeEnum 类 |
| 10 | 对应的值 |
| 11 | 调用方,完整方法(类名+方法名+参数) |
| 12 | 方法返回类型,包含数组标志 |
- 文件名
method_call_method_call_return
- 文件说明
方法调用使用方法调用返回值信息,包括方法调用中被调用对象与参数可能使用的方法调用返回值信息
包括返回值被使用的被调用方法完整方法、方法调用序号等
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 方法调用序号,从1开始 |
| 2 | 被调用对象或参数序号, |
| 3 | 序号,从0开始,大于0代表有多种可能 |
| 4 | 是否为数组格式,1:是,0:否 |
| 5 | 返回值被使用的方法调用序号,从1开始 |
| 6 | 被调用方,完整方法(类名+方法名+参数) |
| 7 | 被调用方,方法返回类型,包含数组标志 |
- 文件名
method_call_non_static_field
- 文件说明
方法调用使用非静态字段信息,包括方法调用中被调用对象与参数可能使用的非静态字段信息
包括非静态字段所在的类名、字段名称、字段类型等
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 方法调用序号,从1开始 |
| 2 | 被调用对象或参数序号, |
| 3 | 序号,从0开始,大于0代表有多种可能 |
| 4 | 非静态字段所在类完整类名 |
| 5 | 非静态字段名称 |
| 6 | 非静态字段类型 |
| 7 | 调用方,完整方法(类名+方法名+参数) |
| 8 | 调用方,方法返回类型,包含数组标志 |
- 文件名
method_call_raw_callee
- 文件说明
方法调用被调用对象的原始类型表,当代码中使用的原始被调用对象与实际的不同时会记录到当前表
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 方法调用序号,从1开始 |
| 2 | 原始的被调用完整类名 |
- 文件名
method_call_static_field
- 文件说明
方法调用使用静态字段信息,包括方法调用中被调用对象与参数可能使用的静态字段信息
包括静态字段所在的类名、字段名称、字段类型等
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 方法调用序号,从1开始 |
| 2 | 被调用对象或参数序号, |
| 3 | 序号,从0开始,大于0代表有多种可能 |
| 4 | 静态字段所在类完整类名 |
| 5 | 静态字段名称 |
| 6 | 静态字段类型 |
| 7 | 调用方,完整方法(类名+方法名+参数) |
| 8 | 调用方,方法返回类型,包含数组标志 |
- 文件名
method_call_static_field_mcr
- 文件说明
方法调用中,被调用对象或参数使用静态字段方法调用返回值
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 方法调用序号,从1开始 |
| 2 | 被调用对象或参数序号, |
| 3 | 序号,从0开始,大于0代表有多种可能 |
| 4 | 静态字段所在类完整类名 |
| 5 | 静态字段名称 |
| 6 | 静态字段类型 |
| 7 | 被调用方(静态字段所在类),完整方法(类名+方法名+参数) |
| 8 | 被调用方(静态字段所在类),方法返回类型,包含数组标志 |
| 9 | 调用方,完整方法(类名+方法名+参数) |
| 10 | 调用方,方法返回类型,包含数组标志 |
- 文件名
method_catch
- 文件说明
方法的catch,包括catch的异常类型,try与catch代码块开始的代码行号与结束的代码行号,try与catch代码块最小及最大的方法调用ID
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 完整方法(类名+方法名+参数) |
| 2 | 方法返回类型,包含数组标志 |
| 3 | catch捕获的异常类型 |
| 4 | catch标志,switch: 编译器为switch生成的catch代码块,try-with-resource: 编译器为try-with-resource生成的catch代码块 |
| 5 | try代码块开始代码行号 |
| 6 | try代码块结束代码行号 |
| 7 | try代码块最小方法调用ID |
| 8 | try代码块最大方法调用ID |
| 9 | catch代码块开始指令偏移量 |
| 10 | catch代码块结束指令偏移量 |
| 11 | catch代码块开始代码行号 |
| 12 | catch代码块结束代码行号 |
| 13 | catch代码块最小方法调用ID |
| 14 | catch代码块最大方法调用ID |
- 文件名
method_finally
- 文件说明
方法的finally信息,包括try或catch开始的代码行号与结束的代码行号,try或catch代码块最小及最大的方法调用ID,finally开始的代码行号
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 完整方法(类名+方法名+参数) |
| 2 | 方法返回类型,包含数组标志 |
| 3 | 当前的finally对应try或catch |
| 4 | try或catch代码块开始代码行号 |
| 5 | try或catch代码块结束代码行号 |
| 6 | try或catch代码块最小方法调用ID |
| 7 | try或catch代码块最大方法调用ID |
| 8 | finally代码块开始代码行号 |
- 文件名
method_info
- 文件说明
方法的信息,包括完整方法、access_flags、返回类型、方法指令的HASH值(MD5)等
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 完整方法(类名+方法名+参数) |
| 2 | 方法的access_flags |
| 3 | 返回类型类名(不包含数组标志) |
| 4 | 返回类型数组的维度,为0代表不是数组类型 |
| 5 | 返回类型分类,J:JDK中的类型,C:自定义类型 |
| 6 | 返回类型是否存在泛型类型,1:是,0:否 |
| 7 | 方法指令的HASH值(MD5),可能为空字符串 |
| 8 | 方法所在的jar文件序号 |
- 文件名
method_line_number
- 文件说明
方法代码行号信息,包括起始行号与结束行号
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 完整方法(类名+方法名+参数) |
| 2 | 方法返回类型,包含数组标志 |
| 3 | 起始代码行号 |
| 4 | 结束代码行号 |
- 文件名
method_return_arg_seq
- 文件说明
方法返回值对应的方法参数序号信息,即调用方法以当前方法的参数作为自己的返回值时,记录对应关系
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 完整方法(类名+方法名+参数) |
| 2 | 方法返回类型,包含数组标志 |
| 3 | 方法返回值对应的方法参数序号,从0开始 |
| 4 | 是否返回等值转换前的方法参数,1:是,0:否 |
- 文件名
method_return_call_id
- 文件说明
方法返回值对应的方法调用序号信息,即调用方法以某个被调用方法的返回值作为自己的返回值时,记录两个方法的对应关系
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 完整方法(类名+方法名+参数) |
| 2 | 方法返回类型,包含数组标志 |
| 3 | 方法返回值对应的方法调用序号,从1开始 |
| 4 | 是否返回等值转换前的方法调用,1:是,0:否 |
- 文件名
method_return_const_value
- 文件说明
方法返回的常量值,包括返回null的情况,属性有常量类型、常量值
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 完整方法(类名+方法名+参数) |
| 2 | 方法返回类型,包含数组标志 |
| 3 | 某个方法返回的常量值序号,从0开始 |
| 4 | 常量类型,含义参考 JavaCG2ConstantTypeEnum 类 |
| 5 | 常量值是否有进行BASE64编码,1:是,0:否 |
| 6 | 常量的值 |
- 文件名
method_return_field_info
- 文件说明
方法返回的字段信息,包括返回枚举的情况,属性有字段是否为静态、字段是否属于this对象、字段所在的类、字段的类型、字段的名称
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 完整方法(类名+方法名+参数) |
| 2 | 方法返回类型,包含数组标志 |
| 3 | 某个方法返回的字段信息序号,从0开始 |
| 4 | 方法返回的字段是否为静态,1:是,0:否 |
| 5 | 方法返回的字段是否属于this对象,1:是,0:否 |
| 6 | 方法返回的字段所在的类完整类名 |
| 7 | 方法返回的字段类型完整类名(不包含数组标志) |
| 8 | 方法返回的字段数组类型的维度,为0代表不是数组类型 |
| 9 | 方法返回的字段名称 |
- 文件名
method_return_generics_type
- 文件说明
方法返回类型中涉及的泛型类型
示例:”Map<Integer, String> test2()“
对于以上示例,会记录对应的方法,以及方法返回的类型,和其中涉及的泛型类型 Map、Integer、String
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 完整方法(类名+方法名+参数) |
| 2 | 方法返回类型,包含数组标志 |
| 3 | 类型,t:方法返回类型,gt:方法返回类型中的泛型类型 |
| 4 | 类型序号,方法返回类型固定为0,方法返回类型中的泛型类型从0开始 |
| 5 | 方法返回类型或其中的泛型类型类名(不包含数组标志) |
| 6 | 方法返回类型中的泛型数组类型的维度,为0代表不是数组类型 |
| 7 | 方法返回类型中的泛型类型变量名称 |
| 8 | 方法返回类型中的泛型通配符 |
| 9 | 方法返回类型中的泛型通配符引用的类型 |
| 10 | 方法返回类型中的泛型类型分类,J:JDK中的类型,C:自定义类型 |
- 文件名
method_throw
- 文件说明
方法中throw的异常信息,包括抛出catch的异常对象,抛出方法调用返回值等情况
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 完整方法(类名+方法名+参数) |
| 2 | 方法返回类型,包含数组标志 |
| 3 | throw指令的偏移量 |
| 4 | throw的代码行号 |
| 5 | 序号,从0开始,大于0代表有多种可能 |
| 6 | throw的异常类型 |
| 7 | throw的标志,ce:catch的异常对象,mcr:方法调用返回值,unk:未知情况 |
| 8 | 抛出异常属于catch的异常对象时,对应的catch代码块开始指令偏移量 |
| 9 | 抛出异常对应的catch的异常对象变量名称 |
| 10 | 抛出异常属于方法调用返回值时,对应的方法调用ID |
- 文件名
mybatis_ms_column
- 文件说明
使用MySQL时,MyBatis的resultMap中的信息,包括Entity与数据库字段名对应关系信息
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | XML的resultMap ID |
| 2 | MyBatis的Entity类名 |
| 3 | Entity中的字段名称 |
| 4 | 数据库表中的字段名称 |
| 5 | 数据库字段类型 |
| 6 | MyBatis XML文件路径 |
- 文件名
mybatis_ms_entity
- 文件说明
使用MySQL时,MyBatis的Entity类名与Mapper类名、数据库表名
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | MyBatis Mapper接口类名 |
| 2 | MyBatis的Entity类名 |
| 3 | 数据库表名 |
| 4 | MyBatis XML文件路径 |
- 文件名
mybatis_ms_formated_sql
- 文件说明
使用MySQL时,MyBatis XML的sql、Mapper相关信息,包括XML文件路径、Mapper类名、resultMap的ID、hash等
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | MyBatis Mapper接口类名 |
| 2 | MyBatis XML sql Id |
| 3 | sql文本序号,从0开始 |
| 4 | XML元素名称,如select、insert、update等 |
| 5 | 格式化后的sql文本 |
| 6 | MyBatis XML文件路径 |
| 7 | XML的resultMap ID |
- 文件名
mybatis_ms_get_set
- 文件说明
使用MySQL时,Java代码中的get/set方法通过MyBatis XML所关联的数据库信息
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 记录id,从1开始 |
| 2 | 通过get/set方法关联的字段关系id,从1开始 |
| 3 | 对应get方法还是set方法 |
| 4 | get方法对应的方法调用ID,从1开始 |
| 5 | set方法对应的方法调用ID,从1开始 |
| 6 | 数据库操作,包含sql语句,除select、insert、update、delete外,后面可能加上@set、@where |
| 7 | 数据库表名(MyBatis XML中可能使用函数,长度需要长一些) |
| 8 | 数据库字段名(MyBatis XML中可能使用函数,长度需要长一些) |
| 9 | MyBatis字段与Java代码字段关联方式描述,参考 MyBatisColumnRelateDescEnum 枚举类 |
- 文件名
mybatis_ms_select_column
- 文件说明
使用MySQL时,MyBatis的XML文件中select的字段及相关的表名与别名
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | MyBatis Mapper接口类名 |
| 2 | MyBatis Mapper方法名 |
| 3 | 数据库表名 |
| 4 | 数据库字段名 |
| 5 | 数据库字段赋值的参数名称 |
| 6 | MyBatis XML文件路径 |
- 文件名
mybatis_ms_set_column
- 文件说明
使用MySQL时,MyBatis的XML文件中update语句的set子句中的字段与用于赋值的参数情况
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | MyBatis Mapper接口类名 |
| 2 | MyBatis Mapper方法名 |
| 3 | 数据库表名 |
| 4 | 数据库字段名 |
| 5 | 数据库字段赋值的参数名称 |
| 6 | MyBatis XML文件路径 |
- 文件名
mybatis_ms_table
- 文件说明
使用MySQL时,MyBatis的Mapper接口方法中涉及到的数据库表信息
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | MyBatis Mapper接口类名 |
| 2 | MyBatis Mapper方法名 |
| 3 | sql语句类型 |
| 4 | 数据库表序号 |
| 5 | 数据库表名 |
| 6 | MyBatis XML文件路径 |
- 文件名
mybatis_ms_where_column
- 文件说明
使用MySQL时,MyBatis的XML文件中where子句中的字段与用于比较的参数情况
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | MyBatis Mapper接口类名 |
| 2 | MyBatis Mapper方法名 |
| 3 | 数据库表名 |
| 4 | 数据库字段名 |
| 5 | 数据库字段进行比较的方式 |
| 6 | 数据库字段用于比较的参数名 |
| 7 | 数据库字段用于比较的参数的使用方式,#/$ |
| 8 | MyBatis XML文件路径 |
- 文件名
mybatis_ms_write_table
- 文件说明
使用MySQL时,MyBatis的Mapper接口方法中进行写操作的数据库表信息
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | MyBatis Mapper接口类名 |
| 2 | MyBatis Mapper方法名 |
| 3 | 写操作sql语句类型 |
| 4 | 数据库表名 |
| 5 | MyBatis XML文件路径 |
- 文件名
package_info
- 文件说明
包名信息,包括包名,对应的jar文件序号、jar文件名
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 包名 |
| 2 | 包名层级,等于包名中的.数量+1 |
| 3 | 类所在的jar文件序号 |
| 4 | jar文件名 |
- 文件名
parsed_custom_data
- 文件说明
可按照需要获取其他解析到的数据,写入到数据库表后可读取
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 数据类型,代表当前数据的类型,格式没有限制 |
| 2 | 数据的key,格式没有限制 |
| 3 | 数据内容,格式没有限制 |
- 文件名
properties_conf
- 文件说明
保存properties文件名,及其中的配置参数
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | properties配置文件路径 |
| 2 | properties配置内容是否经过BASE64编码,1:是,0:否 |
| 3 | properties配置名称 |
| 4 | properties配置内容 |
- 文件名
set_method
- 文件说明
dto的set方法的信息,包含对应的字段信息
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 完整类名 |
| 2 | 方法名 |
| 3 | 字段名 |
| 4 | 字段分类,J:JDK中的类型,C:自定义类型,GJ:泛型类型,只涉及JDK中的类型,GC:泛型类型,涉及自定义类型 |
| 5 | 字段类型(不包含数组标志) |
| 6 | 字段数组类型的维度,为0代表不是数组类型 |
| 7 | 完整方法(类名+方法名+参数) |
| 8 | 方法返回类型,包含数组标志 |
- 文件名
set_method_assign_info
- 文件说明
包括通过方法调用的方法参数,及方法返回值传递数据的情况
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | set方法记录id,从1开始 |
| 2 | set方法被调用时的方法调用序号,从1开始 |
| 3 | set方法当前被调用时被赋值情况的序号,从0开始 |
| 4 | set方法当前被调用时被赋值时通过方法调用传递的步骤,从0开始 |
| 5 | 字段关联关系id,从1开始 |
| 6 | 当前的方法调用序号,从1开始 |
| 7 | 调用方,方法hash+字节数 |
| 8 | 调用方,完整方法(类名+方法名+参数) |
| 9 | 调用方法源代码行号 |
| 10 | 被调用方,完整方法(类名+方法名+参数) |
| 11 | set方法hash+字节数 |
| 12 | set方法完整方法(类名+方法名+参数) |
| 13 | set方法是否在超类中,1:是,0:否 |
| 14 | set方法被调用时的赋值情况标志,见 SetMethodAssignFlagEnum 类 |
| 15 | set方法被调用时的赋值情况标志描述 |
| 16 | set方法被调用时的赋值信息 |
| 17 | 是否属于等值转换前的数据,1:是,0:否 |
- 文件名
sf_field_method_call
- 文件说明
static、final字段在初始化时使用方法调用的返回值,保存这些字段及初始化方法的信息
例如: public static final ClassA = new ClassA("test1", "test2");
也支持处理枚举中的字段
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 字段所在的完整类名 |
| 2 | 字段名称 |
| 3 | 序号,从0开始,大于0代表有多种可能 |
| 4 | 字段初始化对应的方法调用序号,从1开始 |
| 5 | 字段类型(不包含数组标志) |
| 6 | 字段数组类型的维度,为0代表不是数组类型 |
| 7 | 初始化方法被调类名 |
| 8 | 初始化方法被调用方法名 |
- 文件名
spring_aop_advice_affected_method
- 文件说明
包括advice信息,及advice影响的方法信息
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 记录id,从1开始 |
| 2 | 类型,j: 在Java代码中定义,x: 在XML文件中定义 |
| 3 | XML中定义的aspect的ID |
| 4 | XML中定义的aspect的方法名 |
| 5 | advice类型 |
| 6 | XML中的pointcut-ref名称 |
| 7 | pointcut表达式 |
| 8 | aspect排序数值 |
| 9 | advice的完整方法 |
| 10 | advice方法的返回类型 |
| 11 | advice方法hash+字节数 |
| 12 | 对应aspect的类名 |
| 13 | 在XML中定义时对应的文件路径 |
| 14 | 底层的pointcut表达式 |
| 15 | 影响的完整方法 |
| 16 | 影响的方法的返回类型 |
| 17 | 影响的方法hash+字节数 |
- 文件名
spring_aop_advice_around
- 文件说明
包括advice Around方法,及调用ProceedingJoinPoint.proceed()方法调用序号
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 记录id,从1开始 |
| 2 | advice的完整方法 |
| 3 | advice方法的返回类型 |
| 4 | advice方法hash+字节数 |
| 5 | 调用ProceedingJoinPoint.proceed()方法调用序号,从1开始 |
- 文件名
spring_aop_advice_java
- 文件说明
包括advice在Java代码中定义时的完整方法、advice注解简单类名、表达式等
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | advice的完整方法 |
| 2 | advice的方法返回类型 |
| 3 | Java代码中定义的advice注解简单类名 |
| 4 | pointcut表达式是否为base64格式 |
| 5 | pointcut表达式 |
| 6 | aspect排序数值 |
- 文件名
spring_aop_advice_xml
- 文件说明
包括XML中定义的aspect的ID、aspect的方法名、advice XML元素的名称表达式、pointcut-ref名称、pointcut表达式、XML文件路径等
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | XML中定义的aspect的ID |
| 2 | XML中定义的aspect的方法名 |
| 3 | XML中定义的advice XML元素的名称 |
| 4 | XML中的pointcut-ref名称 |
| 5 | pointcut表达式是否为base64格式 |
| 6 | pointcut表达式 |
| 7 | aspect排序数值 |
| 8 | XML文件路径 |
- 文件名
spring_aop_aspect_java
- 文件说明
包括aspect在Java代码中定义时所在的类名、aspect排序数值等
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | aspect排序数值 |
| 2 | aspect在Java代码中定义时所在的类名 |
- 文件名
spring_aop_aspect_xml
- 文件说明
包括XML中定义的aspect的ID、对应的Bean名称、aspect排序数值、XML文件路径等
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | XML中定义的aspect的ID |
| 2 | XML中定义的aspect对应的Bean名称 |
| 3 | aspect排序数值 |
| 4 | XML文件路径 |
- 文件名
spring_aop_pointcut_java
- 文件说明
包括pointcut在Java代码中定义的表达式、所在的完整方法等
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | pointcut表达式是否为base64格式 |
| 2 | pointcut表达式 |
| 3 | pointcut在Java代码中定义时所在的完整方法 |
- 文件名
spring_aop_pointcut_xml
- 文件说明
包括XML中定义的pointcut的ID、表达式、XML文件路径等
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | XML中定义的pointcut的ID |
| 2 | pointcut表达式是否为base64格式 |
| 3 | pointcut表达式 |
| 4 | XML文件路径 |
- 文件名
spring_bean
- 文件说明
Spring Bean信息,包括Bean的名称及完整类名
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | Spring Bean的名称 |
| 2 | 序号,从0开始,大于0代表有多种可能 |
| 3 | 完整类名 |
| 4 | profile |
| 5 | Spring Bean的定义方式,j: 在Java代码中定义,x: 在XML文件中定义 |
| 6 | 在Java代码中定义时对应的注解类名 |
| 7 | 在Java代码中定义时所在的类名,或在XML中定义时对应的文件路径 |
- 文件名
spring_controller
- 文件说明
通过类及方法注解定义的Spring Controller信息,包括对应的方法、Controller的URI
方法可能用于文件上传字段,通过方法请求参数判断
方法可能用于文件下载字段,通过方法请求参数与返回类型判断
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 记录id,从1开始 |
| 2 | 方法hash+字节数 |
| 3 | 序号,从0开始,大于0代表有多种可能 |
| 4 | 用于显示的URI |
| 5 | 类上的注解path属性原始值 |
| 6 | 方法上的注解path属性原始值 |
| 7 | 注解类名 |
| 8 | 唯一类名 |
| 9 | 方法所在的jar文件序号 |
| 10 | 方法可能用于文件上传,1:是,0:否 |
| 11 | 方法可能用于文件下载,1:是,0:否 |
| 12 | 完整方法(类名+方法名+参数) |
| 13 | 方法返回类型,包含数组标志 |
- 文件名
spring_scan_package_java
- 文件说明
包括Spring的包扫描路径、定义Spring包扫描路径的类名
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 包扫描路径类型,j: 在Java代码中定义,x: 在XML文件中定义;dist: 按范围去重后的包扫描路径 |
| 2 | 序号,从0开始,大于0代表有多种可能 |
| 3 | 包扫描路径 |
| 4 | 在Java代码中定义时所在的类名,或在XML中定义时对应的文件路径 |
- 文件名
spring_scan_package_xml
- 文件说明
包括Spring的包扫描路径、XML文件路径
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 包扫描路径类型,j: 在Java代码中定义,x: 在XML文件中定义;dist: 按范围去重后的包扫描路径 |
| 2 | 序号,从0开始,大于0代表有多种可能 |
| 3 | 包扫描路径 |
| 4 | 在Java代码中定义时所在的类名,或在XML中定义时对应的文件路径 |
- 文件名
spring_task_java
- 文件说明
包括Spring Bean的名称、对应的方法详情信息
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | 记录id,从1开始 |
| 2 | 方法hash+字节数 |
| 3 | Spring Bean的名称 |
| 4 | 完整类名 |
| 5 | 方法名 |
| 6 | 类型,j: 在Java代码中定义,x: 在XML文件中定义 |
| 7 | 完整方法(类名+方法名+参数) |
| 8 | 方法返回类型,包含数组标志 |
| 9 | 在Java代码中定义时所在的类名,或在XML中定义时对应的文件路径 |
- 文件名
spring_task_xml
- 文件说明
包括Spring定时任务Bean的名称及方法名、XML文件路径
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | Spring Bean的名称 |
| 2 | 方法名 |
| 3 | 在Java代码中定义时所在的类名,或在XML中定义时对应的文件路径 |
- 文件名
xml_conf
- 文件说明
保存XML文件名,及其中的元素和属性
- 文件各列内容说明
| 序号 | 说明 |
|---|---|
| 1 | XML配置文件路径 |
| 2 | XML文件名 |
| 3 | XML文件序号 |
| 4 | 元素序号 |
| 5 | 父元素序号 |
| 6 | 所在元素序号 |
| 7 | 类型(e:元素,ev:元素值,eav:元素属性值) |
| 8 | 嵌套的元素名称 |
| 9 | 当前的元素名称 |
| 10 | 当前的元素属性名称 |
| 11 | 元素值是否经过BASE64编码,1:是,0:否 |
| 12 | 当前的元素值或元素属性值 |