arkanalyzer 1.0.78 → 1.0.80
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/core/common/ArkValueTransformer.d.ts.map +1 -1
- package/lib/core/common/ArkValueTransformer.js +6 -7
- package/lib/core/common/Builtin.d.ts +3 -0
- package/lib/core/common/Builtin.d.ts.map +1 -1
- package/lib/core/common/Builtin.js +17 -1
- package/lib/core/common/Const.d.ts +1 -0
- package/lib/core/common/Const.d.ts.map +1 -1
- package/lib/core/common/Const.js +2 -1
- package/lib/core/common/IRInference.d.ts +1 -0
- package/lib/core/common/IRInference.d.ts.map +1 -1
- package/lib/core/common/IRInference.js +42 -30
- package/lib/core/common/ModelUtils.d.ts +1 -1
- package/lib/core/common/ModelUtils.d.ts.map +1 -1
- package/lib/core/common/ModelUtils.js +16 -19
- package/lib/core/model/ArkBaseModel.d.ts +3 -1
- package/lib/core/model/ArkBaseModel.d.ts.map +1 -1
- package/lib/core/model/ArkBaseModel.js +4 -0
- package/lib/core/model/ArkSignature.js +1 -1
- package/lib/core/model/builder/ArkClassBuilder.js +1 -1
- package/lib/core/model/builder/ArkExportBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/ArkExportBuilder.js +16 -14
- package/lib/core/model/builder/ArkImportBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/ArkImportBuilder.js +16 -9
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArkValueTransformer.d.ts","sourceRoot":"","sources":["../../../src/core/common/ArkValueTransformer.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,OAAO,EAAE,sBAAsB,EAAiD,MAAM,cAAc,CAAC;AAuBrG,OAAO,EACH,SAAS,EAcT,IAAI,EAMP,MAAM,cAAc,CAAC;AAetB,OAAO,EAAyE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE/G,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAK/C,OAAO,EAAE,gBAAgB,EAAa,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAOhF,qBAAa,mBAAmB;IACrB,qBAAqB,EAAE,MAAM,CAAK;IACzC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,OAAO,CAAC,CAAyB;IACzC,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,eAAe,CAAY;IACnC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,YAAY,CAA+D;IACnF,OAAO,CAAC,wBAAwB,CAAS;gBAE7B,gBAAgB,EAAE,gBAAgB,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,eAAe,EAAE,SAAS;IAQ9F,SAAS,IAAI,GAAG,CAAC,KAAK,CAAC;IAIvB,YAAY,IAAI,KAAK;IAIrB,eAAe,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;IAInE,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,GAAE,IAAgC,GAAG,KAAK;IAMlF,UAAU,IAAI,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAI;IAIlD,OAAO,CAAC,YAAY;IAOb,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,aAAa;IAsE1D,OAAO,CAAC,kCAAkC;IAe1C,OAAO,CAAC,6BAA6B;IAQrC,OAAO,CAAC,8BAA8B;IAQtC,OAAO,CAAC,oCAAoC;IA4C5C,OAAO,CAAC,qCAAqC;IAkC7C,OAAO,CAAC,2BAA2B;IAwBnC,OAAO,CAAC,sBAAsB;IAiD9B,OAAO,CAAC,8BAA8B;IAqBtC,OAAO,CAAC,yBAAyB;IASjC,OAAO,CAAC,qCAAqC;IAa7C,OAAO,CAAC,8BAA8B;IAkBtC,OAAO,CAAC,iCAAiC;IAkBzC,OAAO,CAAC,2BAA2B;IA8CnC,OAAO,CAAC,oBAAoB;IAqD5B,OAAO,CAAC,uCAAuC;IA+B/C,OAAO,CAAC,qBAAqB;IAoD7B,OAAO,CAAC,yBAAyB;IAmBjC,OAAO,CAAC,+BAA+B;IA+DvC,OAAO,CAAC,sCAAsC;IAgD9C,OAAO,CAAC,6BAA6B;IAMrC,OAAO,CAAC,2BAA2B;IAkCnC,OAAO,CAAC,oBAAoB;IAsC5B,OAAO,CAAC,iBAAiB;IA4CzB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,oBAAoB;IA4B5B,OAAO,CAAC,mBAAmB;IA4B3B,OAAO,CAAC,8BAA8B;IA+BtC,OAAO,CAAC,cAAc;IAyCtB,OAAO,CAAC,2BAA2B;IAiBnC,OAAO,CAAC,4BAA4B;IAmDpC,OAAO,CAAC,iCAAiC;IA0CzC,OAAO,CAAC,qCAAqC;
|
|
1
|
+
{"version":3,"file":"ArkValueTransformer.d.ts","sourceRoot":"","sources":["../../../src/core/common/ArkValueTransformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
* Copyright (c) 2024-
|
|
3
|
+
* Copyright (c) 2024-2026 Huawei Device Co., Ltd.
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
5
|
* you may not use this file except in compliance with the License.
|
|
6
6
|
* You may obtain a copy of the License at
|
|
@@ -885,16 +885,15 @@ class ArkValueTransformer {
|
|
|
885
885
|
return this.generateArrayExprFromLiteral(elementValues, elementTypes, elementPositions, wholePosition, 0, arrayLength, stmts);
|
|
886
886
|
}
|
|
887
887
|
else if (firstSpreadIdx === 0) {
|
|
888
|
+
const scene = this.declaringMethod.getDeclaringArkFile().getScene();
|
|
888
889
|
if (arrayLength === 1) { // only spread element
|
|
889
|
-
const
|
|
890
|
-
const sliceMethodSignature = new ArkSignature_1.MethodSignature(Builtin_1.Builtin.ARRAY_CLASS_SIGNATURE, sliceMethodSubSignature);
|
|
890
|
+
const sliceMethodSignature = Builtin_1.Builtin.buildArrayMethodSignature(Builtin_1.Builtin.SLICE, scene);
|
|
891
891
|
const sliceInvokeExpr = new Expr_1.ArkInstanceInvokeExpr(elementValues[0], sliceMethodSignature, []);
|
|
892
892
|
const sliceInvokeExprPositions = [wholePosition, elementPositions[0]];
|
|
893
893
|
return { value: sliceInvokeExpr, valueOriginalPositions: sliceInvokeExprPositions, stmts: stmts };
|
|
894
894
|
}
|
|
895
895
|
else { // spread element start
|
|
896
|
-
const
|
|
897
|
-
const concatMethodSignature = new ArkSignature_1.MethodSignature(Builtin_1.Builtin.ARRAY_CLASS_SIGNATURE, concatMethodSubSignature);
|
|
896
|
+
const concatMethodSignature = Builtin_1.Builtin.buildArrayMethodSignature(Builtin_1.Builtin.CONCAT, scene);
|
|
898
897
|
const concatInvokeExpr = new Expr_1.ArkInstanceInvokeExpr(elementValues[0], concatMethodSignature, elementValues.slice(1));
|
|
899
898
|
const concatInvokeExprPositions = [wholePosition, ...elementPositions];
|
|
900
899
|
return { value: concatInvokeExpr, valueOriginalPositions: concatInvokeExprPositions, stmts: stmts };
|
|
@@ -902,8 +901,8 @@ class ArkValueTransformer {
|
|
|
902
901
|
}
|
|
903
902
|
else { // contains spread elements and begins with literal elements.
|
|
904
903
|
const beginLiteralValueAndStmts = this.generateArrayExprFromLiteral(elementValues, elementTypes, elementPositions, wholePosition, 0, firstSpreadIdx, stmts);
|
|
905
|
-
const
|
|
906
|
-
const concatMethodSignature =
|
|
904
|
+
const scene = this.declaringMethod.getDeclaringArkFile().getScene();
|
|
905
|
+
const concatMethodSignature = Builtin_1.Builtin.buildArrayMethodSignature(Builtin_1.Builtin.CONCAT, scene);
|
|
907
906
|
const concatInvokeExpr = new Expr_1.ArkInstanceInvokeExpr(beginLiteralValueAndStmts.value, concatMethodSignature, elementValues.slice(firstSpreadIdx));
|
|
908
907
|
const concatInvokeExprPositions = [wholePosition, beginLiteralValueAndStmts.valueOriginalPositions[0],
|
|
909
908
|
...elementPositions.slice(firstSpreadIdx)];
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ClassSignature, FileSignature, MethodSignature } from '../model/ArkSignature';
|
|
2
2
|
import { ClassType } from '../base/Type';
|
|
3
|
+
import { Scene } from '../../Scene';
|
|
3
4
|
export declare class Builtin {
|
|
4
5
|
static OBJECT: string;
|
|
5
6
|
static ARRAY: string;
|
|
@@ -39,5 +40,7 @@ export declare class Builtin {
|
|
|
39
40
|
static buildBuiltInClassSignature(className: string): ClassSignature;
|
|
40
41
|
private static buildBuiltInClassSignatureMap;
|
|
41
42
|
static isBuiltinClass(className: string): boolean;
|
|
43
|
+
static buildArrayMethodSignature(methodName: string, scene: Scene): MethodSignature;
|
|
44
|
+
static getBuiltInMethodSignature(className: string, methodName: string, scene: Scene): MethodSignature | undefined;
|
|
42
45
|
}
|
|
43
46
|
//# sourceMappingURL=Builtin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Builtin.d.ts","sourceRoot":"","sources":["../../../src/core/common/Builtin.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAsB,MAAM,uBAAuB,CAAC;AAC3G,OAAO,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"Builtin.d.ts","sourceRoot":"","sources":["../../../src/core/common/Builtin.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAsB,MAAM,uBAAuB,CAAC;AAC3G,OAAO,EAAE,SAAS,EAAwC,MAAM,cAAc,CAAC;AAC/E,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGpC,qBAAa,OAAO;IAGhB,OAAc,MAAM,SAAY;IAChC,OAAc,KAAK,SAAW;IAC9B,OAAc,GAAG,SAAS;IAC1B,OAAc,GAAG,SAAS;IAC1B,OAAc,MAAM,SAAY;IAChC,OAAc,MAAM,SAAY;IAChC,OAAc,QAAQ,SAAc;IAEpC,OAAc,gBAAgB,cAA8B;IAG5D,OAAc,kBAAkB,SAAY;IAC5C,OAAc,eAAe,SAAkB;IAE/C,OAAc,+BAA+B,gBAA8C;IAC3F,OAAc,sBAAsB,iBAAgD;IACpF,OAAc,iBAAiB,YAA8C;IAC7E,OAAc,qBAAqB,iBAA+C;IAClF,OAAc,mBAAmB,iBAA6C;IAC9E,OAAc,mBAAmB,iBAA6C;IAC9E,OAAc,sBAAsB,iBAAgD;IACpF,OAAc,iBAAiB,YAA8C;IAC7E,OAAc,4BAA4B,8BAAwC;IAGlF,OAAc,iBAAiB,SAAqB;IACpD,OAAc,QAAQ,SAAsB;IAC5C,OAAc,aAAa,SAAU;IACrC,OAAc,eAAe,SAAoB;IACjD,OAAc,oBAAoB,SAAU;IAC5C,OAAc,qBAAqB,SAAW;IAE9C,OAAc,wBAAwB,iBAAkD;IACxF,OAAc,+BAA+B,iBAAyD;IACtG,OAAc,mBAAmB,YAAwE;IACzG,OAAc,0BAA0B,YAA+E;IAGvH,OAAc,SAAS,SAAc;IACrC,OAAc,0BAA0B,kBAGtC;IAGF,OAAc,KAAK,SAAW;IAC9B,OAAc,MAAM,SAAY;IAEhC,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAUlC,OAAO,CAAC,MAAM,CAAC,gCAAgC;WAIjC,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc;IAI3E,OAAO,CAAC,MAAM,CAAC,6BAA6B;WAU9B,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;WAI1C,yBAAyB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,eAAe;WAQ5E,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,eAAe,GAAG,SAAS;CAO5H"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
* Copyright (c) 2024-
|
|
3
|
+
* Copyright (c) 2024-2026 Huawei Device Co., Ltd.
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
5
|
* you may not use this file except in compliance with the License.
|
|
6
6
|
* You may obtain a copy of the License at
|
|
@@ -18,6 +18,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
18
18
|
exports.Builtin = void 0;
|
|
19
19
|
const ArkSignature_1 = require("../model/ArkSignature");
|
|
20
20
|
const Type_1 = require("../base/Type");
|
|
21
|
+
const ArkClass_1 = require("../model/ArkClass");
|
|
21
22
|
class Builtin {
|
|
22
23
|
static buildBuiltInClasses() {
|
|
23
24
|
const builtInClasses = new Set();
|
|
@@ -46,6 +47,21 @@ class Builtin {
|
|
|
46
47
|
static isBuiltinClass(className) {
|
|
47
48
|
return this.BUILT_IN_CLASSES.has(className);
|
|
48
49
|
}
|
|
50
|
+
static buildArrayMethodSignature(methodName, scene) {
|
|
51
|
+
let methodSignature = this.getBuiltInMethodSignature(Builtin.ARRAY, methodName, scene);
|
|
52
|
+
if (!methodSignature) {
|
|
53
|
+
methodSignature = new ArkSignature_1.MethodSignature(Builtin.ARRAY_CLASS_SIGNATURE, new ArkSignature_1.MethodSubSignature(methodName, [], Type_1.UnknownType.getInstance(), false));
|
|
54
|
+
}
|
|
55
|
+
return methodSignature;
|
|
56
|
+
}
|
|
57
|
+
static getBuiltInMethodSignature(className, methodName, scene) {
|
|
58
|
+
var _b;
|
|
59
|
+
const globalClass = scene.getSdkGlobal(className);
|
|
60
|
+
if (globalClass instanceof ArkClass_1.ArkClass) {
|
|
61
|
+
return (_b = globalClass.getMethodWithName(methodName)) === null || _b === void 0 ? void 0 : _b.getSignature();
|
|
62
|
+
}
|
|
63
|
+
return undefined;
|
|
64
|
+
}
|
|
49
65
|
}
|
|
50
66
|
exports.Builtin = Builtin;
|
|
51
67
|
_a = Builtin;
|
|
@@ -5,6 +5,7 @@ export declare const DEFAULT_NAME = "dflt";
|
|
|
5
5
|
export declare const DEFAULT_ARK_CLASS_NAME: string;
|
|
6
6
|
export declare const ANONYMOUS_CLASS_PREFIX: string;
|
|
7
7
|
export declare const ANONYMOUS_CLASS_DELIMITER = "$";
|
|
8
|
+
export declare const NESTED_CLASS_METHOD_DELIMITER = "-";
|
|
8
9
|
export declare const DEFAULT_ARK_METHOD_NAME: string;
|
|
9
10
|
export declare const INSTANCE_INIT_METHOD_NAME: string;
|
|
10
11
|
export declare const STATIC_INIT_METHOD_NAME: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Const.d.ts","sourceRoot":"","sources":["../../../src/core/common/Const.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,cAAc,MAAM,CAAC;AAClC,eAAO,MAAM,WAAW,MAAM,CAAC;AAC/B,eAAO,MAAM,YAAY,QAAQ,CAAC;AAClC,eAAO,MAAM,YAAY,SAAS,CAAC;AAGnC,eAAO,MAAM,sBAAsB,QAA6B,CAAC;AACjE,eAAO,MAAM,sBAAsB,QAAqB,CAAC;AACzD,eAAO,MAAM,yBAAyB,MAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"Const.d.ts","sourceRoot":"","sources":["../../../src/core/common/Const.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,cAAc,MAAM,CAAC;AAClC,eAAO,MAAM,WAAW,MAAM,CAAC;AAC/B,eAAO,MAAM,YAAY,QAAQ,CAAC;AAClC,eAAO,MAAM,YAAY,SAAS,CAAC;AAGnC,eAAO,MAAM,sBAAsB,QAA6B,CAAC;AACjE,eAAO,MAAM,sBAAsB,QAAqB,CAAC;AACzD,eAAO,MAAM,yBAAyB,MAAiB,CAAC;AACxD,eAAO,MAAM,6BAA6B,MAAM,CAAC;AAGjD,eAAO,MAAM,uBAAuB,QAA6B,CAAC;AAClE,eAAO,MAAM,yBAAyB,QAA2B,CAAC;AAClE,eAAO,MAAM,uBAAuB,QAA2B,CAAC;AAChE,eAAO,MAAM,+BAA+B,QAA4B,CAAC;AACzE,eAAO,MAAM,uBAAuB,QAAqB,CAAC;AAC1D,eAAO,MAAM,mBAAmB,WAAW,CAAC;AAG5C,eAAO,MAAM,oBAAoB,QAA6B,CAAC;AAC/D,eAAO,MAAM,iBAAiB,QAA6B,CAAC;AAC5D,eAAO,MAAM,sBAAsB,QAA6B,CAAC;AACjE,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAGtC,eAAO,MAAM,iBAAiB,MAAc,CAAC;AAC7C,eAAO,MAAM,uBAAuB,QAAiC,CAAC;AAGtE,eAAO,MAAM,iBAAiB,eAAe,CAAC;AAG9C,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAC3C,eAAO,MAAM,mBAAmB,gBAAgB,CAAC;AACjD,eAAO,MAAM,mBAAmB,gBAAgB,CAAC;AACjD,eAAO,MAAM,qCAAqC,kCAAkC,CAAC;AACrF,eAAO,MAAM,iBAAiB,cAAc,CAAC"}
|
package/lib/core/common/Const.js
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.ONMESSAGEFUNCNAME = exports.POSTMESSAGEWITHSHAREDSENDABLEFUNCNAME = exports.POSTMESSAGEFUNCNAME = exports.CONSTRUCTORFUCNNAME = exports.MAKEOBSERVED = exports.ARKTS_STATIC_MARK = exports.LEXICAL_ENV_NAME_PREFIX = exports.TEMP_LOCAL_PREFIX = exports.UNKNOWN_METHOD_NAME = exports.UNKNOWN_FIELD_NAME = exports.UNKNOWN_CLASS_NAME = exports.UNKNOWN_NAMESPACE_NAME = exports.UNKNOWN_FILE_NAME = exports.UNKNOWN_PROJECT_NAME = exports.CALL_SIGNATURE_NAME = exports.ANONYMOUS_METHOD_PREFIX = exports.STATIC_BLOCK_METHOD_NAME_PREFIX = exports.STATIC_INIT_METHOD_NAME = exports.INSTANCE_INIT_METHOD_NAME = exports.DEFAULT_ARK_METHOD_NAME = exports.ANONYMOUS_CLASS_DELIMITER = exports.ANONYMOUS_CLASS_PREFIX = exports.DEFAULT_ARK_CLASS_NAME = exports.DEFAULT_NAME = exports.UNKNOWN_NAME = exports.NAME_PREFIX = exports.NAME_DELIMITER = void 0;
|
|
17
|
+
exports.ONMESSAGEFUNCNAME = exports.POSTMESSAGEWITHSHAREDSENDABLEFUNCNAME = exports.POSTMESSAGEFUNCNAME = exports.CONSTRUCTORFUCNNAME = exports.MAKEOBSERVED = exports.ARKTS_STATIC_MARK = exports.LEXICAL_ENV_NAME_PREFIX = exports.TEMP_LOCAL_PREFIX = exports.UNKNOWN_METHOD_NAME = exports.UNKNOWN_FIELD_NAME = exports.UNKNOWN_CLASS_NAME = exports.UNKNOWN_NAMESPACE_NAME = exports.UNKNOWN_FILE_NAME = exports.UNKNOWN_PROJECT_NAME = exports.CALL_SIGNATURE_NAME = exports.ANONYMOUS_METHOD_PREFIX = exports.STATIC_BLOCK_METHOD_NAME_PREFIX = exports.STATIC_INIT_METHOD_NAME = exports.INSTANCE_INIT_METHOD_NAME = exports.DEFAULT_ARK_METHOD_NAME = exports.NESTED_CLASS_METHOD_DELIMITER = exports.ANONYMOUS_CLASS_DELIMITER = exports.ANONYMOUS_CLASS_PREFIX = exports.DEFAULT_ARK_CLASS_NAME = exports.DEFAULT_NAME = exports.UNKNOWN_NAME = exports.NAME_PREFIX = exports.NAME_DELIMITER = void 0;
|
|
18
18
|
// names
|
|
19
19
|
exports.NAME_DELIMITER = '$';
|
|
20
20
|
exports.NAME_PREFIX = '%';
|
|
@@ -24,6 +24,7 @@ exports.DEFAULT_NAME = 'dflt';
|
|
|
24
24
|
exports.DEFAULT_ARK_CLASS_NAME = exports.NAME_PREFIX + exports.DEFAULT_NAME;
|
|
25
25
|
exports.ANONYMOUS_CLASS_PREFIX = exports.NAME_PREFIX + 'AC';
|
|
26
26
|
exports.ANONYMOUS_CLASS_DELIMITER = exports.NAME_DELIMITER;
|
|
27
|
+
exports.NESTED_CLASS_METHOD_DELIMITER = '-';
|
|
27
28
|
// ArkMethod const
|
|
28
29
|
exports.DEFAULT_ARK_METHOD_NAME = exports.NAME_PREFIX + exports.DEFAULT_NAME;
|
|
29
30
|
exports.INSTANCE_INIT_METHOD_NAME = exports.NAME_PREFIX + 'instInit';
|
|
@@ -35,6 +35,7 @@ export declare class IRInference {
|
|
|
35
35
|
static inferInvokeExprWithArray(methodName: string, expr: AbstractInvokeExpr, baseType: ArrayType, scene: Scene): AbstractInvokeExpr | null;
|
|
36
36
|
static inferInvokeExprWithFunction(methodName: string, expr: AbstractInvokeExpr, baseType: FunctionType, scene: Scene): AbstractInvokeExpr | null;
|
|
37
37
|
static inferInvokeExprWithDeclaredClass(expr: AbstractInvokeExpr, baseType: ClassType, methodName: string, scene: Scene): AbstractInvokeExpr | null;
|
|
38
|
+
private static inferSpecialMethod;
|
|
38
39
|
private static changePtrInvokeExpr;
|
|
39
40
|
private static getRealTypes;
|
|
40
41
|
static replaceMethodSignature(init: MethodSignature, declared: MethodSignature): MethodSignature;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IRInference.d.ts","sourceRoot":"","sources":["../../../src/core/common/IRInference.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAIH,SAAS,EAET,SAAS,EAET,YAAY,EAQZ,IAAI,EAKP,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,OAAO,EACH,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,qBAAqB,EAErB,mBAAmB,EACtB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAI7C,OAAO,EAGH,cAAc,EACd,cAAc,EACd,aAAa,EACb,eAAe,EAElB,MAAM,uBAAuB,CAAC;AAK/B,OAAO,EACH,gBAAgB,EAChB,WAAW,EAEX,mBAAmB,EACnB,eAAe,EAElB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAatC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAoB,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAMlF,qBAAa,WAAW;WACN,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;WAqBrC,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;WAMrC,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;WAqB9B,SAAS,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO;WAOhD,qBAAqB,CAAC,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,SAAS,GAAG,kBAAkB;WAyC1F,iCAAiC,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,kBAAkB,GAAG,kBAAkB;WA0CzH,uBAAuB,CAAC,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,SAAS,GAAG,kBAAkB;IAiC5G;;;;;OAKG;WACW,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI;WAkBhH,aAAa,CAAC,GAAG,EAAE,mBAAmB,EAAE,SAAS,EAAE,SAAS,GAAG,WAAW;IAiBxF,OAAO,CAAC,MAAM,CAAC,SAAS;WAsBV,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,KAAK,GAAG,IAAI;WAyBlD,SAAS,CAAC,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI;WAmB/D,QAAQ,CAAC,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,IAAI;WA0BzG,qBAAqB,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;WAiBhF,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,GAAG,IAAI;IAmBxF,OAAO,CAAC,MAAM,CAAC,eAAe;WAmChB,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,GAAG,kBAAkB,GAAG,IAAI;WAYpI,2BAA2B,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,GAAG,kBAAkB,GAAG,IAAI;WAiB1I,gCAAgC,
|
|
1
|
+
{"version":3,"file":"IRInference.d.ts","sourceRoot":"","sources":["../../../src/core/common/IRInference.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,7 +25,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.IRInference = void 0;
|
|
27
27
|
/*
|
|
28
|
-
* Copyright (c) 2024-
|
|
28
|
+
* Copyright (c) 2024-2026 Huawei Device Co., Ltd.
|
|
29
29
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
30
30
|
* you may not use this file except in compliance with the License.
|
|
31
31
|
* You may obtain a copy of the License at
|
|
@@ -469,53 +469,64 @@ class IRInference {
|
|
|
469
469
|
return null;
|
|
470
470
|
}
|
|
471
471
|
static inferInvokeExprWithDeclaredClass(expr, baseType, methodName, scene) {
|
|
472
|
-
var _a, _b;
|
|
473
|
-
|
|
474
|
-
if (
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
472
|
+
var _a, _b, _c, _d, _e;
|
|
473
|
+
const result = this.inferSpecialMethod(expr, baseType, methodName);
|
|
474
|
+
if (result) {
|
|
475
|
+
return result;
|
|
476
|
+
}
|
|
477
|
+
let declaredClass = (_a = scene.getClass(baseType.getClassSignature())) !== null && _a !== void 0 ? _a : scene.getSdkGlobal(baseType.getClassSignature().getClassName());
|
|
478
|
+
if (!(declaredClass instanceof ArkClass_1.ArkClass)) {
|
|
479
|
+
return null;
|
|
479
480
|
}
|
|
481
|
+
let method;
|
|
480
482
|
if (methodName === TSConst_1.CONSTRUCTOR_NAME) {
|
|
481
|
-
|
|
482
|
-
if (
|
|
483
|
-
const methodSignature = constructor.matchMethodSignature(expr.getArgs());
|
|
484
|
-
TypeInference_1.TypeInference.inferSignatureReturnType(methodSignature, constructor);
|
|
485
|
-
expr.setMethodSignature(this.replaceMethodSignature(expr.getMethodSignature(), methodSignature));
|
|
486
|
-
expr.setRealGenericTypes(IRInference.getRealTypes(expr, declaredClass, baseType, constructor));
|
|
487
|
-
}
|
|
488
|
-
else {
|
|
483
|
+
method = (_c = (_b = declaredClass === null || declaredClass === void 0 ? void 0 : declaredClass.getMethodWithName('construct-signature')) !== null && _b !== void 0 ? _b : declaredClass.getMethodWithName(Const_1.CALL_SIGNATURE_NAME)) !== null && _c !== void 0 ? _c : declaredClass === null || declaredClass === void 0 ? void 0 : declaredClass.getMethodWithName(TSConst_1.CONSTRUCTOR_NAME);
|
|
484
|
+
if (!method) {
|
|
489
485
|
const subSignature = new ArkSignature_1.MethodSubSignature(methodName, [], new Type_1.ClassType(baseType.getClassSignature()));
|
|
490
486
|
expr.setMethodSignature(new ArkSignature_1.MethodSignature(baseType.getClassSignature(), subSignature));
|
|
487
|
+
return expr;
|
|
491
488
|
}
|
|
492
|
-
return expr;
|
|
493
489
|
}
|
|
494
|
-
else
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
expr.setRealGenericTypes(baseType.getRealGenericTypes());
|
|
498
|
-
return expr;
|
|
490
|
+
else {
|
|
491
|
+
const member = ModelUtils_1.ModelUtils.findPropertyInClass(methodName, declaredClass);
|
|
492
|
+
method = member instanceof ArkClass_1.ArkClass ? (_d = member.getMethodWithName(Const_1.CALL_SIGNATURE_NAME)) !== null && _d !== void 0 ? _d : member.getMethodWithName(TSConst_1.CONSTRUCTOR_NAME) : member;
|
|
499
493
|
}
|
|
500
|
-
const method = declaredClass ? ModelUtils_1.ModelUtils.findPropertyInClass(methodName, declaredClass) : null;
|
|
501
494
|
if (method instanceof ArkMethod_1.ArkMethod) {
|
|
502
495
|
const methodSignature = method.matchMethodSignature(expr.getArgs());
|
|
503
496
|
TypeInference_1.TypeInference.inferSignatureReturnType(methodSignature, method);
|
|
504
497
|
expr.setMethodSignature(this.replaceMethodSignature(expr.getMethodSignature(), methodSignature));
|
|
505
498
|
expr.setRealGenericTypes(IRInference.getRealTypes(expr, declaredClass, baseType, method));
|
|
506
|
-
if (method.isStatic()
|
|
499
|
+
if (expr instanceof Expr_1.ArkInstanceInvokeExpr && (method.isStatic() || method.getDeclaringArkClass().isDefaultArkClass())) {
|
|
507
500
|
return new Expr_1.ArkStaticInvokeExpr(methodSignature, expr.getArgs(), expr.getRealGenericTypes());
|
|
508
501
|
}
|
|
509
502
|
return expr;
|
|
510
503
|
}
|
|
511
|
-
else if (method instanceof ArkField_1.ArkField) {
|
|
512
|
-
return (
|
|
504
|
+
else if (method instanceof ArkField_1.ArkField || method instanceof Local_1.Local) {
|
|
505
|
+
return (_e = this.changePtrInvokeExpr(method, scene, expr)) !== null && _e !== void 0 ? _e : expr;
|
|
506
|
+
}
|
|
507
|
+
return null;
|
|
508
|
+
}
|
|
509
|
+
static inferSpecialMethod(expr, baseType, methodName) {
|
|
510
|
+
if (methodName === Builtin_1.Builtin.ITERATOR_NEXT &&
|
|
511
|
+
baseType.getClassSignature().getDeclaringFileSignature().getProjectName() === Builtin_1.Builtin.DUMMY_PROJECT_NAME) {
|
|
512
|
+
expr.getMethodSignature().getMethodSubSignature().setReturnType(Builtin_1.Builtin.ITERATOR_RESULT_CLASS_TYPE);
|
|
513
|
+
expr.setRealGenericTypes(baseType.getRealGenericTypes());
|
|
514
|
+
return expr;
|
|
513
515
|
}
|
|
514
516
|
return null;
|
|
515
517
|
}
|
|
516
518
|
static changePtrInvokeExpr(method, scene, expr) {
|
|
517
519
|
var _a;
|
|
518
|
-
|
|
520
|
+
let type = method.getType();
|
|
521
|
+
if (type instanceof Type_1.UnionType) {
|
|
522
|
+
const funType = type.getTypes().find(t => t instanceof Type_1.FunctionType);
|
|
523
|
+
if (funType instanceof Type_1.FunctionType) {
|
|
524
|
+
type = funType;
|
|
525
|
+
}
|
|
526
|
+
else {
|
|
527
|
+
type = type.getTypes().find(t => t instanceof Type_1.ClassType);
|
|
528
|
+
}
|
|
529
|
+
}
|
|
519
530
|
let methodSignature;
|
|
520
531
|
if (type instanceof Type_1.FunctionType) {
|
|
521
532
|
methodSignature = type.getMethodSignature();
|
|
@@ -527,9 +538,10 @@ class IRInference {
|
|
|
527
538
|
}
|
|
528
539
|
}
|
|
529
540
|
if (methodSignature) {
|
|
530
|
-
const ptr =
|
|
531
|
-
|
|
532
|
-
|
|
541
|
+
const ptr = method instanceof Local_1.Local ? method :
|
|
542
|
+
expr instanceof Expr_1.ArkInstanceInvokeExpr
|
|
543
|
+
? new Ref_1.ArkInstanceFieldRef(expr.getBase(), method.getSignature())
|
|
544
|
+
: new Ref_1.ArkStaticFieldRef(method.getSignature());
|
|
533
545
|
return new Expr_1.ArkPtrInvokeExpr(methodSignature, ptr, expr.getArgs(), expr.getRealGenericTypes());
|
|
534
546
|
}
|
|
535
547
|
return null;
|
|
@@ -46,7 +46,7 @@ export declare class ModelUtils {
|
|
|
46
46
|
static getArkClassInBuild(scene: Scene, classType: ClassType): ArkClass | null;
|
|
47
47
|
static getDefaultClass(arkClass: ArkClass): ArkClass | null;
|
|
48
48
|
static getClass(method: ArkMethod, signature: ClassSignature): ArkClass | null;
|
|
49
|
-
static findPropertyInNamespace(name: string, namespace: ArkNamespace): ArkExport | undefined;
|
|
49
|
+
static findPropertyInNamespace(name: string, namespace: ArkNamespace): ArkExport | null | undefined;
|
|
50
50
|
static findPropertyInClass(name: string, arkClass: ArkClass): ArkExport | ArkField | null;
|
|
51
51
|
static findDeclaredLocal(local: Local, arkMethod: ArkMethod, times?: number): Local | null;
|
|
52
52
|
static findArkModel(baseName: string, arkClass: ArkClass): ArkExport | ArkField | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelUtils.d.ts","sourceRoot":"","sources":["../../../src/core/common/ModelUtils.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ModelUtils.d.ts","sourceRoot":"","sources":["../../../src/core/common/ModelUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
* Copyright (c) 2024-
|
|
3
|
+
* Copyright (c) 2024-2026 Huawei Device Co., Ltd.
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
5
|
* you may not use this file except in compliance with the License.
|
|
6
6
|
* You may obtain a copy of the License at
|
|
@@ -377,7 +377,7 @@ class ModelUtils {
|
|
|
377
377
|
}
|
|
378
378
|
static findPropertyInNamespace(name, namespace) {
|
|
379
379
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
380
|
-
return ((_j = (_e = (_d = (_c = (_b = (_a = namespace.getDefaultClass()) === null || _a === void 0 ? void 0 : _a.
|
|
380
|
+
return ((_k = (_j = (_h = (_g = (_e = (_d = (_c = (_b = (_a = namespace.getDefaultClass()) === null || _a === void 0 ? void 0 : _a.getDefaultArkMethod()) === null || _b === void 0 ? void 0 : _b.getBody()) === null || _c === void 0 ? void 0 : _c.getLocals()) === null || _d === void 0 ? void 0 : _d.get(name)) !== null && _e !== void 0 ? _e : (_f = namespace.getDefaultClass()) === null || _f === void 0 ? void 0 : _f.getMethodWithName(name)) !== null && _g !== void 0 ? _g : findArkExport(namespace.getExportInfoBy(name))) !== null && _h !== void 0 ? _h : namespace.getClassWithName(name)) !== null && _j !== void 0 ? _j : namespace.getNamespaceWithName(name)) !== null && _k !== void 0 ? _k : (_o = (_m = (_l = namespace.getDefaultClass()) === null || _l === void 0 ? void 0 : _l.getDefaultArkMethod()) === null || _m === void 0 ? void 0 : _m.getBody()) === null || _o === void 0 ? void 0 : _o.getAliasTypeByName(name));
|
|
381
381
|
}
|
|
382
382
|
static findPropertyInClass(name, arkClass) {
|
|
383
383
|
var _a, _b, _c, _d;
|
|
@@ -426,7 +426,7 @@ class ModelUtils {
|
|
|
426
426
|
if (!invokeMethod) {
|
|
427
427
|
const className = arkMethod.getDeclaringArkClass().getName();
|
|
428
428
|
const outerStart = className.indexOf(Const_1.NAME_DELIMITER);
|
|
429
|
-
const outerEnd = className.lastIndexOf(
|
|
429
|
+
const outerEnd = className.lastIndexOf(Const_1.NESTED_CLASS_METHOD_DELIMITER);
|
|
430
430
|
if (outerStart > -1 && outerEnd > -1) {
|
|
431
431
|
invokeMethod = (_b = arkMethod
|
|
432
432
|
.getDeclaringArkFile()
|
|
@@ -703,7 +703,7 @@ exports.getArkFile = getArkFile;
|
|
|
703
703
|
* @param visited
|
|
704
704
|
*/
|
|
705
705
|
function findExportInfo(fromInfo, visited = new Set([fromInfo.getDeclaringArkFile()])) {
|
|
706
|
-
var _a, _b
|
|
706
|
+
var _a, _b;
|
|
707
707
|
let file = getArkFile(fromInfo);
|
|
708
708
|
if (!file) {
|
|
709
709
|
logger.warn(`${fromInfo.getOriginName()} ${fromInfo.getFrom()} file not found: ${(_b = (_a = fromInfo.getDeclaringArkFile()) === null || _a === void 0 ? void 0 : _a.getFileSignature()) === null || _b === void 0 ? void 0 : _b.toString()}`);
|
|
@@ -714,14 +714,6 @@ function findExportInfo(fromInfo, visited = new Set([fromInfo.getDeclaringArkFil
|
|
|
714
714
|
file.addExportInfo(exportInfo, TSConst_1.ALL);
|
|
715
715
|
return exportInfo;
|
|
716
716
|
}
|
|
717
|
-
//check cycle
|
|
718
|
-
if (visited.has(file)) {
|
|
719
|
-
logger.warn(`It existed a cycle in: ${(_d = (_c = fromInfo.getDeclaringArkFile()) === null || _c === void 0 ? void 0 : _c.getFileSignature()) === null || _d === void 0 ? void 0 : _d.toString()}`);
|
|
720
|
-
return null;
|
|
721
|
-
}
|
|
722
|
-
else {
|
|
723
|
-
visited.add(file);
|
|
724
|
-
}
|
|
725
717
|
let exportInfo = findExportInfoInfile(fromInfo, file, visited) || null;
|
|
726
718
|
if (exportInfo === null) {
|
|
727
719
|
return null;
|
|
@@ -824,15 +816,20 @@ function getArkFileFormMap(projectName, filePath, scene) {
|
|
|
824
816
|
return null;
|
|
825
817
|
}
|
|
826
818
|
function findExportInfoInfile(fromInfo, file, visited = new Set([fromInfo.getDeclaringArkFile()])) {
|
|
827
|
-
//
|
|
828
|
-
|
|
829
|
-
.
|
|
830
|
-
|
|
831
|
-
file.
|
|
832
|
-
|
|
819
|
+
//check cycle
|
|
820
|
+
if (!visited.has(file)) {
|
|
821
|
+
visited.add(file);
|
|
822
|
+
// expand export *
|
|
823
|
+
file.getExportInfos().filter(f => f.getExportClauseName().startsWith(TSConst_1.TEMP_EXPORT_ALL_PREFIX))
|
|
824
|
+
.forEach(e => {
|
|
825
|
+
findExportInfo(e, visited);
|
|
826
|
+
file.removeExportInfo(e);
|
|
827
|
+
});
|
|
828
|
+
}
|
|
833
829
|
if (fromInfo.getOriginName().startsWith(TSConst_1.TEMP_EXPORT_ALL_PREFIX) && fromInfo instanceof ArkExport_1.ExportInfo) {
|
|
834
830
|
const declaringArkFile = fromInfo.getDeclaringArkFile();
|
|
835
|
-
file.getExportInfos().filter(f => !f.isDefault()
|
|
831
|
+
file.getExportInfos().filter(f => !f.isDefault() && !f.getExportClauseName().startsWith(TSConst_1.TEMP_EXPORT_ALL_PREFIX))
|
|
832
|
+
.forEach(exportInfo => declaringArkFile.addExportInfo(exportInfo));
|
|
836
833
|
declaringArkFile.removeExportInfo(fromInfo);
|
|
837
834
|
return undefined;
|
|
838
835
|
}
|
|
@@ -17,7 +17,9 @@ export declare enum ModifierType {
|
|
|
17
17
|
READONLY = 2048,
|
|
18
18
|
OUT = 4096,
|
|
19
19
|
OVERRIDE = 8192,
|
|
20
|
-
DECLARE = 16384
|
|
20
|
+
DECLARE = 16384,
|
|
21
|
+
TYPE = 32768,
|
|
22
|
+
LAZY = 65536
|
|
21
23
|
}
|
|
22
24
|
export declare const MODIFIER_TYPE_MASK = 65535;
|
|
23
25
|
export declare function modifierKind2Enum(kind: ts.SyntaxKind): ModifierType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArkBaseModel.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkBaseModel.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAgB,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAqB9E,oBAAY,YAAY;IACpB,OAAO,IAAI;IACX,SAAS,IAAS;IAClB,MAAM,IAAS;IACf,MAAM,IAAS;IACf,MAAM,KAAS;IACf,QAAQ,KAAS;IACjB,KAAK,KAAS;IACd,KAAK,MAAS;IACd,QAAQ,MAAS;IACjB,OAAO,MAAS;IAChB,EAAE,OAAU;IACZ,QAAQ,OAAU;IAClB,GAAG,OAAU;IACb,QAAQ,OAAU;IAClB,OAAO,QAAU;
|
|
1
|
+
{"version":3,"file":"ArkBaseModel.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkBaseModel.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAgB,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAqB9E,oBAAY,YAAY;IACpB,OAAO,IAAI;IACX,SAAS,IAAS;IAClB,MAAM,IAAS;IACf,MAAM,IAAS;IACf,MAAM,KAAS;IACf,QAAQ,KAAS;IACjB,KAAK,KAAS;IACd,KAAK,MAAS;IACd,QAAQ,MAAS;IACjB,OAAO,MAAS;IAChB,EAAE,OAAU;IACZ,QAAQ,OAAU;IAClB,GAAG,OAAU;IACb,QAAQ,OAAU;IAClB,OAAO,QAAU;IACjB,IAAI,QAAU;IACd,IAAI,QAAU;CACjB;AAED,eAAO,MAAM,kBAAkB,QAAS,CAAC;AAwCzC,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,YAAY,CAEnE;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CASjE;AAED,8BAAsB,YAAY;IAC9B,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IACtC,SAAS,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC;IAE1B,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,GAAG,SAAS;IAI/D,WAAW,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,GAAG,IAAI;IAOhE,YAAY,IAAI,MAAM;IAOtB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAMrC,WAAW,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI;IAIlD,cAAc,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAO5C,QAAQ,IAAI,OAAO;IAInB,WAAW,IAAI,OAAO;IAItB,SAAS,IAAI,OAAO;IAIpB,QAAQ,IAAI,OAAO;IAInB,UAAU,IAAI,OAAO;IAIrB,UAAU,IAAI,OAAO;IAIrB,QAAQ,IAAI,OAAO;IAInB,SAAS,IAAI,OAAO;IAI3B,gDAAgD;IACzC,UAAU,IAAI,OAAO;IAIrB,SAAS,IAAI,OAAO;IAIpB,gBAAgB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO;IAQrD,aAAa,IAAI,SAAS,EAAE;IAO5B,aAAa,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG,IAAI;IAM/C,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAOxC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQnC,mBAAmB,IAAI,OAAO;IAI9B,kBAAkB,IAAI,SAAS,EAAE;IASjC,wBAAwB,IAAI,OAAO;IAInC,iBAAiB,IAAI,OAAO;IAI5B,qBAAqB,IAAI,OAAO;IAIhC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO;IAYxD,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ;aAkBpC,QAAQ,IAAI,QAAQ;CACvC"}
|
|
@@ -81,6 +81,8 @@ var ModifierType;
|
|
|
81
81
|
ModifierType[ModifierType["OUT"] = 4096] = "OUT";
|
|
82
82
|
ModifierType[ModifierType["OVERRIDE"] = 8192] = "OVERRIDE";
|
|
83
83
|
ModifierType[ModifierType["DECLARE"] = 16384] = "DECLARE";
|
|
84
|
+
ModifierType[ModifierType["TYPE"] = 32768] = "TYPE";
|
|
85
|
+
ModifierType[ModifierType["LAZY"] = 65536] = "LAZY";
|
|
84
86
|
})(ModifierType = exports.ModifierType || (exports.ModifierType = {}));
|
|
85
87
|
exports.MODIFIER_TYPE_MASK = 0xffff;
|
|
86
88
|
const MODIFIER_TYPE_STRINGS = [
|
|
@@ -116,6 +118,8 @@ const MODIFIER_KIND_2_ENUM = new Map([
|
|
|
116
118
|
[ohos_typescript_1.default.SyntaxKind.OutKeyword, ModifierType.OUT],
|
|
117
119
|
[ohos_typescript_1.default.SyntaxKind.OverrideKeyword, ModifierType.OVERRIDE],
|
|
118
120
|
[ohos_typescript_1.default.SyntaxKind.StaticKeyword, ModifierType.STATIC],
|
|
121
|
+
[ohos_typescript_1.default.SyntaxKind.TypeKeyword, ModifierType.TYPE],
|
|
122
|
+
[ohos_typescript_1.default.SyntaxKind.LazyKeyword, ModifierType.LAZY],
|
|
119
123
|
]);
|
|
120
124
|
function modifierKind2Enum(kind) {
|
|
121
125
|
return MODIFIER_KIND_2_ENUM.get(kind);
|
|
@@ -116,7 +116,7 @@ class ClassSignature {
|
|
|
116
116
|
if (this.className.startsWith(Const_1.ANONYMOUS_CLASS_PREFIX)) {
|
|
117
117
|
let temp = this.className;
|
|
118
118
|
do {
|
|
119
|
-
temp = temp.substring(temp.indexOf(Const_1.NAME_DELIMITER) + 1, temp.lastIndexOf(
|
|
119
|
+
temp = temp.substring(temp.indexOf(Const_1.NAME_DELIMITER) + 1, temp.lastIndexOf(Const_1.NESTED_CLASS_METHOD_DELIMITER));
|
|
120
120
|
} while (temp.startsWith(Const_1.ANONYMOUS_CLASS_PREFIX));
|
|
121
121
|
return temp;
|
|
122
122
|
}
|
|
@@ -300,7 +300,7 @@ function genClassName(declaringName, cls, declaringMethod) {
|
|
|
300
300
|
const num = declaringArkNamespace ? declaringArkNamespace.getAnonymousClassNumber() : cls.getDeclaringArkFile().getAnonymousClassNumber();
|
|
301
301
|
declaringName = Const_1.ANONYMOUS_CLASS_PREFIX + num;
|
|
302
302
|
}
|
|
303
|
-
const suffix = declaringMethod ? Const_1.ANONYMOUS_CLASS_DELIMITER
|
|
303
|
+
const suffix = declaringMethod ? `${Const_1.ANONYMOUS_CLASS_DELIMITER}${declaringMethod.getDeclaringArkClass().getName()}${Const_1.NESTED_CLASS_METHOD_DELIMITER}${declaringMethod.getName()}` : '';
|
|
304
304
|
return declaringName + suffix;
|
|
305
305
|
}
|
|
306
306
|
function buildArkClassMembers(clsNode, cls, sourceFile) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArkExportBuilder.d.ts","sourceRoot":"","sources":["../../../../src/core/model/builder/ArkExportBuilder.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAc,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE3E,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAMrC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,CAAC;AAQ1E,iBAAS,eAAe,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,GAAG,UAAU,CAepG;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,UAAU,CAOrG;AAED,iBAAS,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,UAAU,EAAE,CAiDrH;AAED,iBAAS,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,UAAU,EAAE,CAsCnH;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,YAAY,GAAG,UAAU,EAAE,CAmB5J;AAED;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"ArkExportBuilder.d.ts","sourceRoot":"","sources":["../../../../src/core/model/builder/ArkExportBuilder.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAc,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE3E,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAMrC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,CAAC;AAQ1E,iBAAS,eAAe,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,GAAG,UAAU,CAepG;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,UAAU,CAOrG;AAED,iBAAS,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,UAAU,EAAE,CAiDrH;AAED,iBAAS,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,UAAU,EAAE,CAsCnH;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,YAAY,GAAG,UAAU,EAAE,CAmB5J;AAED;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,UAAU,EAAE,CAgBxI;AAED,wBAAgB,UAAU,CAAC,aAAa,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,SAAS,GAAG,OAAO,CAU5F"}
|
|
@@ -62,25 +62,29 @@ exports.buildDefaultExportInfo = buildDefaultExportInfo;
|
|
|
62
62
|
function buildExportDeclaration(node, sourceFile, arkFile) {
|
|
63
63
|
const originTsPosition = Position_1.LineColPosition.buildFromNode(node, sourceFile);
|
|
64
64
|
const tsSourceCode = node.getText(sourceFile);
|
|
65
|
-
const modifiers = node.modifiers ? (0, builderUtils_1.buildModifiers)(node) : 0;
|
|
66
65
|
let exportFrom = '';
|
|
67
66
|
if (node.moduleSpecifier && ohos_typescript_1.default.isStringLiteral(node.moduleSpecifier)) {
|
|
68
67
|
exportFrom = node.moduleSpecifier.text;
|
|
69
68
|
}
|
|
69
|
+
let modifiers = 0;
|
|
70
|
+
if (node.isTypeOnly) {
|
|
71
|
+
modifiers |= ArkBaseModel_1.ModifierType.TYPE;
|
|
72
|
+
}
|
|
70
73
|
let exportInfos = [];
|
|
71
74
|
// just like: export {xxx as x} from './yy'
|
|
72
75
|
if (node.exportClause && ohos_typescript_1.default.isNamedExports(node.exportClause) && node.exportClause.elements) {
|
|
73
76
|
node.exportClause.elements.forEach(element => {
|
|
77
|
+
let modifier = modifiers;
|
|
78
|
+
if (element.isTypeOnly) {
|
|
79
|
+
modifier |= ArkBaseModel_1.ModifierType.TYPE;
|
|
80
|
+
}
|
|
74
81
|
let builder = new ArkExport_1.ExportInfo.Builder()
|
|
75
|
-
.exportClauseType(ArkExport_1.ExportType.UNKNOWN)
|
|
76
|
-
.
|
|
77
|
-
.tsSourceCode(tsSourceCode)
|
|
78
|
-
.exportFrom(exportFrom)
|
|
79
|
-
.originTsPosition(originTsPosition)
|
|
82
|
+
.exportClauseType(ArkExport_1.ExportType.UNKNOWN).exportClauseName(element.name.text)
|
|
83
|
+
.tsSourceCode(tsSourceCode).exportFrom(exportFrom).originTsPosition(originTsPosition)
|
|
80
84
|
.declaringArkFile(arkFile)
|
|
81
85
|
.setLeadingComments(IRUtils_1.IRUtils.getCommentsMetadata(node, sourceFile, arkFile.getScene().getOptions(), true))
|
|
82
86
|
.setTrailingComments(IRUtils_1.IRUtils.getCommentsMetadata(node, sourceFile, arkFile.getScene().getOptions(), false))
|
|
83
|
-
.modifiers(
|
|
87
|
+
.modifiers(modifier);
|
|
84
88
|
if (element.propertyName && ohos_typescript_1.default.isIdentifier(element.propertyName)) {
|
|
85
89
|
builder.nameBeforeAs(element.propertyName.text);
|
|
86
90
|
}
|
|
@@ -89,12 +93,9 @@ function buildExportDeclaration(node, sourceFile, arkFile) {
|
|
|
89
93
|
return exportInfos;
|
|
90
94
|
}
|
|
91
95
|
let builder1 = new ArkExport_1.ExportInfo.Builder()
|
|
92
|
-
.exportClauseType(ArkExport_1.ExportType.UNKNOWN)
|
|
93
|
-
.
|
|
94
|
-
.
|
|
95
|
-
.tsSourceCode(tsSourceCode)
|
|
96
|
-
.exportFrom(exportFrom)
|
|
97
|
-
.declaringArkFile(arkFile)
|
|
96
|
+
.exportClauseType(ArkExport_1.ExportType.UNKNOWN).nameBeforeAs(TSConst_1.ALL)
|
|
97
|
+
.modifiers(modifiers).tsSourceCode(tsSourceCode)
|
|
98
|
+
.exportFrom(exportFrom).declaringArkFile(arkFile)
|
|
98
99
|
.setLeadingComments(IRUtils_1.IRUtils.getCommentsMetadata(node, sourceFile, arkFile.getScene().getOptions(), true))
|
|
99
100
|
.setTrailingComments(IRUtils_1.IRUtils.getCommentsMetadata(node, sourceFile, arkFile.getScene().getOptions(), false))
|
|
100
101
|
.originTsPosition(originTsPosition);
|
|
@@ -182,7 +183,8 @@ exports.buildExportVariableStatement = buildExportVariableStatement;
|
|
|
182
183
|
function buildExportTypeAliasDeclaration(node, sourceFile, arkFile) {
|
|
183
184
|
let exportInfos = [];
|
|
184
185
|
const originTsPosition = Position_1.LineColPosition.buildFromNode(node, sourceFile);
|
|
185
|
-
|
|
186
|
+
let modifiers = node.modifiers ? (0, builderUtils_1.buildModifiers)(node) : 0;
|
|
187
|
+
modifiers |= ArkBaseModel_1.ModifierType.TYPE;
|
|
186
188
|
const tsSourceCode = node.getText(sourceFile);
|
|
187
189
|
const exportInfo = new ArkExport_1.ExportInfo.Builder()
|
|
188
190
|
.exportClauseName(node.name.text)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArkImportBuilder.d.ts","sourceRoot":"","sources":["../../../../src/core/model/builder/ArkImportBuilder.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"ArkImportBuilder.d.ts","sourceRoot":"","sources":["../../../../src/core/model/builder/ArkImportBuilder.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGrC,wBAAgB,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,uBAAuB,GAAG,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,UAAU,EAAE,CAOlJ"}
|
|
@@ -21,8 +21,8 @@ exports.buildImportInfo = void 0;
|
|
|
21
21
|
const ohos_typescript_1 = __importDefault(require("ohos-typescript"));
|
|
22
22
|
const Position_1 = require("../../base/Position");
|
|
23
23
|
const ArkImport_1 = require("../ArkImport");
|
|
24
|
-
const builderUtils_1 = require("./builderUtils");
|
|
25
24
|
const IRUtils_1 = require("../../common/IRUtils");
|
|
25
|
+
const ArkBaseModel_1 = require("../ArkBaseModel");
|
|
26
26
|
function buildImportInfo(node, sourceFile, arkFile) {
|
|
27
27
|
if (ohos_typescript_1.default.isImportDeclaration(node)) {
|
|
28
28
|
return buildImportDeclarationNode(node, sourceFile, arkFile);
|
|
@@ -42,9 +42,6 @@ function buildImportDeclarationNode(node, sourceFile, arkFile) {
|
|
|
42
42
|
importFrom = node.moduleSpecifier.text;
|
|
43
43
|
}
|
|
44
44
|
let modifiers = 0;
|
|
45
|
-
if (node.modifiers) {
|
|
46
|
-
modifiers = (0, builderUtils_1.buildModifiers)(node);
|
|
47
|
-
}
|
|
48
45
|
// just like: import '../xxx'
|
|
49
46
|
if (!node.importClause) {
|
|
50
47
|
let importClauseName = '';
|
|
@@ -56,7 +53,13 @@ function buildImportDeclarationNode(node, sourceFile, arkFile) {
|
|
|
56
53
|
importInfos.push(importInfo);
|
|
57
54
|
return importInfos;
|
|
58
55
|
}
|
|
59
|
-
|
|
56
|
+
if (node.importClause.isTypeOnly) {
|
|
57
|
+
modifiers |= ArkBaseModel_1.ModifierType.TYPE;
|
|
58
|
+
}
|
|
59
|
+
if (node.importClause.isLazy) {
|
|
60
|
+
modifiers |= ArkBaseModel_1.ModifierType.LAZY;
|
|
61
|
+
}
|
|
62
|
+
//just like: import zs from 'xxx'
|
|
60
63
|
if (node.importClause.name && ohos_typescript_1.default.isIdentifier(node.importClause.name)) {
|
|
61
64
|
let importClauseName = node.importClause.name.text;
|
|
62
65
|
const pos = Position_1.LineColPosition.buildFromNode(node.importClause.name, sourceFile);
|
|
@@ -81,14 +84,18 @@ function buildImportDeclarationNode(node, sourceFile, arkFile) {
|
|
|
81
84
|
if (element.name === undefined || !ohos_typescript_1.default.isIdentifier(element.name)) {
|
|
82
85
|
return;
|
|
83
86
|
}
|
|
87
|
+
let modifier = modifiers;
|
|
88
|
+
if (element.isTypeOnly) {
|
|
89
|
+
modifier |= ArkBaseModel_1.ModifierType.TYPE;
|
|
90
|
+
}
|
|
84
91
|
let importClauseName = element.name.text;
|
|
85
92
|
const pos = Position_1.LineColPosition.buildFromNode(element, sourceFile);
|
|
86
93
|
let importInfo = new ArkImport_1.ImportInfo();
|
|
87
94
|
if (element.propertyName && ohos_typescript_1.default.isIdentifier(element.propertyName)) {
|
|
88
|
-
importInfo.build(importClauseName, importType, importFrom, pos,
|
|
95
|
+
importInfo.build(importClauseName, importType, importFrom, pos, modifier, element.propertyName.text);
|
|
89
96
|
}
|
|
90
97
|
else {
|
|
91
|
-
importInfo.build(importClauseName, importType, importFrom, pos,
|
|
98
|
+
importInfo.build(importClauseName, importType, importFrom, pos, modifier);
|
|
92
99
|
}
|
|
93
100
|
importInfo.setTsSourceCode(tsSourceCode);
|
|
94
101
|
IRUtils_1.IRUtils.setComments(importInfo, node, sourceFile, arkFile.getScene().getOptions());
|
|
@@ -117,8 +124,8 @@ function buildImportEqualsDeclarationNode(node, sourceFile, arkFile) {
|
|
|
117
124
|
let importInfos = [];
|
|
118
125
|
let importType = 'EqualsImport';
|
|
119
126
|
let modifiers = 0;
|
|
120
|
-
if (node.
|
|
121
|
-
modifiers
|
|
127
|
+
if (node.isTypeOnly) {
|
|
128
|
+
modifiers |= ArkBaseModel_1.ModifierType.TYPE;
|
|
122
129
|
}
|
|
123
130
|
if (node.moduleReference &&
|
|
124
131
|
ohos_typescript_1.default.isExternalModuleReference(node.moduleReference) &&
|