fix:修复同名函数误比较问题

Signed-off-by: wangqing <wangqing136@huawei.com>
This commit is contained in:
wangqing 2023-09-25 11:37:58 +08:00
parent fe865ec83c
commit 99cd657e96
10 changed files with 51 additions and 184 deletions

View File

@ -151,7 +151,7 @@ function getSycap(api) {
}
while (curApi && !ts.isSourceFile(curApi.node)) {
const jsdoc = curApi.jsdoc ? curApi.jsdoc[curApi.jsdoc.length - 1] : [];
if (!jsdoc) {
return syscap;
}
@ -161,7 +161,7 @@ function getSycap(api) {
const tagInfo = jsdocTagItem[i];
if (tagInfo.tag === 'syscap') {
syscap = tagInfo.name;
}
}
}
if (syscap) {
@ -237,9 +237,24 @@ function collectApiDiffFromApiNameMap(oldSignatureMap, apiName, newClassMap, ext
} else {
const newSignatureMap = newClassMap.get(apiName);
const sameApiNameNumber = oldSignatureMap.size;
const sameSignatureSet = new Set();
oldSignatureMap.forEach((oldApis, apiSignautre) => {
collectApiDiffFromApiSignatureMap(oldApis, apiSignautre, newSignatureMap, ext, sameApiNameNumber);
collectApiDiffFromApiSignatureMap(oldApis, apiSignautre, newSignatureMap, ext, sameApiNameNumber, sameSignatureSet);
});
sameSignatureSet.forEach(sameSignature => {
oldSignatureMap.delete(sameSignature);
})
oldSignatureMap.forEach((oldApis, _) => {
if (newSignatureMap.size === 0) {
// 同名函数,方法被删除
ext.diffReporter.addDeletedApi(oldApis[0], getSycap(oldApis[0]));
} else {
getFunctionDiff(oldApis, newSignatureMap, ext, sameApiNameNumber);
}
});
}
}
@ -270,13 +285,12 @@ function collectClassApiDiffs(oldClassApi, newClassApi, ext) {
* @param {Object} ext 扩展参数
* @param {number} sameApiNameNumber 名字相同的API个数
*/
function collectApiDiffFromApiSignatureMap(oldApis, apiSignautre, newClassMap, ext, sameApiNameNumber) {
function collectApiDiffFromApiSignatureMap(oldApis, apiSignautre, newClassMap, ext, sameApiNameNumber, sameSignatureSet) {
if (newClassMap.has(apiSignautre)) {
const newApis = newClassMap.get(apiSignautre);
collectJSDocDiffs(oldApis[0], newApis[0], ext.diffReporter);
newClassMap.delete(apiSignautre);
} else {
getFunctionDiff(oldApis, newClassMap, ext, sameApiNameNumber);
sameSignatureSet.add(apiSignautre);
}
}

View File

@ -21,24 +21,10 @@
"dtsPath": "api/api_change_001.d.ts",
"hint": "",
"changelogs": [],
"statusCode": 0,
"status": "删除",
"oldMessage": "",
"newMessage": "",
"syscap": "Customization"
},
{
"packageName": "api\\api_change_001.d.ts",
"className": "networkManager",
"rawText": "function getIpAddress(admin: Wan, networkInterface: string, callback: AsyncCallback<string>): void;",
"dtsName": "api_change_001.d.ts",
"dtsPath": "api/api_change_001.d.ts",
"hint": "",
"changelogs": [],
"statusCode": 3,
"status": "新增",
"oldMessage": "",
"newMessage": "",
"statusCode": 16,
"status": "函数有变化",
"oldMessage": "function getIpAddress(admin: Want, networkInterface: string, callback: AsyncCallback<string>): void;",
"newMessage": "function getIpAddress(admin: Wan, networkInterface: string, callback: AsyncCallback<string>): void;",
"syscap": "Customization"
}
]

View File

