1#!/usr/bin/env python 2# -*- coding: utf-8 -*- 3# Copyright (c) 2023 Huawei Device Co., Ltd. 4# Licensed under the Apache License, Version 2.0 (the "License"); 5# you may not use this file except in compliance with the License. 6# You may obtain a copy of the License at 7# 8# http://www.apache.org/licenses/LICENSE-2.0 9# 10# Unless required by applicable law or agreed to in writing, software 11# distributed under the License is distributed on an "AS IS" BASIS, 12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13# See the License for the specific language governing permissions and 14# limitations under the License. 15 16import enum 17 18operation_mark_dict = { 19 'ADD_FILE': '新增文件', 20 'REDUCE_FILE': '删除文件', 21 'ADD_API': '新增API', 22 'REDUCE_API': '删除API', 23 'ADD_DOC': '增加doc', 24 'REDUCE_DOC': '删除doc', 25 'ADD_DOC_TAG': '增加注释标签', 26 'REDUCE_DOC_TAG': '删除注释标签', 27 'FUNCTION_PARAM_POS_CHANGE': '函数参数位置改变', 28 29 'DEFINE_NAME_CHANGE': '修改宏名', 30 'DEFINE_TEXT_CHANGE': '修改宏文本', 31 32 'FUNCTION_NAME_CHANGE': '修改函数名', 33 'FUNCTION_RETURN_CHANGE': '修改函数返回值', 34 'FUNCTION_PARAM_NAME_CHANGE': '修改函数参数名', 35 'FUNCTION_PARAM_TYPE_CHANGE': '修改函数参数类型', 36 'FUNCTION_PARAM_ADD': '增加函数参数', 37 'FUNCTION_PARAM_REDUCE': '删除函数参数', 38 39 'STRUCT_NAME_CHANGE': '修改结构体名', 40 'STRUCT_MEMBER_NAME_CHANGE': '修改结构体成员名', 41 'STRUCT_MEMBER_TYPE_CHANGE': '修改结构体成员类型', 42 'STRUCT_MEMBER_ADD': '增加结构体成员', 43 'STRUCT_MEMBER_REDUCE': '删除结构体成员', 44 45 'UNION_NAME_CHANGE': '修改联合体名', 46 'UNION_MEMBER_NAME_CHANGE': '修改联合体成员名', 47 'UNION_MEMBER_TYPE_CHANGE': '修改联合体成员类型', 48 'UNION_MEMBER_ADD': '增加联合体成员', 49 'UNION_MEMBER_REDUCE': '删除联合体成员', 50 51 'ENUM_NAME_CHANGE': '修改枚举名', 52 'ENUM_MEMBER_NAME_CHANGE': '修改枚举成员名', 53 'ENUM_MEMBER_VALUE_CHANGE': '修改枚举值', 54 'ENUM_MEMBER_ADD': '增加枚举成员', 55 'ENUM_MEMBER_REDUCE': '删除枚举成员', 56 57 'VARIABLE_NAME_CHANGE': '修改变量名', 58 'VARIABLE_TYPE_CHANGE': '修改变量类型', 59 'VARIABLE_VALUE_CHANGE': '修改变量值', 60 'VARIABLE_CHANGE_TO_CONSTANT': '修改变量为常量', 61 62 'CONSTANT_NAME_CHANGE': '修改常量名', 63 'CONSTANT_TYPE_CHANGE': '修改常量类型', 64 'CONSTANT_VALUE_CHANGE': '修改常量值', 65 'CONSTANT_CHANGE_TO_VARIABLE': '修改常量为变量', 66 67 'TYPEDEF_NAME_TYPE_CHANGE': '修改重命名的名', 68 69 'DOC_TAG_ADDTOGROUP_NA_TO_HAVE': '增加addtogroup标签', 70 'DOC_TAG_ADDTOGROUP_HAVE_TO_NA': '删除addtogroup标签', 71 'DOC_TAG_ADDTOGROUP_A_TO_B': '修改addtogroup标签', 72 'DOC_TAG_BRIEF_NA_TO_HAVE': '增加brief标签', 73 'DOC_TAG_BRIEF_HAVE_TO_NA': '删除brief标签', 74 'DOC_TAG_BRIEF_A_TO_B': '修改brief标签', 75 'DOC_TAG_DEPRECATED_NA_TO_HAVE': '增加deprecated标签', 76 'DOC_TAG_DEPRECATED_HAVE_TO_NA': '删除deprecated标签', 77 'DOC_TAG_DEPRECATED_A_TO_B': '修改deprecated标签', 78 'DOC_TAG_FILE_NA_TO_HAVE': '增加file标签', 79 'DOC_TAG_FILE_HAVE_TO_NA': '删除file标签', 80 'DOC_TAG_FILE_A_TO_B': '修改file标签', 81 'DOC_TAG_LIBRARY_NA_TO_HAVE': '增加library标签', 82 'DOC_TAG_LIBRARY_HAVE_TO_NA': '删除library标签', 83 'DOC_TAG_LIBRARY_A_TO_B': '修改library标签', 84 'DOC_TAG_PARAM_NA_TO_HAVE': '增加param标签', 85 'DOC_TAG_PARAM_HAVE_TO_NA': '删除param标签', 86 'DOC_TAG_PARAM_NAME_A_TO_B': '修改param标签', 87 'DOC_TAG_PARAM_A_TO_B': '修改param标签值', 88 'DOC_TAG_PERMISSION_NA_TO_HAVE': '增加permission标签', 89 'DOC_TAG_PERMISSION_HAVE_TO_NA': '删除permission标签', 90 'DOC_TAG_PERMISSION_RANGE_BIGGER': '权限变大', 91 'DOC_TAG_PERMISSION_RANGE_SMALLER': '权限变小', 92 'DOC_TAG_PERMISSION_RANGE_CHANGE': '修改权限', 93 'DOC_TAG_SINCE_NA_TO_HAVE': '增加since标签', 94 'DOC_TAG_SINCE_HAVE_TO_NA': '删除since标签', 95 'DOC_TAG_SINCE_A_TO_B': '修改since标签', 96 'DOC_TAG_SYSCAP_NA_TO_HAVE': '增加syscap标签', 97 'DOC_TAG_SYSCAP_HAVE_TO_NA': '删除syscap标签', 98 'DOC_TAG_SYSCAP_A_TO_B': '修改syscap标签', 99 'DOC_TAG_LEFT_BRACE_NA_TO_HAVE': '增加{标签', 100 'DOC_TAG_LEFT_BRACE_HAVE_TO_NA': '删除{标签', 101 'DOC_TAG_RIGHT_BRACE_NA_TO_HAVE': '增加}标签', 102 'DOC_TAG_RIGHT_BRACE_HAVE_TO_NA': '删除}标签', 103 'DOC_TAG_ADDTOGROUP_INCREASE': '文件有addtogroup标签, 增加addtogroup标签', 104 'DOC_TAG_ADDTOGROUP_DECREASE': '文件有多个addtogroup标签,删除addtogroup标签', 105 'DOC_TAG_FILE_INCREASE': '文件有file标签, 增加file标签', 106 'DOC_TAG_FILE_DECREASE': '文件有多个file标签,删除file标签', 107} 108 109 110class Scene(enum.Enum): 111 FUNCTION_DECL = 'FUNCTION_DECL' 112 MACRO_DEFINITION = 'MACRO_DEFINITION' 113 STRUCT_DECL = 'STRUCT_DECL' 114 UNION_DECL = 'UNION_DECL' 115 ENUM_DECL = 'ENUM_DECL' 116 VAR_DECL = 'VAR_DECL' 117 TYPEDEF_DECL = 'TYPEDEF_DECL' 118 TRANSLATION_UNIT = 'TRANSLATION_UNIT' 119 120 121class TAGS(enum.Enum): 122 ADD_TO_GROUP = 'addtogroup' 123 BRIEF = 'brief' 124 DEPRECATED = 'deprecated' 125 FILE = 'file' 126 LIBRARY = 'library' 127 PARAM = 'param' 128 PERMISSION = 'permission' 129 RETURN = 'return' 130 SINCE = 'since' 131 SYSCAP = 'syscap' 132 LEFT_BRACE = '{' 133 RIGHT_BRACE = '}' 134 135 136class DiffType(enum.Enum): 137 DEFAULT = '' 138 ADD_FILE = 'add file' 139 REDUCE_FILE = 'delete file' 140 ADD_API = 'add api' 141 REDUCE_API = 'delete api' 142 ADD_DOC = 'add doc' 143 REDUCE_DOC = 'delete doc' 144 ADD_DOC_TAG = 'add doc tag' 145 REDUCE_DOC_TAG = 'delete doc tag' 146 FUNCTION_PARAM_POS_CHANGE = 'change param site in function' 147 148 DEFINE_NAME_CHANGE = 'change define name' 149 DEFINE_TEXT_CHANGE = 'change define text' 150 151 FUNCTION_NAME_CHANGE = 'change function name' 152 FUNCTION_RETURN_CHANGE = 'change function return value' 153 FUNCTION_PARAM_NAME_CHANGE = 'change param name in function' 154 FUNCTION_PARAM_TYPE_CHANGE = 'change param type in function' 155 FUNCTION_PARAM_ADD = 'add param in function' 156 FUNCTION_PARAM_REDUCE = 'delete param in function' 157 158 STRUCT_NAME_CHANGE = 'change struct name' 159 STRUCT_MEMBER_NAME_CHANGE = 'change member name in struct' 160 STRUCT_MEMBER_TYPE_CHANGE = 'change member type in struct' 161 STRUCT_MEMBER_ADD = 'add member in struct' 162 STRUCT_MEMBER_REDUCE = 'delete member in struct' 163 164 UNION_NAME_CHANGE = 'change union name' 165 UNION_MEMBER_NAME_CHANGE = 'change member name in union' 166 UNION_MEMBER_TYPE_CHANGE = 'change member type in union' 167 UNION_MEMBER_ADD = 'add member in union' 168 UNION_MEMBER_REDUCE = 'delete member in union' 169 170 ENUM_NAME_CHANGE = 'change enum name' 171 ENUM_MEMBER_NAME_CHANGE = 'change member name in enum' 172 ENUM_MEMBER_VALUE_CHANGE = 'change member value in enum' 173 ENUM_MEMBER_ADD = 'add member in enum' 174 ENUM_MEMBER_REDUCE = 'delete member in enum' 175 176 VARIABLE_NAME_CHANGE = 'change variable name' 177 VARIABLE_TYPE_CHANGE = 'change variable type' 178 VARIABLE_VALUE_CHANGE = 'change variable value' 179 VARIABLE_CHANGE_TO_CONSTANT = 'change variable to constant' 180 181 CONSTANT_NAME_CHANGE = 'change constant name' 182 CONSTANT_TYPE_CHANGE = 'change constant type' 183 CONSTANT_VALUE_CHANGE = 'change constant value' 184 CONSTANT_CHANGE_TO_VARIABLE = 'change constant to variable' 185 186 TYPEDEF_NAME_TYPE_CHANGE = 'change typedef name type' 187 188 DOC_TAG_ADDTOGROUP_NA_TO_HAVE = 'add addtogroup tag' 189 DOC_TAG_ADDTOGROUP_HAVE_TO_NA = 'delete addtogroup tag' 190 DOC_TAG_ADDTOGROUP_A_TO_B = 'change addtogroup tag' 191 DOC_TAG_BRIEF_NA_TO_HAVE = 'add brief tag' 192 DOC_TAG_BRIEF_HAVE_TO_NA = 'delete brief tag' 193 DOC_TAG_BRIEF_A_TO_B = 'change brief tag' 194 DOC_TAG_DEPRECATED_NA_TO_HAVE = 'add deprecated tag' 195 DOC_TAG_DEPRECATED_HAVE_TO_NA = 'delete deprecated tag' 196 DOC_TAG_DEPRECATED_A_TO_B = 'change deprecated tag' 197 DOC_TAG_FILE_NA_TO_HAVE = 'add file tag' 198 DOC_TAG_FILE_HAVE_TO_NA = 'delete file tag' 199 DOC_TAG_FILE_A_TO_B = 'change file tag' 200 DOC_TAG_LIBRARY_NA_TO_HAVE = 'add library tag' 201 DOC_TAG_LIBRARY_HAVE_TO_NA = 'delete library tag' 202 DOC_TAG_LIBRARY_A_TO_B = 'change library tag' 203 DOC_TAG_PARAM_NA_TO_HAVE = 'add param tag' 204 DOC_TAG_PARAM_HAVE_TO_NA = 'delete param tag' 205 DOC_TAG_PARAM_NAME_A_TO_B = 'change param tag name' 206 DOC_TAG_PARAM_A_TO_B = 'change param tag value' 207 DOC_TAG_PERMISSION_NA_TO_HAVE = 'add permission tag' 208 DOC_TAG_PERMISSION_HAVE_TO_NA = 'delete permission tag' 209 DOC_TAG_PERMISSION_RANGE_BIGGER = 'increased permissions, ex: add "or" or remove "and"' 210 DOC_TAG_PERMISSION_RANGE_SMALLER = 'reduced permissions, ex: add "and" or remove "or"' 211 DOC_TAG_PERMISSION_RANGE_CHANGE = 'change permissions, before not included after and after not included before' 212 DOC_TAG_SINCE_NA_TO_HAVE = 'add since tag' 213 DOC_TAG_SINCE_HAVE_TO_NA = 'delete since tag' 214 DOC_TAG_SINCE_A_TO_B = 'change since tag' 215 DOC_TAG_SYSCAP_NA_TO_HAVE = 'add syscap tag' 216 DOC_TAG_SYSCAP_HAVE_TO_NA = 'delete syscap tag' 217 DOC_TAG_SYSCAP_A_TO_B = 'change syscap tag' 218 DOC_TAG_LEFT_BRACE_NA_TO_HAVE = 'add { tag' 219 DOC_TAG_LEFT_BRACE_HAVE_TO_NA = 'delete { tag' 220 DOC_TAG_RIGHT_BRACE_NA_TO_HAVE = 'add } tag' 221 DOC_TAG_RIGHT_BRACE_HAVE_TO_NA = 'delete } tag' 222 DOC_TAG_ADDTOGROUP_INCREASE = 'The file has addtogroup tag, add the addtogroup tag' 223 DOC_TAG_ADDTOGROUP_DECREASE = 'The file has multiple addtogroup tags. Delete the addtogroup tag' 224 DOC_TAG_FILE_INCREASE = 'The file has file tag, add the file tag' 225 DOC_TAG_FILE_DECREASE = 'The file has multiple file tags. Delete the file tag' 226 227 228compatible_list = [ 229 DiffType.ADD_API, 230 DiffType.ADD_DOC, 231 DiffType.ADD_DOC_TAG, 232 DiffType.FUNCTION_PARAM_NAME_CHANGE, 233 DiffType.DOC_TAG_ADDTOGROUP_NA_TO_HAVE, 234 DiffType.DOC_TAG_ADDTOGROUP_HAVE_TO_NA, 235 DiffType.DOC_TAG_ADDTOGROUP_A_TO_B, 236 DiffType.DOC_TAG_BRIEF_NA_TO_HAVE, 237 DiffType.DOC_TAG_BRIEF_HAVE_TO_NA, 238 DiffType.DOC_TAG_BRIEF_A_TO_B, 239 DiffType.DOC_TAG_DEPRECATED_NA_TO_HAVE, 240 DiffType.DOC_TAG_DEPRECATED_HAVE_TO_NA, 241 DiffType.DOC_TAG_DEPRECATED_A_TO_B, 242 DiffType.DOC_TAG_FILE_NA_TO_HAVE, 243 DiffType.DOC_TAG_FILE_HAVE_TO_NA, 244 DiffType.DOC_TAG_FILE_A_TO_B, 245 DiffType.DOC_TAG_PARAM_A_TO_B, 246 DiffType.DOC_TAG_PERMISSION_HAVE_TO_NA, 247 DiffType.DOC_TAG_PERMISSION_RANGE_BIGGER, 248 DiffType.DOC_TAG_SINCE_NA_TO_HAVE, 249 DiffType.DOC_TAG_SINCE_A_TO_B, 250 DiffType.DOC_TAG_LEFT_BRACE_NA_TO_HAVE, 251 DiffType.DOC_TAG_LEFT_BRACE_HAVE_TO_NA, 252 DiffType.DOC_TAG_RIGHT_BRACE_NA_TO_HAVE, 253 DiffType.DOC_TAG_RIGHT_BRACE_HAVE_TO_NA, 254 DiffType.DOC_TAG_ADDTOGROUP_DECREASE, 255 DiffType.DOC_TAG_ADDTOGROUP_INCREASE, 256 DiffType.DOC_TAG_FILE_DECREASE, 257 DiffType.DOC_TAG_FILE_INCREASE 258] 259 260api_new_list = [DiffType.ADD_API] 261 262api_delete_list = [DiffType.REDUCE_API] 263 264non_api_change_list = [ 265 DiffType.ADD_DOC, 266 DiffType.REDUCE_DOC, 267 DiffType.ADD_DOC_TAG, 268 DiffType.REDUCE_DOC_TAG 269] 270 271api_prototype_change_list = [ 272 DiffType.DEFINE_NAME_CHANGE, 273 DiffType.DEFINE_TEXT_CHANGE, 274 DiffType.FUNCTION_PARAM_POS_CHANGE, 275 DiffType.FUNCTION_NAME_CHANGE, 276 DiffType.FUNCTION_RETURN_CHANGE, 277 DiffType.FUNCTION_PARAM_NAME_CHANGE, 278 DiffType.FUNCTION_PARAM_TYPE_CHANGE, 279 DiffType.FUNCTION_PARAM_REDUCE, 280 DiffType.FUNCTION_PARAM_ADD, 281 DiffType.STRUCT_NAME_CHANGE, 282 DiffType.STRUCT_MEMBER_TYPE_CHANGE, 283 DiffType.STRUCT_MEMBER_NAME_CHANGE, 284 DiffType.STRUCT_MEMBER_ADD, 285 DiffType.STRUCT_MEMBER_REDUCE, 286 DiffType.UNION_MEMBER_TYPE_CHANGE, 287 DiffType.UNION_MEMBER_NAME_CHANGE, 288 DiffType.UNION_NAME_CHANGE, 289 DiffType.UNION_MEMBER_ADD, 290 DiffType.UNION_MEMBER_REDUCE, 291 DiffType.ENUM_NAME_CHANGE, 292 DiffType.ENUM_MEMBER_NAME_CHANGE, 293 DiffType.ENUM_MEMBER_VALUE_CHANGE, 294 DiffType.ENUM_MEMBER_ADD, 295 DiffType.ENUM_MEMBER_REDUCE, 296 DiffType.VARIABLE_NAME_CHANGE, 297 DiffType.VARIABLE_TYPE_CHANGE, 298 DiffType.VARIABLE_VALUE_CHANGE, 299 DiffType.VARIABLE_CHANGE_TO_CONSTANT, 300 DiffType.CONSTANT_NAME_CHANGE, 301 DiffType.CONSTANT_TYPE_CHANGE, 302 DiffType.CONSTANT_VALUE_CHANGE, 303 DiffType.CONSTANT_CHANGE_TO_VARIABLE, 304 DiffType.TYPEDEF_NAME_TYPE_CHANGE 305] 306 307api_constraint_change_list = [ 308 DiffType.DOC_TAG_ADDTOGROUP_NA_TO_HAVE, 309 DiffType.DOC_TAG_ADDTOGROUP_HAVE_TO_NA, 310 DiffType.DOC_TAG_ADDTOGROUP_A_TO_B, 311 DiffType.DOC_TAG_BRIEF_NA_TO_HAVE, 312 DiffType.DOC_TAG_BRIEF_HAVE_TO_NA, 313 DiffType.DOC_TAG_BRIEF_A_TO_B, 314 DiffType.DOC_TAG_DEPRECATED_NA_TO_HAVE, 315 DiffType.DOC_TAG_DEPRECATED_HAVE_TO_NA, 316 DiffType.DOC_TAG_DEPRECATED_A_TO_B, 317 DiffType.DOC_TAG_FILE_NA_TO_HAVE, 318 DiffType.DOC_TAG_FILE_HAVE_TO_NA, 319 DiffType.DOC_TAG_FILE_A_TO_B, 320 DiffType.DOC_TAG_LIBRARY_NA_TO_HAVE, 321 DiffType.DOC_TAG_LIBRARY_HAVE_TO_NA, 322 DiffType.DOC_TAG_LIBRARY_A_TO_B, 323 DiffType.DOC_TAG_PARAM_NA_TO_HAVE, 324 DiffType.DOC_TAG_PARAM_HAVE_TO_NA, 325 DiffType.DOC_TAG_PARAM_NAME_A_TO_B, 326 DiffType.DOC_TAG_PARAM_A_TO_B, 327 DiffType.DOC_TAG_PERMISSION_NA_TO_HAVE, 328 DiffType.DOC_TAG_PERMISSION_HAVE_TO_NA, 329 DiffType.DOC_TAG_PERMISSION_RANGE_BIGGER, 330 DiffType.DOC_TAG_PERMISSION_RANGE_SMALLER, 331 DiffType.DOC_TAG_PERMISSION_RANGE_CHANGE, 332 DiffType.DOC_TAG_SINCE_NA_TO_HAVE, 333 DiffType.DOC_TAG_SINCE_A_TO_B, 334 DiffType.DOC_TAG_SYSCAP_NA_TO_HAVE, 335 DiffType.DOC_TAG_SYSCAP_HAVE_TO_NA, 336 DiffType.DOC_TAG_SYSCAP_A_TO_B, 337 DiffType.DOC_TAG_LEFT_BRACE_NA_TO_HAVE, 338 DiffType.DOC_TAG_LEFT_BRACE_HAVE_TO_NA, 339 DiffType.DOC_TAG_RIGHT_BRACE_NA_TO_HAVE, 340 DiffType.DOC_TAG_RIGHT_BRACE_HAVE_TO_NA, 341 DiffType.DOC_TAG_ADDTOGROUP_DECREASE, 342 DiffType.DOC_TAG_ADDTOGROUP_INCREASE, 343 DiffType.DOC_TAG_FILE_DECREASE, 344 DiffType.DOC_TAG_FILE_INCREASE 345] 346 347api_modification_type_dict = { 348 'api_new_list': 'API新增', 349 'api_delete_list': 'API删除', 350 'non_api_change_list': '非API变更', 351 'api_prototype_change_list': 'API修改(原型修改)', 352 'api_constraint_change_list': 'API修改(约束变化)' 353} 354 355 356class ApiInfo: 357 is_api_change = False 358 359 def set_is_api_change(self, is_api_change): 360 self.is_api_change = is_api_change 361 362 def get_is_api_change(self): 363 return self.is_api_change 364 365 366class DiffInfo: 367 api_name: str = '' 368 api_type: str = '' 369 diff_type: DiffType = DiffType.DEFAULT 370 diff_message: str = '' 371 old_api_full_text: str = '' 372 new_api_full_text: str = '' 373 api_line: int = 0 374 api_column: int = 0 375 api_file_path: str = '' 376 is_compatible = False 377 is_api_change = False 378 api_modification_type = '' 379 kit_name = '' 380 sub_system = '' 381 class_name = '' 382 api_node_name = '' 383 unique_id = '' 384 current_api_unique_id = '' 385 is_system_api = False 386 operation_diff_type: str = '' 387 old_differ_content: str = '' 388 new_differ_content: str = '' 389 390 def __init__(self, diff_type: DiffType, old_differ_content, new_differ_content): 391 self.diff_type = diff_type 392 self.diff_message = diff_type.value 393 self.set_diff_type(diff_type) 394 self.set_api_modification_type(diff_type) 395 self.set_operation_diff_type(diff_type) 396 self.old_differ_content = old_differ_content 397 self.new_differ_content = new_differ_content 398 399 def set_api_line(self, api_line): 400 self.api_line = api_line 401 402 def get_api_line(self): 403 return self.api_line 404 405 def set_api_column(self, api_column): 406 self.api_column = api_column 407 408 def get_api_column(self): 409 return self.api_column 410 411 def set_api_file_path(self, api_file_path): 412 self.api_file_path = api_file_path 413 414 def get_api_file_path(self): 415 return self.api_file_path 416 417 def set_api_name(self, api_name): 418 self.api_name = api_name 419 420 def get_api_name(self): 421 return self.api_name 422 423 def set_api_type(self, api_type): 424 self.api_type = api_type 425 426 def get_api_type(self): 427 return self.api_type 428 429 def set_diff_type(self, diff_type): 430 if diff_type in compatible_list: 431 self.is_compatible = True 432 self.diff_type = diff_type 433 434 def get_diff_type(self): 435 return self.diff_type 436 437 def set_diff_message(self, diff_message): 438 self.diff_message = diff_message 439 440 def get_diff_message(self): 441 return self.diff_message 442 443 def set_old_api_full_text(self, old_api_full_text): 444 self.old_api_full_text = old_api_full_text 445 446 def get_old_api_full_text(self): 447 return self.old_api_full_text 448 449 def set_new_api_full_text(self, new_api_full_text): 450 self.new_api_full_text = new_api_full_text 451 452 def get_new_api_full_text(self): 453 return self.new_api_full_text 454 455 def set_is_compatible(self, is_compatible): 456 self.is_compatible = is_compatible 457 458 def get_is_compatible(self): 459 return self.is_compatible 460 461 def set_is_api_change(self, is_api_change): 462 self.is_api_change = is_api_change 463 464 def get_is_api_change(self): 465 return self.is_api_change 466 467 def set_api_modification_type(self, diff_type): 468 if diff_type in api_new_list: 469 self.api_modification_type = api_modification_type_dict.get('api_new_list') 470 elif diff_type in api_delete_list: 471 self.api_modification_type = api_modification_type_dict.get('api_delete_list') 472 elif diff_type in non_api_change_list: 473 self.api_modification_type = api_modification_type_dict.get('non_api_change_list') 474 elif diff_type in api_prototype_change_list: 475 self.api_modification_type = api_modification_type_dict.get('api_prototype_change_list') 476 elif diff_type in api_constraint_change_list: 477 self.api_modification_type = api_modification_type_dict.get('api_constraint_change_list') 478 479 def get_api_modification_type(self): 480 return self.api_modification_type 481 482 def set_kit_name(self, kit_name): 483 self.kit_name = kit_name 484 485 def get_kit_name(self): 486 return self.kit_name 487 488 def set_sub_system(self, sub_system): 489 self.sub_system = sub_system 490 491 def get_sub_system(self): 492 return self.sub_system 493 494 def set_class_name(self, class_name): 495 self.class_name = class_name 496 497 def get_class_name(self): 498 return self.class_name 499 500 def set_api_node_name(self, api_node_name): 501 self.api_node_name = api_node_name 502 503 def get_api_node_name(self): 504 return self.api_node_name 505 506 def set_unique_id(self, unique_id): 507 self.unique_id = unique_id 508 509 def get_unique_id(self): 510 return self.unique_id 511 512 def set_current_api_unique_id(self, current_api_unique_id): 513 self.current_api_unique_id = current_api_unique_id 514 515 def get_current_api_unique_id(self): 516 return self.current_api_unique_id 517 518 def set_is_system_api(self, is_system_api): 519 self.is_system_api = is_system_api 520 521 def get_is_system_api(self): 522 return self.is_system_api 523 524 def set_operation_diff_type(self, diff_type): 525 if diff_type.name in operation_mark_dict: 526 self.operation_diff_type = operation_mark_dict.get(diff_type.name) 527 528 def get_operation_diff_type(self): 529 return self.operation_diff_type 530 531 def set_old_differ_content(self, old_differ_content): 532 self.old_differ_content = old_differ_content 533 534 def get_old_differ_content(self): 535 return self.old_differ_content 536 537 def set_new_differ_content(self, new_differ_content): 538 self.new_differ_content = new_differ_content 539 540 def get_new_differ_content(self): 541 return self.new_differ_content 542 543 544class OutputJson: 545 api_name: str = '' 546 api_type: str = '' 547 diff_type: str = '' 548 diff_message: str = '' 549 old_api_full_text: str = '' 550 new_api_full_text: str = '' 551 api_line: int = 0 552 api_column: int = 0 553 api_file_path: str = '' 554 is_compatible = False 555 is_api_change = False 556 api_modification_type = '' 557 kit_name = '' 558 sub_system = '' 559 class_name = '' 560 unique_id = '' 561 is_system_api = False 562 563 def __init__(self, diff_info): 564 self.api_name = diff_info.api_name 565 self.api_type = diff_info.api_type 566 self.diff_type = diff_info.operation_diff_type 567 self.diff_message = diff_info.diff_message 568 self.old_api_full_text = diff_info.old_api_full_text 569 self.new_api_full_text = diff_info.new_api_full_text 570 self.api_line = diff_info.api_line 571 self.api_column = diff_info.api_column 572 self.api_file_path = diff_info.api_file_path 573 self.is_compatible = diff_info.is_compatible 574 self.is_api_change = diff_info.is_api_change 575 self.api_modification_type = diff_info.api_modification_type 576 self.kit_name = diff_info.kit_name 577 self.sub_system = diff_info.sub_system 578 self.class_name = diff_info.class_name 579 self.unique_id = diff_info.unique_id 580 self.is_system_api = diff_info.is_system_api 581 582 583class ApiChangeData: 584 api_name: str = '' 585 kit_name: str = '' 586 sub_system: str = '' 587 is_api_change = False 588 class_name: str = '' 589 diff_type: str = '' 590 change_type: str = '' 591 compatible = {} 592 change_num = {} 593 old_all_text: str = '' 594 new_all_text: str = '' 595 compatible_total = False 596 unique_id: str = '' 597 is_system_api = False 598 599 def set_api_name(self, api_name): 600 self.api_name = api_name 601 602 def get_api_name(self): 603 return self.api_name 604 605 def set_kit_name(self, kit_name): 606 self.kit_name = kit_name 607 608 def get_kit_name(self): 609 return self.kit_name 610 611 def set_sub_system(self, sub_system): 612 self.sub_system = sub_system 613 614 def get_sub_system(self): 615 return self.sub_system 616 617 def set_is_api_change(self, is_api_change): 618 self.is_api_change = is_api_change 619 620 def get_is_api_change(self): 621 return self.is_api_change 622 623 def set_class_name(self, class_name): 624 self.class_name = class_name 625 626 def get_class_name(self): 627 return self.class_name 628 629 def set_diff_type(self, diff_type): 630 self.diff_type = diff_type 631 632 def get_diff_type(self): 633 return self.diff_type 634 635 def set_change_type(self, change_type): 636 self.change_type = change_type 637 638 def get_change_type(self): 639 return self.change_type 640 641 def set_compatible(self, compatible): 642 self.compatible = compatible 643 644 def get_compatible(self): 645 return self.compatible 646 647 def set_change_num(self, change_num): 648 self.change_num = change_num 649 650 def get_change_num(self): 651 return self.change_num 652 653 def set_old_all_text(self, old_all_text): 654 self.old_all_text = old_all_text 655 656 def get_old_all_text(self): 657 return self.old_all_text 658 659 def set_new_all_text(self, new_all_text): 660 self.new_all_text = new_all_text 661 662 def get_new_all_text(self): 663 return self.new_all_text 664 665 def set_compatible_total(self, compatible_total): 666 self.compatible_total = compatible_total 667 668 def get_compatible_total(self): 669 return self.compatible_total 670 671 def set_unique_id(self, unique_id): 672 self.unique_id = unique_id 673 674 def get_unique_id(self): 675 return self.unique_id 676 677 def set_is_system_api(self, is_system_api): 678 self.is_system_api = is_system_api 679 680 def get_is_system_api(self): 681 return self.is_system_api 682