arkanalyzer 1.0.87 → 1.0.89
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/config/arkanalyzer.json +11 -0
- package/lib/Config.d.ts +27 -2
- package/lib/Config.d.ts.map +1 -1
- package/lib/Config.js +65 -2
- package/lib/Scene.d.ts +5 -2
- package/lib/Scene.d.ts.map +1 -1
- package/lib/Scene.js +34 -67
- package/lib/callgraph/pointerAnalysis/context/Context.d.ts.map +1 -1
- package/lib/callgraph/pointerAnalysis/context/Context.js +10 -12
- package/lib/callgraph/pointerAnalysis/plugins/WorkerPlugin.js +1 -1
- package/lib/cli/commands/cg.d.ts +27 -6
- package/lib/cli/commands/cg.d.ts.map +1 -1
- package/lib/cli/commands/cg.js +9 -6
- package/lib/core/base/Expr.js +3 -3
- package/lib/core/base/Position.d.ts +1 -1
- package/lib/core/base/Position.d.ts.map +1 -1
- package/lib/core/base/Position.js +2 -2
- package/lib/core/base/Type.d.ts.map +1 -1
- package/lib/core/base/Type.js +1 -2
- 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.map +1 -1
- package/lib/core/common/IRInference.js +1 -1
- package/lib/core/common/IRUtils.d.ts.map +1 -1
- package/lib/core/common/IRUtils.js +3 -33
- package/lib/core/common/ModelUtils.d.ts +6 -0
- package/lib/core/common/ModelUtils.d.ts.map +1 -1
- package/lib/core/common/ModelUtils.js +30 -0
- package/lib/core/common/SdkUtils.js +1 -1
- package/lib/core/common/TypeInference.d.ts +13 -0
- package/lib/core/common/TypeInference.d.ts.map +1 -1
- package/lib/core/common/TypeInference.js +44 -0
- package/lib/core/common/ValueUtil.d.ts +1 -1
- package/lib/core/common/ValueUtil.d.ts.map +1 -1
- package/lib/core/common/ValueUtil.js +28 -12
- package/lib/core/graph/Cfg.d.ts.map +1 -1
- package/lib/core/graph/Cfg.js +0 -2
- package/lib/core/graph/DominanceFinder.d.ts +3 -0
- package/lib/core/graph/DominanceFinder.d.ts.map +1 -1
- package/lib/core/graph/DominanceFinder.js +42 -36
- package/lib/core/graph/DominanceTree.d.ts.map +1 -1
- package/lib/core/graph/DominanceTree.js +0 -4
- package/lib/core/inference/ValueInference.d.ts.map +1 -1
- package/lib/core/inference/ValueInference.js +3 -2
- package/lib/core/inference/abc/AbcInference.d.ts.map +1 -1
- package/lib/core/inference/abc/AbcInference.js +2 -1
- package/lib/core/inference/arkts/ArkTsInference.d.ts.map +1 -1
- package/lib/core/inference/arkts/ArkTsInference.js +3 -2
- package/lib/core/model/ArkClass.d.ts +3 -0
- package/lib/core/model/ArkClass.d.ts.map +1 -1
- package/lib/core/model/ArkClass.js +32 -6
- package/lib/core/model/ArkFile.d.ts.map +1 -1
- package/lib/core/model/ArkFile.js +0 -1
- package/lib/core/model/ArkMetadata.d.ts +32 -1
- package/lib/core/model/ArkMetadata.d.ts.map +1 -1
- package/lib/core/model/ArkMetadata.js +28 -3
- package/lib/core/model/builder/ArkMetadataBuilder.d.ts +21 -0
- package/lib/core/model/builder/ArkMetadataBuilder.d.ts.map +1 -0
- package/lib/core/model/builder/ArkMetadataBuilder.js +160 -0
- package/lib/core/model/builder/ArkMethodBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/ArkMethodBuilder.js +32 -26
- package/lib/frontend/FrontendBuilder.d.ts +26 -0
- package/lib/frontend/FrontendBuilder.d.ts.map +1 -0
- package/lib/frontend/FrontendBuilder.js +108 -0
- package/lib/frontend/arktsFrontend/ArktsFrontend.d.ts +16 -0
- package/lib/frontend/arktsFrontend/ArktsFrontend.d.ts.map +1 -0
- package/lib/frontend/arktsFrontend/ArktsFrontend.js +52 -0
- package/lib/frontend/cppFrontend/CppFrontend.d.ts +13 -0
- package/lib/frontend/cppFrontend/CppFrontend.d.ts.map +1 -0
- package/lib/frontend/cppFrontend/CppFrontend.js +85 -0
- package/lib/frontend/cppFrontend/ast/index.d.ts +5 -0
- package/lib/frontend/cppFrontend/ast/index.d.ts.map +1 -0
- package/lib/frontend/cppFrontend/ast/index.js +31 -0
- package/lib/frontend/cppFrontend/ast/ts/ArkCxxAstNode.d.ts.map +1 -0
- package/lib/frontend/cppFrontend/ast/ts/astParser.d.ts +25 -0
- package/lib/frontend/cppFrontend/ast/ts/astParser.d.ts.map +1 -0
- package/lib/frontend/cppFrontend/ast/ts/astParser.js +280 -0
- package/lib/frontend/cppFrontend/ast/ts/astUtils.d.ts +18 -0
- package/lib/frontend/cppFrontend/ast/ts/astUtils.d.ts.map +1 -0
- package/lib/frontend/cppFrontend/ast/ts/astUtils.js +158 -0
- package/lib/frontend/cppFrontend/ast/{const.d.ts → ts/const.d.ts} +0 -13
- package/lib/frontend/cppFrontend/ast/ts/const.d.ts.map +1 -0
- package/lib/frontend/cppFrontend/ast/ts/const.js +58 -0
- package/lib/frontend/cppFrontend/ast/ts/napi/napiApi.d.ts +8 -0
- package/lib/frontend/cppFrontend/ast/ts/napi/napiApi.d.ts.map +1 -0
- package/lib/frontend/cppFrontend/ast/ts/napi/napiApi.js +90 -0
- package/lib/frontend/cppFrontend/ast/ts/napi/napiRunner.d.ts +8 -0
- package/lib/frontend/cppFrontend/ast/ts/napi/napiRunner.d.ts.map +1 -0
- package/lib/frontend/cppFrontend/ast/ts/napi/napiRunner.js +180 -0
- package/lib/frontend/cppFrontend/common/ArkIRTransformer.d.ts +1 -1
- package/lib/frontend/cppFrontend/common/ArkIRTransformer.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/common/ArkIRTransformer.js +55 -55
- package/lib/frontend/cppFrontend/common/ArkValueTransformer.d.ts +1 -1
- package/lib/frontend/cppFrontend/common/ArkValueTransformer.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/common/ArkValueTransformer.js +151 -151
- package/lib/frontend/cppFrontend/common/IRInference.js +2 -2
- package/lib/frontend/cppFrontend/common/IRUtils.d.ts +1 -1
- package/lib/frontend/cppFrontend/common/IRUtils.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/common/IRUtils.js +2 -2
- package/lib/frontend/cppFrontend/graph/builder/CfgBuilder.d.ts +1 -1
- package/lib/frontend/cppFrontend/graph/builder/CfgBuilder.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/graph/builder/CfgBuilder.js +74 -74
- package/lib/frontend/cppFrontend/model/builder/ArkClassBuilder.d.ts +1 -1
- package/lib/frontend/cppFrontend/model/builder/ArkClassBuilder.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/model/builder/ArkClassBuilder.js +3 -3
- package/lib/frontend/cppFrontend/model/builder/ArkFieldBuilder.d.ts +1 -1
- package/lib/frontend/cppFrontend/model/builder/ArkFieldBuilder.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/model/builder/ArkFileBuilder.d.ts +1 -1
- package/lib/frontend/cppFrontend/model/builder/ArkFileBuilder.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/model/builder/ArkFileBuilder.js +16 -17
- package/lib/frontend/cppFrontend/model/builder/ArkImportBuilder.d.ts +1 -1
- package/lib/frontend/cppFrontend/model/builder/ArkImportBuilder.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/model/builder/ArkMethodBuilder.d.ts +1 -1
- package/lib/frontend/cppFrontend/model/builder/ArkMethodBuilder.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/model/builder/ArkMethodBuilder.js +2 -2
- package/lib/frontend/cppFrontend/model/builder/ArkNamespaceBuilder.d.ts +1 -1
- package/lib/frontend/cppFrontend/model/builder/ArkNamespaceBuilder.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/model/builder/ArkNamespaceBuilder.js +2 -2
- package/lib/frontend/cppFrontend/model/builder/BodyBuilder.d.ts +1 -1
- package/lib/frontend/cppFrontend/model/builder/BodyBuilder.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/model/builder/builderUtils.d.ts +1 -1
- package/lib/frontend/cppFrontend/model/builder/builderUtils.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/model/builder/builderUtils.js +3 -3
- package/lib/index.d.ts +5 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +14 -6
- package/lib/pass/Dispatcher.d.ts.map +1 -1
- package/lib/pass/Dispatcher.js +0 -4
- package/lib/save/source/SourceStmt.d.ts.map +1 -1
- package/lib/save/source/SourceStmt.js +3 -1
- package/lib/utils/FileUtils.d.ts +1 -0
- package/lib/utils/FileUtils.d.ts.map +1 -1
- package/lib/utils/FileUtils.js +11 -3
- package/package.json +9 -4
- package/lib/frontend/cppFrontend/ast/ArkCxxAstNode.d.ts.map +0 -1
- package/lib/frontend/cppFrontend/ast/astUtils.d.ts +0 -51
- package/lib/frontend/cppFrontend/ast/astUtils.d.ts.map +0 -1
- package/lib/frontend/cppFrontend/ast/astUtils.js +0 -470
- package/lib/frontend/cppFrontend/ast/const.d.ts.map +0 -1
- package/lib/frontend/cppFrontend/ast/const.js +0 -134
- /package/lib/frontend/cppFrontend/ast/{ArkCxxAstNode.d.ts → ts/ArkCxxAstNode.d.ts} +0 -0
- /package/lib/frontend/cppFrontend/ast/{ArkCxxAstNode.js → ts/ArkCxxAstNode.js} +0 -0
package/lib/cli/commands/cg.js
CHANGED
|
@@ -17,7 +17,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
17
17
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
18
|
};
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.register = exports.runCgCommand = exports.resolveMethodRef = void 0;
|
|
20
|
+
exports.register = exports.runCgCommand = exports.analyzeCg = exports.resolveMethodRef = void 0;
|
|
21
21
|
const fs_1 = __importDefault(require("fs"));
|
|
22
22
|
const path_1 = __importDefault(require("path"));
|
|
23
23
|
const Scene_1 = require("../../Scene");
|
|
@@ -336,8 +336,7 @@ function collectOutputNodes(reachableIds, idToSig) {
|
|
|
336
336
|
}
|
|
337
337
|
return idsToSortedSignatures(reachableIds, idToSig);
|
|
338
338
|
}
|
|
339
|
-
function
|
|
340
|
-
const options = parseAndValidate(raw);
|
|
339
|
+
function analyzeCg(input, options) {
|
|
341
340
|
const scene = buildSceneForCg(input, options.ohosSdkHome);
|
|
342
341
|
const { cg, algorithmUsed, entry } = buildGraphForCg(scene, options.algorithm, options.entry);
|
|
343
342
|
const edgeRows = collectFilteredEdgeRows(scene, cg, options.edges);
|
|
@@ -347,7 +346,7 @@ function runCgCommand(input, raw) {
|
|
|
347
346
|
const filteredEdges = filterEdgesByReachability(edgeRows, reachableIds, sigToId);
|
|
348
347
|
const reachable = idsToSortedSignatures(reachableIds, idToSig);
|
|
349
348
|
const nodes = collectOutputNodes(reachableIds, idToSig);
|
|
350
|
-
|
|
349
|
+
return {
|
|
351
350
|
input,
|
|
352
351
|
algorithm: options.algorithm,
|
|
353
352
|
algorithmUsed,
|
|
@@ -361,8 +360,12 @@ function runCgCommand(input, raw) {
|
|
|
361
360
|
edgeCount: filteredEdges.length,
|
|
362
361
|
edgesData: filteredEdges,
|
|
363
362
|
};
|
|
364
|
-
|
|
365
|
-
|
|
363
|
+
}
|
|
364
|
+
exports.analyzeCg = analyzeCg;
|
|
365
|
+
function runCgCommand(input, raw) {
|
|
366
|
+
const options = parseAndValidate(raw);
|
|
367
|
+
const result = analyzeCg(input, options);
|
|
368
|
+
writeOutput(options.output, formatOutput(result, result.edgesData));
|
|
366
369
|
}
|
|
367
370
|
exports.runCgCommand = runCgCommand;
|
|
368
371
|
/**
|
package/lib/core/base/Expr.js
CHANGED
|
@@ -28,9 +28,9 @@ const ArkClass_1 = require("../model/ArkClass");
|
|
|
28
28
|
const ArkField_1 = require("../model/ArkField");
|
|
29
29
|
const ModelUtils_1 = require("../common/ModelUtils");
|
|
30
30
|
const Type_2 = require("../../frontend/cppFrontend/base/Type");
|
|
31
|
-
const
|
|
31
|
+
const ast_1 = require("../../frontend/cppFrontend/ast");
|
|
32
32
|
const Stmt_1 = require("./Stmt");
|
|
33
|
-
const CXX_SOURCE_EXTENSION_SET = (0,
|
|
33
|
+
const CXX_SOURCE_EXTENSION_SET = (0, ast_1.getCxxSourceFileExtensionSet)();
|
|
34
34
|
function isCxxLikeFileName(fileName) {
|
|
35
35
|
const normalized = fileName.toLowerCase();
|
|
36
36
|
for (const extension of CXX_SOURCE_EXTENSION_SET) {
|
|
@@ -389,7 +389,7 @@ class ArkNewExpr extends AbstractExpr {
|
|
|
389
389
|
var _a;
|
|
390
390
|
const classConstructor = arkMethod.getDeclaringArkFile().getScene().getClass(type.getClassSignature());
|
|
391
391
|
if ((classConstructor === null || classConstructor === void 0 ? void 0 : classConstructor.getCategory()) === ArkClass_1.ClassCategory.INTERFACE) {
|
|
392
|
-
const type = (_a = classConstructor.getMethodWithName(
|
|
392
|
+
const type = (_a = classConstructor.getMethodWithName(Const_1.CONSTRUCT_SIGNATURE_NAME)) === null || _a === void 0 ? void 0 : _a.getReturnType();
|
|
393
393
|
if (type) {
|
|
394
394
|
const returnType = TypeInference_1.TypeInference.replaceAliasType(type);
|
|
395
395
|
return returnType instanceof Type_1.ClassType ? returnType : undefined;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import ts from 'ohos-typescript';
|
|
2
|
-
import { CxxAstNode } from '../../frontend/cppFrontend/ast
|
|
2
|
+
import { CxxAstNode } from '../../frontend/cppFrontend/ast';
|
|
3
3
|
export type LineCol = number;
|
|
4
4
|
export declare function setLine(lineCol: LineCol, lineNo: number): LineCol;
|
|
5
5
|
export declare function setCol(lineCol: LineCol, colNo: number): LineCol;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Position.d.ts","sourceRoot":"","sources":["../../../src/core/base/Position.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAGjC,OAAO,EAAE,UAAU,EAA0B,MAAM,
|
|
1
|
+
{"version":3,"file":"Position.d.ts","sourceRoot":"","sources":["../../../src/core/base/Position.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAGjC,OAAO,EAAE,UAAU,EAA0B,MAAM,gCAAgC,CAAC;AAUpF,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAE7B,wBAAgB,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAUjE;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAU/D;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAKjE;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAMlD;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAMjD;AAED;;GAEG;AACH,qBAAa,eAAe;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAElC,gBAAuB,OAAO,EAAE,eAAe,CAAmD;gBAEtF,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAIlC,SAAS,IAAI,MAAM;IAInB,QAAQ,IAAI,MAAM;WAIX,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,eAAe;IAMtF;;;;OAIG;WACW,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe;CAIpE;AAED,qBAAa,YAAY;IACrB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAU;IAE/B,gBAAuB,OAAO,EAAE,YAAY,CAA4E;gBAE5G,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAK3E,YAAY,IAAI,MAAM;IAItB,WAAW,IAAI,MAAM;IAIrB,WAAW,IAAI,MAAM;IAIrB,UAAU,IAAI,MAAM;WAIb,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,YAAY;IAQnF;;;;;OAKG;WACW,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,EAAE,WAAW,EAAE,UAAU,GAAG,YAAY;WAWrF,KAAK,CAAC,gBAAgB,EAAE,YAAY,EAAE,iBAAiB,EAAE,YAAY,GAAG,YAAY;CAQrG"}
|
|
@@ -43,7 +43,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
43
43
|
exports.FullPosition = exports.LineColPosition = exports.getColNo = exports.getLineNo = exports.setLineCol = exports.setCol = exports.setLine = void 0;
|
|
44
44
|
const ohos_typescript_1 = __importDefault(require("ohos-typescript"));
|
|
45
45
|
const logger_1 = __importStar(require("../../utils/logger"));
|
|
46
|
-
const
|
|
46
|
+
const ast_1 = require("../../frontend/cppFrontend/ast");
|
|
47
47
|
const logger = logger_1.default.getLogger(logger_1.LOG_MODULE_TYPE.ARKANALYZER, 'Position');
|
|
48
48
|
const LOW_BITS_SIZE = 16;
|
|
49
49
|
const LOW_BITS_MASK = 0xffff;
|
|
@@ -120,7 +120,7 @@ class LineColPosition {
|
|
|
120
120
|
* @returns A LineColPosition object containing the line and character information. Default LineColPosition is (0, 0).
|
|
121
121
|
*/
|
|
122
122
|
static cxxBuildFromNode(node) {
|
|
123
|
-
const nodePos = (0,
|
|
123
|
+
const nodePos = (0, ast_1.getNodeStartLineAndCol)(node);
|
|
124
124
|
return new LineColPosition(nodePos.line, nodePos.col);
|
|
125
125
|
}
|
|
126
126
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Type.d.ts","sourceRoot":"","sources":["../../../src/core/base/Type.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Type.d.ts","sourceRoot":"","sources":["../../../src/core/base/Type.ts"],"names":[],"mappings":"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"}
|
package/lib/core/base/Type.js
CHANGED
|
@@ -729,9 +729,8 @@ exports.AnnotationTypeQueryType = AnnotationTypeQueryType;
|
|
|
729
729
|
class LexicalEnvType extends Type {
|
|
730
730
|
constructor(nestedMethod, closures) {
|
|
731
731
|
super();
|
|
732
|
-
this.closures = [];
|
|
733
732
|
this.nestedMethodSignature = nestedMethod;
|
|
734
|
-
this.closures = closures !== null && closures !== void 0 ? closures :
|
|
733
|
+
this.closures = closures !== null && closures !== void 0 ? closures : [];
|
|
735
734
|
}
|
|
736
735
|
getNestedMethod() {
|
|
737
736
|
return this.nestedMethodSignature;
|
|
@@ -16,6 +16,7 @@ export declare const ANONYMOUS_METHOD_PREFIX: string;
|
|
|
16
16
|
export declare const CALL_SIGNATURE_NAME = "create";
|
|
17
17
|
export declare const GETTER_PREFIX = "Get-";
|
|
18
18
|
export declare const SETTER_PREFIX = "Set-";
|
|
19
|
+
export declare const CONSTRUCT_SIGNATURE_NAME = "construct-signature";
|
|
19
20
|
export declare const UNKNOWN_PROJECT_NAME: string;
|
|
20
21
|
export declare const UNKNOWN_FILE_NAME: string;
|
|
21
22
|
export declare const UNKNOWN_NAMESPACE_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,yEAAyE;AACzE,eAAO,MAAM,0BAA0B,QAAqB,CAAC;AAC7D,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;AAC5C,eAAO,MAAM,aAAa,SAAS,CAAC;AACpC,eAAO,MAAM,aAAa,SAAS,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,yEAAyE;AACzE,eAAO,MAAM,0BAA0B,QAAqB,CAAC;AAC7D,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;AAC5C,eAAO,MAAM,aAAa,SAAS,CAAC;AACpC,eAAO,MAAM,aAAa,SAAS,CAAC;AACpC,eAAO,MAAM,wBAAwB,wBAAwB,CAAC;AAG9D,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;AAG7C,eAAO,MAAM,UAAU,eAAe,CAAC;AACvC,eAAO,MAAM,WAAW,gBAAgB,CAAC;AACzC,eAAO,MAAM,YAAY,eAAe,CAAC;AACzC,eAAO,MAAM,qBAAqB,aAAa,CAAC;AAChD,eAAO,MAAM,2BAA2B,wBAAwB,CAAC;AACjE,eAAO,MAAM,iCAAiC,6BAA6B,CAAC;AAC5E,eAAO,MAAM,4BAA4B,yBAAyB,CAAC;AACnE,eAAO,MAAM,sBAAsB,cAAc,CAAC;AAClD,eAAO,MAAM,sBAAsB,kBAAkB,CAAC;AACtD,eAAO,MAAM,0BAA0B,qBAAqB,CAAC;AAC7D,eAAO,MAAM,yBAAyB,eAAe,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.COMPONENT_DETACHED_METHOD = exports.COMPONENT_DISAPPEAR_METHOD = exports.COMPONENT_START_METHOD = exports.ABILITY_DESTROY_METHOD = exports.ABILITY_STAGE_DESTROY_METHOD = exports.ABILITY_STAGE_WILL_DESTROY_METHOD = exports.ABILITY_STAGE_CREATE_METHOD = exports.ABILITY_CREATE_METHOD = exports.DUMMY_METHOD = exports.DUMMY_CLASS = exports.DUMMY_FILE = 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.SETTER_PREFIX = exports.GETTER_PREFIX = 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_NAMESPACE_PREFIX = 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.COMPONENT_DETACHED_METHOD = exports.COMPONENT_DISAPPEAR_METHOD = exports.COMPONENT_START_METHOD = exports.ABILITY_DESTROY_METHOD = exports.ABILITY_STAGE_DESTROY_METHOD = exports.ABILITY_STAGE_WILL_DESTROY_METHOD = exports.ABILITY_STAGE_CREATE_METHOD = exports.ABILITY_CREATE_METHOD = exports.DUMMY_METHOD = exports.DUMMY_CLASS = exports.DUMMY_FILE = 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.CONSTRUCT_SIGNATURE_NAME = exports.SETTER_PREFIX = exports.GETTER_PREFIX = 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_NAMESPACE_PREFIX = 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 = '%';
|
|
@@ -36,6 +36,7 @@ exports.ANONYMOUS_METHOD_PREFIX = exports.NAME_PREFIX + 'AM';
|
|
|
36
36
|
exports.CALL_SIGNATURE_NAME = 'create';
|
|
37
37
|
exports.GETTER_PREFIX = 'Get-';
|
|
38
38
|
exports.SETTER_PREFIX = 'Set-';
|
|
39
|
+
exports.CONSTRUCT_SIGNATURE_NAME = 'construct-signature'; // method name for constructor like method in library
|
|
39
40
|
// ArkSignature const
|
|
40
41
|
exports.UNKNOWN_PROJECT_NAME = exports.NAME_PREFIX + exports.UNKNOWN_NAME;
|
|
41
42
|
exports.UNKNOWN_FILE_NAME = exports.NAME_PREFIX + exports.UNKNOWN_NAME;
|
|
@@ -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;AAG7C,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;
|
|
1
|
+
{"version":3,"file":"IRInference.d.ts","sourceRoot":"","sources":["../../../src/core/common/IRInference.ts"],"names":[],"mappings":"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"}
|
|
@@ -455,7 +455,7 @@ class IRInference {
|
|
|
455
455
|
}
|
|
456
456
|
let method;
|
|
457
457
|
if (methodName === TSConst_1.CONSTRUCTOR_NAME) {
|
|
458
|
-
method = (_c = (_b = declaredClass === null || declaredClass === void 0 ? void 0 : declaredClass.getMethodWithName(
|
|
458
|
+
method = (_c = (_b = declaredClass === null || declaredClass === void 0 ? void 0 : declaredClass.getMethodWithName(Const_1.CONSTRUCT_SIGNATURE_NAME)) !== 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);
|
|
459
459
|
if (!method) {
|
|
460
460
|
const subSignature = new ArkSignature_1.MethodSubSignature(methodName, [], new Type_1.ClassType(baseType.getClassSignature()));
|
|
461
461
|
expr.setMethodSignature(new ArkSignature_1.MethodSignature(baseType.getClassSignature(), subSignature));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IRUtils.d.ts","sourceRoot":"","sources":["../../../src/core/common/IRUtils.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,
|
|
1
|
+
{"version":3,"file":"IRUtils.d.ts","sourceRoot":"","sources":["../../../src/core/common/IRUtils.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAKhD,qBAAa,OAAO;WACF,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;WAczC,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;WAWvC,WAAW,CAAC,QAAQ,EAAE,IAAI,GAAG,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;WAIjH,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,GAAG,gBAAgB;WAI1H,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;WAIlC,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,GAAG,MAAM;WAYlD,8BAA8B,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,GAAG,IAAI;WAqClF,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,EAAE;CAOxE"}
|
|
@@ -13,18 +13,14 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
|
-
};
|
|
19
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
17
|
exports.IRUtils = void 0;
|
|
21
18
|
const Expr_1 = require("../base/Expr");
|
|
22
19
|
const Ref_1 = require("../base/Ref");
|
|
23
|
-
const ohos_typescript_1 = __importDefault(require("ohos-typescript"));
|
|
24
|
-
const ArkMetadata_1 = require("../model/ArkMetadata");
|
|
25
20
|
const Position_1 = require("../base/Position");
|
|
26
21
|
const Local_1 = require("../base/Local");
|
|
27
22
|
const Const_1 = require("./Const");
|
|
23
|
+
const ArkMetadataBuilder_1 = require("../model/builder/ArkMetadataBuilder");
|
|
28
24
|
class IRUtils {
|
|
29
25
|
static moreThanOneAddress(value) {
|
|
30
26
|
if (value instanceof Expr_1.AbstractBinopExpr ||
|
|
@@ -48,36 +44,10 @@ class IRUtils {
|
|
|
48
44
|
}
|
|
49
45
|
}
|
|
50
46
|
static setComments(metadata, node, sourceFile, options) {
|
|
51
|
-
|
|
52
|
-
if (leadingCommentsMetadata.getComments().length > 0) {
|
|
53
|
-
metadata.setMetadata(ArkMetadata_1.ArkMetadataKind.LEADING_COMMENTS, leadingCommentsMetadata);
|
|
54
|
-
}
|
|
55
|
-
const trailingCommentsMetadata = this.getCommentsMetadata(node, sourceFile, options, false);
|
|
56
|
-
if (trailingCommentsMetadata.getComments().length > 0) {
|
|
57
|
-
metadata.setMetadata(ArkMetadata_1.ArkMetadataKind.TRAILING_COMMENTS, trailingCommentsMetadata);
|
|
58
|
-
}
|
|
47
|
+
ArkMetadataBuilder_1.ArkMetadataBuilder.setComments(metadata, node, sourceFile, options);
|
|
59
48
|
}
|
|
60
49
|
static getCommentsMetadata(node, sourceFile, options, isLeading) {
|
|
61
|
-
|
|
62
|
-
if ((isLeading && !options.enableLeadingComments) || (!isLeading && !options.enableTrailingComments)) {
|
|
63
|
-
return new ArkMetadata_1.CommentsMetadata(comments);
|
|
64
|
-
}
|
|
65
|
-
// node.pos is the start position of
|
|
66
|
-
const commentRanges = (isLeading ? ohos_typescript_1.default.getLeadingCommentRanges(sourceFile.text, node.pos) : ohos_typescript_1.default.getTrailingCommentRanges(sourceFile.text, node.end)) || [];
|
|
67
|
-
// leading comment, while node.end is the
|
|
68
|
-
// end position of the statement
|
|
69
|
-
const getPosition = (pos, end) => {
|
|
70
|
-
const start = ohos_typescript_1.default.getLineAndCharacterOfPosition(sourceFile, pos);
|
|
71
|
-
const endPos = ohos_typescript_1.default.getLineAndCharacterOfPosition(sourceFile, end);
|
|
72
|
-
return new Position_1.FullPosition(start.line + 1, start.character + 1, endPos.line + 1, endPos.character + 1);
|
|
73
|
-
};
|
|
74
|
-
for (const range of commentRanges) {
|
|
75
|
-
comments.push({
|
|
76
|
-
content: sourceFile.text.substring(range.pos, range.end).replace(/\r\n/g, '\n'),
|
|
77
|
-
position: getPosition(range.pos, range.end),
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
return new ArkMetadata_1.CommentsMetadata(comments);
|
|
50
|
+
return ArkMetadataBuilder_1.ArkMetadataBuilder.getCommentsMetadata(node, sourceFile, options, isLeading);
|
|
81
51
|
}
|
|
82
52
|
static isTempLocal(value) {
|
|
83
53
|
return value instanceof Local_1.Local && value.getName().startsWith(Const_1.NAME_PREFIX);
|
|
@@ -54,6 +54,12 @@ export declare class ModelUtils {
|
|
|
54
54
|
static findGlobalRef(refName: string, method: ArkMethod): ArkExport | null;
|
|
55
55
|
static findArkModelByRefName(refName: string, arkClass: ArkClass): ArkExport | ArkField | null;
|
|
56
56
|
static findArkModelBySignature(signature: Signature, scene: Scene): ArkExport | ArkField | null;
|
|
57
|
+
/**
|
|
58
|
+
* Finds the initial value that a given value was assigned from by tracing through assignments.
|
|
59
|
+
* The method recursively traces the value to handle chained assignments.
|
|
60
|
+
* Has a maximum recursion depth of 10 to prevent infinite loops.
|
|
61
|
+
*/
|
|
62
|
+
static findRefInitValue(value: Value, scene: Scene, times?: number): Value;
|
|
57
63
|
static parseArkBaseModel2Type(arkBaseModel: ArkBaseModel): Type | null;
|
|
58
64
|
static isMatched(parameters: MethodParameter[], args: Value[], scene: Scene, isArrowFunc?: boolean): boolean;
|
|
59
65
|
private static matchParam;
|
|
@@ -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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"}
|
|
@@ -513,6 +513,36 @@ class ModelUtils {
|
|
|
513
513
|
}
|
|
514
514
|
return null;
|
|
515
515
|
}
|
|
516
|
+
/**
|
|
517
|
+
* Finds the initial value that a given value was assigned from by tracing through assignments.
|
|
518
|
+
* The method recursively traces the value to handle chained assignments.
|
|
519
|
+
* Has a maximum recursion depth of 10 to prevent infinite loops.
|
|
520
|
+
*/
|
|
521
|
+
static findRefInitValue(value, scene, times = 0) {
|
|
522
|
+
if (times > 10) {
|
|
523
|
+
return value;
|
|
524
|
+
}
|
|
525
|
+
let initValue;
|
|
526
|
+
if (value instanceof Local_1.Local) {
|
|
527
|
+
// Try to trace the value assignment
|
|
528
|
+
const declaringStmt = value.getDeclaringStmt();
|
|
529
|
+
if (declaringStmt instanceof Stmt_1.ArkAssignStmt) {
|
|
530
|
+
initValue = this.findRefInitValue(declaringStmt.getRightOp(), scene, times + 1);
|
|
531
|
+
}
|
|
532
|
+
}
|
|
533
|
+
else if (value instanceof Ref_1.ArkInstanceFieldRef) {
|
|
534
|
+
// Try to trace the field ref
|
|
535
|
+
const field = ModelUtils.findArkModelBySignature(value.getFieldSignature(), scene);
|
|
536
|
+
if (field instanceof ArkField_1.ArkField) {
|
|
537
|
+
const stmts = field.getInitializer();
|
|
538
|
+
const lastStmt = stmts[stmts.length - 1];
|
|
539
|
+
if (lastStmt instanceof Stmt_1.ArkAssignStmt) {
|
|
540
|
+
initValue = this.findRefInitValue(lastStmt.getRightOp(), scene, times + 1);
|
|
541
|
+
}
|
|
542
|
+
}
|
|
543
|
+
}
|
|
544
|
+
return initValue !== null && initValue !== void 0 ? initValue : value;
|
|
545
|
+
}
|
|
516
546
|
static parseArkBaseModel2Type(arkBaseModel) {
|
|
517
547
|
if (arkBaseModel instanceof ArkClass_1.ArkClass) {
|
|
518
548
|
return new Type_1.ClassType(arkBaseModel.getSignature(), arkBaseModel.getGenericsTypes());
|
|
@@ -117,7 +117,7 @@ class SdkUtils {
|
|
|
117
117
|
this.sdkImportMap.set(fileName.replace(/\.d\.e?ts$/, ''), file);
|
|
118
118
|
}
|
|
119
119
|
else if (file.getName().startsWith('api')) {
|
|
120
|
-
this.sdkImportMap.set(file.getName().replace(
|
|
120
|
+
this.sdkImportMap.set(file.getName().replace(/^api[/\\]|\.d\.e?ts$/g, ''), file);
|
|
121
121
|
}
|
|
122
122
|
}
|
|
123
123
|
static getImportSdkFile(from) {
|
|
@@ -8,6 +8,7 @@ import { ArkField } from '../model/ArkField';
|
|
|
8
8
|
import { Value } from '../base/Value';
|
|
9
9
|
import { MethodSignature, MethodSubSignature } from '../model/ArkSignature';
|
|
10
10
|
import { MethodParameter } from '../model/builder/ArkMethodBuilder';
|
|
11
|
+
import { Scene } from '../../Scene';
|
|
11
12
|
export declare class TypeInference {
|
|
12
13
|
static inferTypeInArkField(arkField: ArkField): void;
|
|
13
14
|
/**
|
|
@@ -119,5 +120,17 @@ export declare class TypeInference {
|
|
|
119
120
|
static isTypeCanBeOverride(type: Type): boolean;
|
|
120
121
|
static union(type1: Type, type2: Type): Type;
|
|
121
122
|
static isSameType(type1: Type, type2: Type): boolean;
|
|
123
|
+
/**
|
|
124
|
+
* Infers the refined type for a value based on its initializer.
|
|
125
|
+
* If the value has an enum type, returns the enum type directly.
|
|
126
|
+
* If the value's declared type is AnyType, returns the initializer type.
|
|
127
|
+
* If the initializer type is a subtype or the same type as the declared type, returns the initializer type.
|
|
128
|
+
* Otherwise, returns the declared type.
|
|
129
|
+
*/
|
|
130
|
+
static inferRefinedValueType(value: Value, scene: Scene): Type;
|
|
131
|
+
/**
|
|
132
|
+
* Checks if the child type is a subtype of the parent type or the same type.
|
|
133
|
+
*/
|
|
134
|
+
static isSubType(child: Type, parent: Type, scene: Scene): boolean;
|
|
122
135
|
}
|
|
123
136
|
//# sourceMappingURL=TypeInference.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypeInference.d.ts","sourceRoot":"","sources":["../../../src/core/common/TypeInference.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAUtC,OAAO,EAAwD,IAAI,EAAE,MAAM,cAAc,CAAC;AAC1F,OAAO,EAQH,aAAa,EACb,YAAY,EACZ,WAAW,
|
|
1
|
+
{"version":3,"file":"TypeInference.d.ts","sourceRoot":"","sources":["../../../src/core/common/TypeInference.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAUtC,OAAO,EAAwD,IAAI,EAAE,MAAM,cAAc,CAAC;AAC1F,OAAO,EAQH,aAAa,EACb,YAAY,EACZ,WAAW,EAQX,IAAI,EACJ,oBAAoB,EAKvB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAiB,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAiB,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAuBtC,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAsB,MAAM,uBAAuB,CAAC;AAWhG,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAKpE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAKpC,qBAAa,aAAa;WACR,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAqC3D;;;;;;;;;OASG;WACW,kBAAkB,CAAC,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,OAAO,GAAE,GAAG,CAAC,IAAI,CAAa,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS;IAgCxI,OAAO,CAAC,MAAM,CAAC,uBAAuB;WAmCxB,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAuC3D,OAAO,CAAC,MAAM,CAAC,WAAW;IAY1B;;;OAGG;WACW,uBAAuB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAkBjE;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAuBjC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAMrC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAqBrC,OAAO,CAAC,MAAM,CAAC,UAAU;WAwBX,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,KAAK,GAAG,IAAI;WAgBxE,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;IAsBvF;;;;OAIG;WACW,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI;IAmB1E,OAAO,CAAC,MAAM,CAAC,aAAa;IAuB5B,OAAO,CAAC,MAAM,CAAC,eAAe;WAwBhB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI;WAQ5C,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO;WA8BrD,SAAS,CAAC,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,OAAO,EAC3B,OAAO,GAAE,GAAG,CAAC,IAAI,CAAa,GAAG,OAAO;WAwBlD,qBAAqB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;WAcvC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;WA6BvC,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI;WAU/D,kBAAkB,CAAC,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI;WAgBtE,wBAAwB,CAAC,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI;WA2BnF,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI;WA8BlD,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAmB1F;;;;;;;OAOG;WACW,mBAAmB,CAAC,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI;IAUhG;;;;;;;OAOG;WACW,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI;IAoCnF;;;;;;;;;OASG;WACW,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI;IAoC3G,OAAO,CAAC,MAAM,CAAC,mBAAmB;IA0BlC,OAAO,CAAC,MAAM,CAAC,eAAe;WAUhB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,aAAa,GAAG,IAAI;IAoBxE,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAYlC;;;;;;;OAOG;WACW,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI;WAehE,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI;WAqBlE,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI;WAK1E,qBAAqB,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;WAe9E,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI;WASrE,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,OAAO,GAAE,GAAG,CAAC,IAAI,CAAa,GAAG,IAAI;WAgBzF,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI;WAkC9E,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;WAQlC,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,GAAG,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,SAAS,GAAG,IAAI;IA4B9I,OAAO,CAAC,MAAM,CAAC,oBAAoB;WAerB,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO;WAYvD,gBAAgB,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO;WAO1C,mBAAmB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;WAcxC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,IAAI;WAuBrC,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,OAAO;IAa3D;;;;;;OAMG;WACW,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAkBrE;;OAEG;WACW,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO;CAiB5E"}
|
|
@@ -1090,5 +1090,49 @@ class TypeInference {
|
|
|
1090
1090
|
}
|
|
1091
1091
|
return type1.constructor === type2.constructor;
|
|
1092
1092
|
}
|
|
1093
|
+
/**
|
|
1094
|
+
* Infers the refined type for a value based on its initializer.
|
|
1095
|
+
* If the value has an enum type, returns the enum type directly.
|
|
1096
|
+
* If the value's declared type is AnyType, returns the initializer type.
|
|
1097
|
+
* If the initializer type is a subtype or the same type as the declared type, returns the initializer type.
|
|
1098
|
+
* Otherwise, returns the declared type.
|
|
1099
|
+
*/
|
|
1100
|
+
static inferRefinedValueType(value, scene) {
|
|
1101
|
+
const rightType = ModelUtils_1.ModelUtils.findRefInitValue(value, scene).getType();
|
|
1102
|
+
if (rightType instanceof Type_1.EnumValueType) {
|
|
1103
|
+
return rightType;
|
|
1104
|
+
}
|
|
1105
|
+
let leftType = value.getType();
|
|
1106
|
+
if (rightType && this.checkType(leftType, t => t instanceof Type_1.AnyType)) {
|
|
1107
|
+
return rightType;
|
|
1108
|
+
}
|
|
1109
|
+
if (!rightType || this.isAnonType(rightType, scene.getProjectName())) {
|
|
1110
|
+
return leftType;
|
|
1111
|
+
}
|
|
1112
|
+
if (this.isSubType(rightType, leftType, scene)) {
|
|
1113
|
+
return rightType;
|
|
1114
|
+
}
|
|
1115
|
+
return leftType;
|
|
1116
|
+
}
|
|
1117
|
+
/**
|
|
1118
|
+
* Checks if the child type is a subtype of the parent type or the same type.
|
|
1119
|
+
*/
|
|
1120
|
+
static isSubType(child, parent, scene) {
|
|
1121
|
+
const real = child instanceof Type_1.AliasType ? this.replaceAliasType(child) : child;
|
|
1122
|
+
const declare = parent instanceof Type_1.AliasType ? this.replaceAliasType(parent) : parent;
|
|
1123
|
+
if (!(declare instanceof Type_1.ClassType) || !(real instanceof Type_1.ClassType)) {
|
|
1124
|
+
return false;
|
|
1125
|
+
}
|
|
1126
|
+
const fatherClass = scene.getClass(declare.getClassSignature());
|
|
1127
|
+
let childClass = scene.getClass(real.getClassSignature());
|
|
1128
|
+
while (childClass) {
|
|
1129
|
+
if (childClass === fatherClass) {
|
|
1130
|
+
return true;
|
|
1131
|
+
}
|
|
1132
|
+
childClass = childClass === null || childClass === void 0 ? void 0 : childClass.getSuperClass();
|
|
1133
|
+
}
|
|
1134
|
+
const objectClass = scene.getSdkGlobal(Builtin_1.Builtin.OBJECT);
|
|
1135
|
+
return fatherClass === objectClass;
|
|
1136
|
+
}
|
|
1093
1137
|
}
|
|
1094
1138
|
exports.TypeInference = TypeInference;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { BigIntConstant, Constant, StringConstant } from '../base/Constant';
|
|
2
2
|
export declare const EMPTY_STRING = "";
|
|
3
3
|
export declare class ValueUtil {
|
|
4
|
-
private static readonly NumberConstantCache;
|
|
5
4
|
static readonly EMPTY_STRING_CONSTANT: StringConstant;
|
|
6
5
|
static dispose(): void;
|
|
7
6
|
static getOrCreateNumberConst(n: number | string): Constant;
|
|
8
7
|
static createBigIntConst(bigInt: bigint): BigIntConstant;
|
|
8
|
+
private static getOrCreateStringConst;
|
|
9
9
|
static createStringConst(str: string): Constant;
|
|
10
10
|
static createConst(str: string): Constant;
|
|
11
11
|
static getUndefinedConst(): Constant;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValueUtil.d.ts","sourceRoot":"","sources":["../../../src/core/common/ValueUtil.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,cAAc,EAAmB,QAAQ,EAAgC,cAAc,EAAqB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"ValueUtil.d.ts","sourceRoot":"","sources":["../../../src/core/common/ValueUtil.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,cAAc,EAAmB,QAAQ,EAAgC,cAAc,EAAqB,MAAM,kBAAkB,CAAC;AAG9I,eAAO,MAAM,YAAY,KAAK,CAAC;AAG/B,qBAAa,SAAS;IAClB,gBAAuB,qBAAqB,iBAAoC;WAOlE,OAAO,IAAI,IAAI;WAUf,sBAAsB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ;WAUpD,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc;IAK/D,OAAO,CAAC,MAAM,CAAC,sBAAsB;WAIvB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ;WAUxC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ;WAQlC,iBAAiB,IAAI,QAAQ;WAI7B,eAAe,IAAI,QAAQ;WAI3B,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ;CAG7D"}
|
|
@@ -13,17 +13,27 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
17
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
18
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
19
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
20
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
21
|
+
};
|
|
16
22
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
23
|
exports.ValueUtil = exports.EMPTY_STRING = void 0;
|
|
18
24
|
const Constant_1 = require("../base/Constant");
|
|
25
|
+
const LRUCacheDecorator_1 = require("../../utils/LRUCacheDecorator");
|
|
19
26
|
exports.EMPTY_STRING = '';
|
|
27
|
+
const STRING_CACHE_MAX_LENGTH = 32;
|
|
20
28
|
class ValueUtil {
|
|
21
29
|
/*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
30
|
+
* Clear LRU caches for number and string constants.
|
|
31
|
+
* These caches are used during IR construction and should be cleared after
|
|
32
|
+
* inferTypes() is complete to allow GC to reclaim memory.
|
|
24
33
|
*/
|
|
25
34
|
static dispose() {
|
|
26
|
-
|
|
35
|
+
(0, LRUCacheDecorator_1.clearLRUCache)(ValueUtil, 'getOrCreateNumberConst');
|
|
36
|
+
(0, LRUCacheDecorator_1.clearLRUCache)(ValueUtil, 'getOrCreateStringConst');
|
|
27
37
|
}
|
|
28
38
|
/*
|
|
29
39
|
* Get the number constant instance according to its value, and create a new one if didn't find.
|
|
@@ -37,20 +47,21 @@ class ValueUtil {
|
|
|
37
47
|
else {
|
|
38
48
|
nStr = n;
|
|
39
49
|
}
|
|
40
|
-
|
|
41
|
-
if (constant === undefined) {
|
|
42
|
-
constant = new Constant_1.NumberConstant(nStr);
|
|
43
|
-
this.NumberConstantCache.set(nStr, constant);
|
|
44
|
-
}
|
|
45
|
-
return constant;
|
|
50
|
+
return new Constant_1.NumberConstant(nStr);
|
|
46
51
|
}
|
|
47
52
|
static createBigIntConst(bigInt) {
|
|
48
53
|
return new Constant_1.BigIntConstant(bigInt);
|
|
49
54
|
}
|
|
55
|
+
static getOrCreateStringConst(str) {
|
|
56
|
+
return new Constant_1.StringConstant(str);
|
|
57
|
+
}
|
|
50
58
|
static createStringConst(str) {
|
|
51
59
|
if (str === exports.EMPTY_STRING) {
|
|
52
60
|
return this.EMPTY_STRING_CONSTANT;
|
|
53
61
|
}
|
|
62
|
+
if (str.length < STRING_CACHE_MAX_LENGTH) {
|
|
63
|
+
return this.getOrCreateStringConst(str);
|
|
64
|
+
}
|
|
54
65
|
return new Constant_1.StringConstant(str);
|
|
55
66
|
}
|
|
56
67
|
static createConst(str) {
|
|
@@ -58,7 +69,7 @@ class ValueUtil {
|
|
|
58
69
|
if (!isNaN(n)) {
|
|
59
70
|
return this.getOrCreateNumberConst(str);
|
|
60
71
|
}
|
|
61
|
-
return
|
|
72
|
+
return this.createStringConst(str);
|
|
62
73
|
}
|
|
63
74
|
static getUndefinedConst() {
|
|
64
75
|
return Constant_1.UndefinedConstant.getInstance();
|
|
@@ -70,6 +81,11 @@ class ValueUtil {
|
|
|
70
81
|
return Constant_1.BooleanConstant.getInstance(value);
|
|
71
82
|
}
|
|
72
83
|
}
|
|
73
|
-
exports.ValueUtil = ValueUtil;
|
|
74
|
-
ValueUtil.NumberConstantCache = new Map();
|
|
75
84
|
ValueUtil.EMPTY_STRING_CONSTANT = new Constant_1.StringConstant(exports.EMPTY_STRING);
|
|
85
|
+
__decorate([
|
|
86
|
+
(0, LRUCacheDecorator_1.LRUCache)(128)
|
|
87
|
+
], ValueUtil, "getOrCreateNumberConst", null);
|
|
88
|
+
__decorate([
|
|
89
|
+
(0, LRUCacheDecorator_1.LRUCache)(4096)
|
|
90
|
+
], ValueUtil, "getOrCreateStringConst", null);
|
|
91
|
+
exports.ValueUtil = ValueUtil;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cfg.d.ts","sourceRoot":"","sources":["../../../src/core/graph/Cfg.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAgB,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAK1C,OAAO,EAAoB,SAAS,EAAE,MAAM,aAAa,CAAC;AAI1D;;GAEG;AACH,qBAAa,GAAG;IACZ,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,WAAW,CAAoC;IACvD,OAAO,CAAC,YAAY,CAAQ;IAE5B,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,eAAe,
|
|
1
|
+
{"version":3,"file":"Cfg.d.ts","sourceRoot":"","sources":["../../../src/core/graph/Cfg.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAgB,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAK1C,OAAO,EAAoB,SAAS,EAAE,MAAM,aAAa,CAAC;AAI1D;;GAEG;AACH,qBAAa,GAAG;IACZ,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,WAAW,CAAoC;IACvD,OAAO,CAAC,YAAY,CAAQ;IAE5B,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,eAAe,CAAa;;IAI7B,cAAc,IAAI,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC;IAIvC,QAAQ,IAAI,IAAI,EAAE;IAQzB;;;;;OAKG;IACI,WAAW,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,GAAG,MAAM;IAUhE;;;;;OAKG;IACI,YAAY,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,GAAG,MAAM;IAUjE;;;;OAIG;IACI,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAS/B;;;;OAIG;IACI,mBAAmB,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI;IAerE,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAQjC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE,gBAAgB,GAAE,OAAc,GAAG,IAAI;IAYjF;;;OAGG;IACI,SAAS,IAAI,GAAG,CAAC,UAAU,CAAC;IAI5B,gBAAgB,IAAI,UAAU,GAAG,SAAS;IAM1C,eAAe,IAAI,IAAI;IAIvB,eAAe,CAAC,eAAe,EAAE,IAAI,GAAG,IAAI;IAI5C,kBAAkB,IAAI,SAAS;IAI/B,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAI3C,eAAe,IAAI,WAAW,EAAE;IAKhC,QAAQ,IAAI,MAAM;IAKlB,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAI;IAmBlF,OAAO,CAAC,YAAY;IAqBpB,OAAO,CAAC,oBAAoB;IAgDrB,gBAAgB,IAAI,IAAI;IAWxB,oBAAoB,IAAI,GAAG,CAAC,UAAU,CAAC;IAevC,QAAQ,IAAI,QAAQ;IA0B3B,OAAO,CAAC,YAAY;CAWvB"}
|
package/lib/core/graph/Cfg.js
CHANGED
|
@@ -42,7 +42,6 @@ const DefUseChain_1 = require("../base/DefUseChain");
|
|
|
42
42
|
const Local_1 = require("../base/Local");
|
|
43
43
|
const Stmt_1 = require("../base/Stmt");
|
|
44
44
|
const ArkError_1 = require("../common/ArkError");
|
|
45
|
-
const ArkMethod_1 = require("../model/ArkMethod");
|
|
46
45
|
const logger_1 = __importStar(require("../../utils/logger"));
|
|
47
46
|
const Expr_1 = require("../base/Expr");
|
|
48
47
|
const ValueAsserts_1 = require("../../utils/ValueAsserts");
|
|
@@ -56,7 +55,6 @@ class Cfg {
|
|
|
56
55
|
this.blocks = new Set();
|
|
57
56
|
this.stmtToBlock = new Map();
|
|
58
57
|
this.defUseChains = [];
|
|
59
|
-
this.declaringMethod = new ArkMethod_1.ArkMethod();
|
|
60
58
|
}
|
|
61
59
|
getStmtToBlock() {
|
|
62
60
|
return this.stmtToBlock;
|
|
@@ -6,6 +6,9 @@ export declare class DominanceFinder {
|
|
|
6
6
|
private idoms;
|
|
7
7
|
private domFrontiers;
|
|
8
8
|
constructor(cfg: Cfg);
|
|
9
|
+
private buildBlockIndex;
|
|
10
|
+
private computeImmediateDominators;
|
|
11
|
+
private computeDominanceFrontiers;
|
|
9
12
|
getDominanceFrontiers(block: BasicBlock): Set<BasicBlock>;
|
|
10
13
|
getBlocks(): BasicBlock[];
|
|
11
14
|
getBlockToIdx(): Map<BasicBlock, number>;
|