@ -27,20 +27,6 @@
"newMessage": "401,201,202,12100001,12100002,12100003,12100006",
"syscap": "Security"
},
{
"packageName": "api\\api_change_005.d.ts",
"className": "AtManager",
"rawText": "revokeUserGrantedPermission(tokenID: string, permissionName: Permissions, permissionFlags: number): Promise<void>;",
"dtsName": "api_change_005.d.ts",
"dtsPath": "api/api_change_005.d.ts",
"hint": "",
"changelogs": [],
"statusCode": 4,
"status": "起始版本有变化",
"oldMessage": "8",
"newMessage": "9",
"syscap": "Security"
},
{
"packageName": "api\\api_change_005.d.ts",
"className": "AtManager",
@ -83,20 +69,6 @@
"newMessage": "ohos.permission.GET_SENSITIVE_PERMISSIONS,ohos.permission.GRANT_SENSITIVE_PERMISSIONS",
"syscap": "Security"
},
{
"packageName": "api\\api_change_005.d.ts",
"className": "AtManager",
"rawText": "getPermissionFlags(tokenID: string, permissionName: Permissions): Promise<number>;",
"dtsName": "api_change_005.d.ts",
"dtsPath": "api/api_change_005.d.ts",
"hint": "",
"changelogs": [],
"statusCode": 4,
"status": "起始版本有变化",
"oldMessage": "8",
"newMessage": "9",
"syscap": "Security"
},
{
"packageName": "api\\api_change_005.d.ts",
"className": "AtManager",

View File

@ -25,7 +25,7 @@
"status": "删除",
"oldMessage": "",
"newMessage": "",
"syscap": ""
"syscap": "Ability"
},
{
"packageName": "api\\delete_class_001.d.ts",
@ -39,7 +39,7 @@
"status": "新增",
"oldMessage": "",
"newMessage": "",
"syscap": ""
"syscap": "Ability"
},
{
"packageName": "api\\delete_class_001.d.ts",
@ -53,7 +53,7 @@
"status": "删除",
"oldMessage": "",
"newMessage": "",
"syscap": ""
"syscap": "Ability"
},
{
"packageName": "api\\delete_class_001.d.ts",
@ -67,7 +67,7 @@
"status": "新增",
"oldMessage": "",
"newMessage": "",
"syscap": ""
"syscap": "Ability"
},
{
"packageName": "api\\delete_class_001.d.ts",
@ -81,7 +81,7 @@
"status": "删除",
"oldMessage": "",
"newMessage": "",
"syscap": ""
"syscap": "Ability"
},
{
"packageName": "api\\delete_class_001.d.ts",
@ -95,7 +95,7 @@
"status": "新增",
"oldMessage": "",
"newMessage": "",
"syscap": ""
"syscap": "Ability"
},
{
"packageName": "api\\delete_class_001.d.ts",
@ -109,7 +109,7 @@
"status": "类型删除(接口)",
"oldMessage": "",
"newMessage": "",
"syscap": ""
"syscap": "Ability"
},
{
"packageName": "api\\delete_class_001.d.ts",
@ -123,7 +123,7 @@
"status": "删除",
"oldMessage": "",
"newMessage": "",
"syscap": ""
"syscap": "Ability"
},
{
"packageName": "api\\delete_class_001.d.ts",
@ -137,7 +137,7 @@
"status": "新增",
"oldMessage": "",
"newMessage": "",
"syscap": ""
"syscap": "Ability"
},
{
"packageName": "api\\delete_class_001.d.ts",
@ -151,7 +151,7 @@
"status": "删除",
"oldMessage": "",
"newMessage": "",
"syscap": ""
"syscap": "Ability"
},
{
"packageName": "api\\delete_class_001.d.ts",
@ -165,7 +165,7 @@
"status": "新增",
"oldMessage": "",
"newMessage": "",
"syscap": ""
"syscap": "Ability"
},
{
"packageName": "api\\delete_class_001.d.ts",

View File

@ -95,7 +95,7 @@
"status": "删除",
"oldMessage": "",
"newMessage": "",
"syscap": ""
"syscap": "Ability"
},
{
"packageName": "api\\delete_dts_002.d.ts",
@ -109,7 +109,7 @@
"status": "删除",
"oldMessage": "",
"newMessage": "",
"syscap": ""
"syscap": "Ability"
},
{
"packageName": "api\\delete_dts_002.d.ts",
@ -123,7 +123,7 @@
"status": "删除",
"oldMessage": "",
"newMessage": "",
"syscap": ""
"syscap": "Ability"
},
{
"packageName": "api\\delete_dts_002.d.ts",
@ -137,7 +137,7 @@
"status": "删除",
"oldMessage": "",
"newMessage": "",
"syscap": ""
"syscap": "Ability"
},
{
"packageName": "api\\delete_dts_002.d.ts",
@ -151,7 +151,7 @@
"status": "删除",
"oldMessage": "",
"newMessage": "",
"syscap": ""
"syscap": "Ability"
},
{
"packageName": "api\\delete_dts_002.d.ts",
@ -165,7 +165,7 @@
"status": "删除",
"oldMessage": "",
"newMessage": "",
"syscap": ""
"syscap": "Ability"
},
{
"packageName": "api\\delete_dts_002.d.ts",
@ -276,7 +276,7 @@
"status": "新增",
"oldMessage": "",
"newMessage": "",
"syscap": ""
"syscap": "Ability"
},
{
"packageName": "api\\delete_dts_003.d.ts",
@ -290,7 +290,7 @@
"status": "新增",
"oldMessage": "",
"newMessage": "",
"syscap": ""
"syscap": "Ability"
},
{
"packageName": "api\\delete_dts_003.d.ts",
@ -304,7 +304,7 @@
"status": "新增",
"oldMessage": "",
"newMessage": "",
"syscap": ""
"syscap": "Ability"
},
{
"packageName": "api\\delete_dts_003.d.ts",
@ -318,7 +318,7 @@
"status": "新增",
"oldMessage": "",
"newMessage": "",
"syscap": ""
"syscap": "Ability"
},
{
"packageName": "api\\delete_dts_003.d.ts",
@ -332,7 +332,7 @@
"status": "新增",
"oldMessage": "",
"newMessage": "",
"syscap": ""
"syscap": "Ability"
},
{
"packageName": "api\\delete_dts_003.d.ts",
@ -346,6 +346,6 @@
"status": "新增",
"oldMessage": "",
"newMessage": "",
"syscap": ""
"syscap": "Ability"
}
]

View File

@ -11,7 +11,7 @@
"status": "新增",
"oldMessage": "",
"newMessage": "",
"syscap": ""
"syscap": "Ability"
},
{
"packageName": "api\\new_api_002.d.ts",
@ -25,6 +25,6 @@
"status": "新增",
"oldMessage": "",
"newMessage": "",
"syscap": ""
"syscap": "Ability"
}
]

View File

@ -1,30 +1 @@
[
{
"packageName": "api\\since_change_001.d.ts",
"className": "LaunchParam",
"rawText": "export interface LaunchParam",
"dtsName": "since_change_001.d.ts",
"dtsPath": "api/since_change_001.d.ts",
"hint": "",
"changelogs": [],
"statusCode": 4,
"status": "起始版本有变化",
"oldMessage": "9",
"newMessage": "10",
"syscap": "Ability"
},
{
"packageName": "api\\since_change_001.d.ts",
"className": "DeviceManager",
"rawText": "release(): void;",
"dtsName": "since_change_001.d.ts",
"dtsPath": "api/since_change_001.d.ts",
"hint": "",
"changelogs": [],
"statusCode": 4,
"status": "起始版本有变化",
"oldMessage": "",
"newMessage": "9",
"syscap": "Ability"
}
]
[]

View File

@ -1,44 +1 @@
[
{
"packageName": "api\\syscap_change_001.d.ts",
"className": "deviceControl",
"rawText": "declare deviceControl",
"dtsName": "syscap_change_001.d.ts",
"dtsPath": "api/syscap_change_001.d.ts",
"hint": "",
"changelogs": [],
"statusCode": 8,
"status": "SysCap有变化",
"oldMessage": "",
"newMessage": "SystemCapability.Customization.EnterpriseDeviceManager",
"syscap": "Customization"
},
{
"packageName": "api\\syscap_change_001.d.ts",
"className": "deviceControl",
"rawText": "function resetFactory(admin: Want, callback: AsyncCallback<void>): void;",
"dtsName": "syscap_change_001.d.ts",
"dtsPath": "api/syscap_change_001.d.ts",
"hint": "",
"changelogs": [],
"statusCode": 8,
"status": "SysCap有变化",
"oldMessage": "",
"newMessage": "SystemCapability.Customization.EnterpriseDeviceManager",
"syscap": "Customization"
},
{
"packageName": "api\\syscap_change_001.d.ts",
"className": "deviceControl",
"rawText": "function resetFactory(admin: Want): Promise<void>;",
"dtsName": "syscap_change_001.d.ts",
"dtsPath": "api/syscap_change_001.d.ts",
"hint": "",
"changelogs": [],
"statusCode": 8,
"status": "SysCap有变化",
"oldMessage": "SystemCapability.Customization.EnterpriseDeviceManager",
"newMessage": "SystemCapability.Customization",
"syscap": "Customization"
}
]
[]

View File

@ -26,22 +26,6 @@ import Want from "./@ohos.app.ability.Want";
*/
declare namespace networkManager {
/**
* Gets all of the network interfaces of the device.
* This function can be called by a super administrator.
* @permission ohos.permission.ENTERPRISE_GET_NETWORK_INFO
* @param { Want } admin - admin indicates the administrator ability information.
* @param { AsyncCallback<Array<string>> } callback - the callback of getAllNetworkInterfaces.
* @throws { BusinessError } 9200001 - the application is not an administrator of the device.
* @throws { BusinessError } 9200002 - the administrator application does not have permission to manage the device.
* @throws { BusinessError } 201 - the application does not have permission to call this function.
* @throws { BusinessError } 202 - not system application.
* @throws { BusinessError } 401 - invalid input parameter.
* @syscap SystemCapability.Customization.EnterpriseDeviceManager
* @systemapi
* @stagemodelonly
* @since 10
*/
function getAllNetworkInterfaces(admin: Want, networkInterface: string, callback: AsyncCallback<Array<string>>): void;
/**
* Gets all of the network interfaces of the device.

View File

@ -25,23 +25,6 @@ import Want from "./@ohos.app.ability.Want";
* @since 10
*/
declare namespace networkManager {
/**
* Gets all of the network interfaces of the device.
* This function can be called by a super administrator.
* @permission ohos.permission.ENTERPRISE_GET_NETWORK_INFO
* @param { Want } admin - admin indicates the administrator ability information.
* @param { AsyncCallback<Array<string>> } callback - the callback of getAllNetworkInterfaces.
* @throws { BusinessError } 9200001 - the application is not an administrator of the device.
* @throws { BusinessError } 9200002 - the administrator application does not have permission to manage the device.
* @throws { BusinessError } 201 - the application does not have permission to call this function.
* @throws { BusinessError } 202 - not system application.
* @throws { BusinessError } 401 - invalid input parameter.
* @syscap SystemCapability.Customization.EnterpriseDeviceManager
* @systemapi
* @stagemodelonly
* @since 10
*/
function getAllNetworkInterfaces(admin: Want, callback: AsyncCallback<Array<string>>): void;
/**
* Gets all of the network interfaces of the device.