arkanalyzer 1.0.88 → 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.
Files changed (86) hide show
  1. package/config/arkanalyzer.json +11 -0
  2. package/lib/Config.d.ts +23 -1
  3. package/lib/Config.d.ts.map +1 -1
  4. package/lib/Config.js +48 -0
  5. package/lib/Scene.d.ts +5 -2
  6. package/lib/Scene.d.ts.map +1 -1
  7. package/lib/Scene.js +30 -62
  8. package/lib/callgraph/pointerAnalysis/context/Context.d.ts.map +1 -1
  9. package/lib/callgraph/pointerAnalysis/context/Context.js +10 -12
  10. package/lib/callgraph/pointerAnalysis/plugins/WorkerPlugin.js +1 -1
  11. package/lib/core/base/Type.d.ts.map +1 -1
  12. package/lib/core/base/Type.js +1 -2
  13. package/lib/core/common/ModelUtils.d.ts +6 -0
  14. package/lib/core/common/ModelUtils.d.ts.map +1 -1
  15. package/lib/core/common/ModelUtils.js +30 -0
  16. package/lib/core/common/SdkUtils.js +1 -1
  17. package/lib/core/common/TypeInference.d.ts +13 -0
  18. package/lib/core/common/TypeInference.d.ts.map +1 -1
  19. package/lib/core/common/TypeInference.js +44 -0
  20. package/lib/core/common/ValueUtil.d.ts +1 -1
  21. package/lib/core/common/ValueUtil.d.ts.map +1 -1
  22. package/lib/core/common/ValueUtil.js +28 -12
  23. package/lib/core/graph/Cfg.d.ts.map +1 -1
  24. package/lib/core/graph/Cfg.js +0 -2
  25. package/lib/core/graph/DominanceFinder.d.ts +3 -0
  26. package/lib/core/graph/DominanceFinder.d.ts.map +1 -1
  27. package/lib/core/graph/DominanceFinder.js +42 -36
  28. package/lib/core/graph/DominanceTree.d.ts.map +1 -1
  29. package/lib/core/graph/DominanceTree.js +0 -4
  30. package/lib/core/inference/ValueInference.d.ts.map +1 -1
  31. package/lib/core/inference/ValueInference.js +3 -2
  32. package/lib/core/inference/abc/AbcInference.d.ts.map +1 -1
  33. package/lib/core/inference/abc/AbcInference.js +2 -1
  34. package/lib/core/inference/arkts/ArkTsInference.d.ts.map +1 -1
  35. package/lib/core/inference/arkts/ArkTsInference.js +3 -2
  36. package/lib/core/model/ArkClass.d.ts.map +1 -1
  37. package/lib/core/model/ArkClass.js +19 -4
  38. package/lib/core/model/ArkFile.d.ts.map +1 -1
  39. package/lib/core/model/ArkFile.js +0 -1
  40. package/lib/core/model/ArkMetadata.d.ts.map +1 -1
  41. package/lib/core/model/ArkMetadata.js +0 -1
  42. package/lib/core/model/builder/ArkMetadataBuilder.js +1 -1
  43. package/lib/core/model/builder/ArkMethodBuilder.d.ts.map +1 -1
  44. package/lib/core/model/builder/ArkMethodBuilder.js +0 -2
  45. package/lib/frontend/FrontendBuilder.d.ts +26 -0
  46. package/lib/frontend/FrontendBuilder.d.ts.map +1 -0
  47. package/lib/frontend/FrontendBuilder.js +108 -0
  48. package/lib/frontend/arktsFrontend/ArktsFrontend.d.ts +16 -0
  49. package/lib/frontend/arktsFrontend/ArktsFrontend.d.ts.map +1 -0
  50. package/lib/frontend/arktsFrontend/ArktsFrontend.js +52 -0
  51. package/lib/frontend/cppFrontend/CppFrontend.d.ts +13 -0
  52. package/lib/frontend/cppFrontend/CppFrontend.d.ts.map +1 -0
  53. package/lib/frontend/cppFrontend/CppFrontend.js +85 -0
  54. package/lib/frontend/cppFrontend/ast/index.d.ts +4 -4
  55. package/lib/frontend/cppFrontend/ast/index.d.ts.map +1 -1
  56. package/lib/frontend/cppFrontend/ast/index.js +4 -4
  57. package/lib/frontend/cppFrontend/ast/ts/ArkCxxAstNode.d.ts.map +1 -0
  58. package/lib/frontend/cppFrontend/ast/ts/astParser.d.ts.map +1 -0
  59. package/lib/frontend/cppFrontend/ast/{astParser.js → ts/astParser.js} +2 -2
  60. package/lib/frontend/cppFrontend/ast/ts/astUtils.d.ts.map +1 -0
  61. package/lib/frontend/cppFrontend/ast/ts/const.d.ts.map +1 -0
  62. package/lib/frontend/cppFrontend/ast/ts/napi/napiApi.d.ts.map +1 -0
  63. package/lib/frontend/cppFrontend/ast/{astJsonNapi → ts/napi}/napiApi.js +1 -1
  64. package/lib/frontend/cppFrontend/ast/ts/napi/napiRunner.d.ts.map +1 -0
  65. package/lib/frontend/cppFrontend/ast/{astJsonNapi → ts/napi}/napiRunner.js +2 -5
  66. package/lib/index.d.ts +4 -1
  67. package/lib/index.d.ts.map +1 -1
  68. package/lib/index.js +8 -1
  69. package/lib/pass/Dispatcher.d.ts.map +1 -1
  70. package/lib/pass/Dispatcher.js +0 -4
  71. package/package.json +7 -5
  72. package/lib/frontend/cppFrontend/ast/ArkCxxAstNode.d.ts.map +0 -1
  73. package/lib/frontend/cppFrontend/ast/astJsonNapi/napiApi.d.ts.map +0 -1
  74. package/lib/frontend/cppFrontend/ast/astJsonNapi/napiRunner.d.ts.map +0 -1
  75. package/lib/frontend/cppFrontend/ast/astParser.d.ts.map +0 -1
  76. package/lib/frontend/cppFrontend/ast/astUtils.d.ts.map +0 -1
  77. package/lib/frontend/cppFrontend/ast/const.d.ts.map +0 -1
  78. /package/lib/frontend/cppFrontend/ast/{ArkCxxAstNode.d.ts → ts/ArkCxxAstNode.d.ts} +0 -0
  79. /package/lib/frontend/cppFrontend/ast/{ArkCxxAstNode.js → ts/ArkCxxAstNode.js} +0 -0
  80. /package/lib/frontend/cppFrontend/ast/{astParser.d.ts → ts/astParser.d.ts} +0 -0
  81. /package/lib/frontend/cppFrontend/ast/{astUtils.d.ts → ts/astUtils.d.ts} +0 -0
  82. /package/lib/frontend/cppFrontend/ast/{astUtils.js → ts/astUtils.js} +0 -0
  83. /package/lib/frontend/cppFrontend/ast/{const.d.ts → ts/const.d.ts} +0 -0
  84. /package/lib/frontend/cppFrontend/ast/{const.js → ts/const.js} +0 -0
  85. /package/lib/frontend/cppFrontend/ast/{astJsonNapi → ts/napi}/napiApi.d.ts +0 -0
  86. /package/lib/frontend/cppFrontend/ast/{astJsonNapi → ts/napi}/napiRunner.d.ts +0 -0
@@ -6,6 +6,17 @@
6
6
  ".d.ets",
7
7
  ".d.ts"
8
8
  ],
9
+ "languages": {
10
+ "arkts": {
11
+ "enabled": true,
12
+ "extensions": [".ets", ".ts", ".js", ".d.ets", ".d.ts"]
13
+ },
14
+ "cpp": {
15
+ "enabled": false,
16
+ "sourceExtensions": [".cc", ".cpp", ".cxx", ".c", ".c++"],
17
+ "headerExtensions": [".hpp", ".h", ".hxx", ".hh"]
18
+ }
19
+ },
9
20
  "enableLeadingComments": false,
10
21
  "enableBuiltIn": true,
11
22
  "enableOhModulesBody": false,
package/lib/Config.d.ts CHANGED
@@ -27,7 +27,24 @@ export interface TsConfig {
27
27
  * @returns SceneConfig initialized with project files and discovered SDKs.
28
28
  */
29
29
  export declare function buildSceneConfigFromProject(project: string, ohosSdkHome?: string, options?: SceneOptions): SceneConfig;
30
- export type SceneOptionsValue = string | number | boolean | (string | number)[] | string[] | null | undefined;
30
+ /**
31
+ * Per-language switch and optional file extension list (for tooling and front-end selection; extension lists are
32
+ * normalized for discovery and future use).
33
+ */
34
+ export interface LanguageOptions {
35
+ enabled?: boolean;
36
+ extensions?: string[];
37
+ }
38
+ export interface CppLanguageOptions extends LanguageOptions {
39
+ sourceExtensions?: string[];
40
+ headerExtensions?: string[];
41
+ }
42
+ export interface SceneLanguagesOptions {
43
+ arkts?: LanguageOptions;
44
+ cpp?: CppLanguageOptions;
45
+ [option: string]: LanguageOptions | undefined;
46
+ }
47
+ export type SceneOptionsValue = string | number | boolean | (string | number)[] | string[] | SceneLanguagesOptions | null | undefined;
31
48
  export interface SceneOptions {
32
49
  supportFileExts?: string[];
33
50
  ignoreFileNames?: string[];
@@ -38,6 +55,8 @@ export interface SceneOptions {
38
55
  tsconfig?: string;
39
56
  isScanAbc?: boolean;
40
57
  sdkGlobalFolders?: string[];
58
+ /** Optional multi-language front-end section; defaults are merged in {@link SceneConfig} construction. */
59
+ languages?: SceneLanguagesOptions;
41
60
  [option: string]: SceneOptionsValue;
42
61
  }
43
62
  export declare class SceneConfig {
@@ -108,5 +127,8 @@ export declare class SceneConfig {
108
127
  private getDefaultConfigPath;
109
128
  private loadDefaultConfig;
110
129
  private appendCppExtsToDefaultOptionsIfAstJsonDumperAvailable;
130
+ private normalizeLanguageOptions;
131
+ private mergeEnabledLanguageExtensionsIntoSupportFileExts;
132
+ private uniqueFileExtensions;
111
133
  }
112
134
  //# sourceMappingURL=Config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../src/Config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../src/Config.ts"],"names":[],"mappings":"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"}
package/lib/Config.js CHANGED
@@ -105,6 +105,8 @@ class SceneConfig {
105
105
  this.options = { supportFileExts: ['.ets', '.ts'] };
106
106
  this.loadDefaultConfig(options);
107
107
  this.appendCppExtsToDefaultOptionsIfAstJsonDumperAvailable();
108
+ this.normalizeLanguageOptions();
109
+ this.mergeEnabledLanguageExtensionsIntoSupportFileExts();
108
110
  }
109
111
  getOptions() {
110
112
  return this.options;
@@ -230,6 +232,8 @@ class SceneConfig {
230
232
  if (configurations.options) {
231
233
  this.options = Object.assign(Object.assign({}, this.options), configurations.options);
232
234
  }
235
+ this.normalizeLanguageOptions();
236
+ this.mergeEnabledLanguageExtensionsIntoSupportFileExts();
233
237
  this.buildConfig(targetProjectName, targetProjectDirectory, sdks);
234
238
  }
235
239
  else {
@@ -327,5 +331,49 @@ class SceneConfig {
327
331
  }
328
332
  this.options.supportFileExts = [...configuredExts, ...missingCppExts];
329
333
  }
334
+ normalizeLanguageOptions() {
335
+ var _a, _b, _c, _d;
336
+ const from = this.options.languages;
337
+ if (!from) {
338
+ return;
339
+ }
340
+ const normalized = {};
341
+ if (from.arkts) {
342
+ normalized.arkts = Object.assign(Object.assign({}, from.arkts), { extensions: this.uniqueFileExtensions((_a = from.arkts.extensions) !== null && _a !== void 0 ? _a : []) });
343
+ }
344
+ if (from.cpp) {
345
+ normalized.cpp = Object.assign(Object.assign({}, from.cpp), { extensions: this.uniqueFileExtensions((_b = from.cpp.extensions) !== null && _b !== void 0 ? _b : []), sourceExtensions: this.uniqueFileExtensions((_c = from.cpp.sourceExtensions) !== null && _c !== void 0 ? _c : []), headerExtensions: this.uniqueFileExtensions((_d = from.cpp.headerExtensions) !== null && _d !== void 0 ? _d : []) });
346
+ }
347
+ this.options.languages = normalized;
348
+ }
349
+ mergeEnabledLanguageExtensionsIntoSupportFileExts() {
350
+ var _a, _b, _c, _d, _e, _f, _g;
351
+ const languages = this.options.languages;
352
+ if (!languages) {
353
+ return;
354
+ }
355
+ const merged = [...((_a = this.options.supportFileExts) !== null && _a !== void 0 ? _a : [])];
356
+ if (((_b = languages.arkts) === null || _b === void 0 ? void 0 : _b.enabled) === true) {
357
+ merged.push(...((_c = languages.arkts.extensions) !== null && _c !== void 0 ? _c : []));
358
+ }
359
+ if (((_d = languages.cpp) === null || _d === void 0 ? void 0 : _d.enabled) === true) {
360
+ merged.push(...((_e = languages.cpp.extensions) !== null && _e !== void 0 ? _e : []));
361
+ merged.push(...((_f = languages.cpp.sourceExtensions) !== null && _f !== void 0 ? _f : []));
362
+ merged.push(...((_g = languages.cpp.headerExtensions) !== null && _g !== void 0 ? _g : []));
363
+ }
364
+ this.options.supportFileExts = this.uniqueFileExtensions(merged);
365
+ }
366
+ uniqueFileExtensions(extensions) {
367
+ const seen = new Set();
368
+ const out = [];
369
+ for (const ext of extensions) {
370
+ const normalized = ext.toLowerCase();
371
+ if (!seen.has(normalized)) {
372
+ seen.add(normalized);
373
+ out.push(normalized);
374
+ }
375
+ }
376
+ return out;
377
+ }
330
378
  }
331
379
  exports.SceneConfig = SceneConfig;
package/lib/Scene.d.ts CHANGED
@@ -101,10 +101,9 @@ export declare class Scene {
101
101
  */
102
102
  private updateOrAddDefaultConstructors;
103
103
  private buildAllMethodBody;
104
- private findCCJsonPath;
105
104
  private genArkFiles;
106
105
  private getFilesOrderByDependency;
107
- private getDependencyFilesDeeply;
106
+ getDependencyFilesDeeply(projectFile: string): void;
108
107
  private isRepeatBuildFile;
109
108
  private addArkFile2ModuleScene;
110
109
  private findDependencyFiles;
@@ -153,6 +152,7 @@ export declare class Scene {
153
152
  getProjectName(): string;
154
153
  getProjectFiles(): string[];
155
154
  getSdkGlobal(globalName: string): ArkExport | null;
155
+ getSdkGlobalMap(): Map<string, ArkExport>;
156
156
  /**
157
157
  * Returns the file based on its signature.
158
158
  * If no file can be found according to the input signature, **null** will be returned.
@@ -174,6 +174,7 @@ export declare class Scene {
174
174
  */
175
175
  getFile(fileSignature: FileSignature): ArkFile | null;
176
176
  getUnhandledFilePaths(): string[];
177
+ addUnhandledFilePath(filePath: string): void;
177
178
  getUnhandledSdkFilePaths(): string[];
178
179
  setFile(file: ArkFile): void;
179
180
  hasSdkFile(fileSignature: FileSignature): boolean;
@@ -271,6 +272,7 @@ export declare class Scene {
271
272
  /** Obtain the header file directories of the input C++ project dependencies. */
272
273
  getIncludeDirs(): string[];
273
274
  getCcjsonPath(): string;
275
+ setCcjsonPath(ccjsonPath: string): void;
274
276
  getCppAstPath(): string;
275
277
  /**
276
278
  * Infer type for each non-default method. It infers the type of each field/local/reference.
@@ -333,6 +335,7 @@ export declare class ModuleScene {
333
335
  private moduleOhPkgFilePath;
334
336
  private ohPkgContent;
335
337
  constructor(projectScene: Scene);
338
+ getProjectScene(): Scene;
336
339
  ModuleSceneBuilder(moduleName: string, modulePath: string, supportFileExts: string[], recursively?: boolean): void;
337
340
  ModuleScenePartiallyBuilder(moduleName: string, modulePath: string): void;
338
341
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Scene.d.ts","sourceRoot":"","sources":["../src/Scene.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Scene.d.ts","sourceRoot":"","sources":["../src/Scene.ts"],"names":[],"mappings":"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"}
package/lib/Scene.js CHANGED
@@ -50,19 +50,18 @@ const ArkFile_1 = require("./core/model/ArkFile");
50
50
  const ArkNamespace_1 = require("./core/model/ArkNamespace");
51
51
  const ArkSignature_1 = require("./core/model/ArkSignature");
52
52
  const logger_1 = __importStar(require("./utils/logger"));
53
- const ArkFileBuilder_1 = require("./core/model/builder/ArkFileBuilder");
54
53
  const json5parser_1 = require("./utils/json5parser");
55
54
  const getAllFiles_1 = require("./utils/getAllFiles");
56
55
  const FileUtils_1 = require("./utils/FileUtils");
57
56
  const ArkExport_1 = require("./core/model/ArkExport");
58
57
  const ArkMethodBuilder_1 = require("./core/model/builder/ArkMethodBuilder");
59
58
  const ArkMethodBuilder_2 = require("./frontend/cppFrontend/model/builder/ArkMethodBuilder");
60
- const ast_1 = require("./frontend/cppFrontend/ast");
61
59
  const Const_1 = require("./core/common/Const");
62
60
  const CallGraph_1 = require("./callgraph/model/CallGraph");
63
61
  const CallGraphBuilder_1 = require("./callgraph/model/builder/CallGraphBuilder");
64
- const ArkFileBuilder_2 = require("./frontend/cppFrontend/model/builder/ArkFileBuilder");
65
62
  const IRInference_1 = require("./frontend/cppFrontend/common/IRInference");
63
+ const ArktsFrontend_1 = require("./frontend/arktsFrontend/ArktsFrontend");
64
+ const FrontendBuilder_1 = require("./frontend/FrontendBuilder");
66
65
  const TSConst_1 = require("./core/common/TSConst");
67
66
  const EtsConst_1 = require("./core/common/EtsConst");
68
67
  const SdkUtils_1 = require("./core/common/SdkUtils");
@@ -72,7 +71,6 @@ const Inference_1 = require("./core/inference/Inference");
72
71
  const IRInference_2 = require("./core/common/IRInference");
73
72
  const ModuleUtils_1 = require("./utils/ModuleUtils");
74
73
  const logger = logger_1.default.getLogger(logger_1.LOG_MODULE_TYPE.ARKANALYZER, 'Scene');
75
- const CXX_HEADER_EXTENSION_SET = (0, ast_1.getCxxHeaderFileExtensionSet)();
76
74
  var SceneBuildStage;
77
75
  (function (SceneBuildStage) {
78
76
  SceneBuildStage[SceneBuildStage["BUILD_INIT"] = 0] = "BUILD_INIT";
@@ -405,37 +403,8 @@ class Scene {
405
403
  ModelUtils_1.ModelUtils.dispose();
406
404
  this.buildStage = SceneBuildStage.METHOD_DONE;
407
405
  }
408
- findCCJsonPath(file, ccjsonPath) {
409
- const ext = path_1.default.extname(file).toLowerCase();
410
- const isHeader = CXX_HEADER_EXTENSION_SET.has(ext);
411
- let currentCcjsonPath = '';
412
- if (!isHeader) {
413
- currentCcjsonPath = (0, ast_1.findCompileCommands)(file);
414
- }
415
- return currentCcjsonPath === '' ? ccjsonPath : currentCcjsonPath;
416
- }
417
406
  genArkFiles() {
418
- this.projectFiles.forEach(file => {
419
- logger.trace('=== parse file:', file);
420
- try {
421
- const arkFile = new ArkFile_1.ArkFile(FileUtils_1.FileUtils.getFileLanguage(file, this.fileLanguages));
422
- arkFile.setScene(this);
423
- // CXXTodo: Distinguish between C++ and TS/ArkTS. Call different builder functions based on file language.
424
- if (arkFile.getLanguage() === ArkFile_1.Language.CXX) {
425
- this.ccjsonPath = this.findCCJsonPath(file, this.ccjsonPath);
426
- (0, ArkFileBuilder_2.buildArkFileFromFile)(file, this.realProjectDir, arkFile, this.projectName, this.includeDirs);
427
- }
428
- else {
429
- (0, ArkFileBuilder_1.buildArkFileFromFile)(file, this.realProjectDir, arkFile, this.projectName);
430
- }
431
- this.setFile(arkFile);
432
- }
433
- catch (error) {
434
- logger.error('Error parsing file:', file, error);
435
- this.unhandledFilePaths.add(file);
436
- return;
437
- }
438
- });
407
+ FrontendBuilder_1.FrontendBuilder.buildFilesIntoArkFiles(this, this.projectFiles);
439
408
  this.buildAllMethodBody();
440
409
  this.updateOrAddDefaultConstructors();
441
410
  }
@@ -459,13 +428,7 @@ class Scene {
459
428
  try {
460
429
  const arkFile = new ArkFile_1.ArkFile(FileUtils_1.FileUtils.getFileLanguage(projectFile, this.fileLanguages));
461
430
  arkFile.setScene(this);
462
- // CXXTodo: Distinguish between C++ and TS/ArkTS.
463
- if (arkFile.getLanguage() === ArkFile_1.Language.CXX) {
464
- (0, ArkFileBuilder_2.buildArkFileFromFile)(projectFile, this.getRealProjectDir(), arkFile, this.getProjectName(), this.includeDirs);
465
- }
466
- else {
467
- (0, ArkFileBuilder_1.buildArkFileFromFile)(projectFile, this.getRealProjectDir(), arkFile, this.getProjectName());
468
- }
431
+ FrontendBuilder_1.FrontendBuilder.buildProjectFileIntoArkFile(this, projectFile, arkFile);
469
432
  for (const [modulePath, moduleName] of this.modulePath2NameMap) {
470
433
  if (arkFile.getFilePath().startsWith(modulePath)) {
471
434
  this.addArkFile2ModuleScene(modulePath, moduleName, arkFile);
@@ -695,12 +658,22 @@ class Scene {
695
658
  try {
696
659
  const arkFile = new ArkFile_1.ArkFile(FileUtils_1.FileUtils.getFileLanguage(file, this.fileLanguages));
697
660
  arkFile.setScene(this);
698
- (0, ArkFileBuilder_1.buildArkFileFromFile)(file, sdkPath, arkFile, sdkName);
661
+ ArktsFrontend_1.ArktsFrontend.buildArkFileFromSdkPath(file, sdkPath, arkFile, sdkName);
699
662
  ModelUtils_1.ModelUtils.getAllClassesInFile(arkFile).forEach(cls => {
700
663
  var _a, _b;
701
664
  (_a = cls.getDefaultArkMethod()) === null || _a === void 0 ? void 0 : _a.buildBody();
702
665
  (_b = cls.getDefaultArkMethod()) === null || _b === void 0 ? void 0 : _b.freeBodyBuilder();
703
666
  });
667
+ // Release all method builders in SDK file to avoid retaining AST/build context in memory.
668
+ ModelUtils_1.ModelUtils.getAllMethodsInFile(arkFile).forEach(method => {
669
+ var _a;
670
+ if (((_a = method.getDeclaringArkFile()) === null || _a === void 0 ? void 0 : _a.getLanguage()) === ArkFile_1.Language.CXX) {
671
+ method.freeCxxBodyBuilder();
672
+ }
673
+ else {
674
+ method.freeBodyBuilder();
675
+ }
676
+ });
704
677
  const fileSig = arkFile.getFileSignature().toMapKey();
705
678
  this.sdkArkFilesMap.set(fileSig, arkFile);
706
679
  SdkUtils_1.SdkUtils.buildSdkImportMap(arkFile);
@@ -804,6 +777,9 @@ class Scene {
804
777
  getSdkGlobal(globalName) {
805
778
  return this.sdkGlobalMap.get(globalName) || null;
806
779
  }
780
+ getSdkGlobalMap() {
781
+ return this.sdkGlobalMap;
782
+ }
807
783
  /**
808
784
  * Returns the file based on its signature.
809
785
  * If no file can be found according to the input signature, **null** will be returned.
@@ -837,6 +813,9 @@ class Scene {
837
813
  getUnhandledFilePaths() {
838
814
  return Array.from(this.unhandledFilePaths);
839
815
  }
816
+ addUnhandledFilePath(filePath) {
817
+ this.unhandledFilePaths.add(filePath);
818
+ }
840
819
  /*
841
820
  * Returns the absolute sdk file paths that cannot be handled currently.
842
821
  */
@@ -1093,6 +1072,9 @@ class Scene {
1093
1072
  getCcjsonPath() {
1094
1073
  return this.ccjsonPath;
1095
1074
  }
1075
+ setCcjsonPath(ccjsonPath) {
1076
+ this.ccjsonPath = ccjsonPath;
1077
+ }
1096
1078
  getCppAstPath() {
1097
1079
  return this.cppAstPath;
1098
1080
  }
@@ -1118,6 +1100,7 @@ class Scene {
1118
1100
  }
1119
1101
  SdkUtils_1.SdkUtils.dispose();
1120
1102
  ModuleUtils_1.ModuleUtils.dispose();
1103
+ ValueUtil_1.ValueUtil.dispose();
1121
1104
  }
1122
1105
  /**
1123
1106
  * @deprecated This method is deprecated and will be removed in the next major release.
@@ -1457,6 +1440,9 @@ class ModuleScene {
1457
1440
  this.ohPkgContent = {};
1458
1441
  this.projectScene = projectScene;
1459
1442
  }
1443
+ getProjectScene() {
1444
+ return this.projectScene;
1445
+ }
1460
1446
  ModuleSceneBuilder(moduleName, modulePath, supportFileExts, recursively = false) {
1461
1447
  this.moduleName = moduleName;
1462
1448
  this.modulePath = modulePath;
@@ -1511,26 +1497,8 @@ class ModuleScene {
1511
1497
  this.moduleFileMap.set(arkFile.getFileSignature().toMapKey(), arkFile);
1512
1498
  }
1513
1499
  genArkFiles(supportFileExts) {
1514
- (0, getAllFiles_1.getAllFiles)(this.modulePath, supportFileExts, this.projectScene.getOptions().ignoreFileNames).forEach(file => {
1515
- logger.trace('=== parse file:', file);
1516
- try {
1517
- const arkFile = new ArkFile_1.ArkFile(FileUtils_1.FileUtils.getFileLanguage(file, this.projectScene.getFileLanguages()));
1518
- arkFile.setScene(this.projectScene);
1519
- arkFile.setModuleScene(this);
1520
- if (arkFile.getLanguage() === ArkFile_1.Language.CXX) {
1521
- (0, ArkFileBuilder_2.buildArkFileFromFile)(file, this.projectScene.getRealProjectDir(), arkFile, this.projectScene.getProjectName(), this.projectScene.getIncludeDirs());
1522
- }
1523
- else {
1524
- (0, ArkFileBuilder_1.buildArkFileFromFile)(file, this.projectScene.getRealProjectDir(), arkFile, this.projectScene.getProjectName());
1525
- }
1526
- this.projectScene.setFile(arkFile);
1527
- }
1528
- catch (error) {
1529
- logger.error('Error parsing file:', file, error);
1530
- this.projectScene.getUnhandledFilePaths().push(file);
1531
- return;
1532
- }
1533
- });
1500
+ const filePaths = (0, getAllFiles_1.getAllFiles)(this.modulePath, supportFileExts, this.projectScene.getOptions().ignoreFileNames);
1501
+ FrontendBuilder_1.FrontendBuilder.buildModuleFilesIntoArkFiles(this, filePaths);
1534
1502
  }
1535
1503
  }
1536
1504
  exports.ModuleScene = ModuleScene;
@@ -1 +1 @@
1
- {"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../../../src/callgraph/pointerAnalysis/context/Context.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAuB,kBAAkB,EAAmB,MAAM,eAAe,CAAC;AAEzF,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAC/B,eAAO,MAAM,SAAS,IAAI,CAAC;AAI3B,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAExC;;;GAGG;AACH,8BAAsB,OAAO;IACzB,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;gBAErB,YAAY,GAAE,MAAM,EAAO;IAQvC;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC;IAIxD;;;;;OAKG;IACH,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,EAAE,KAAK,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC;IAI1F;;;;;;OAMG;IACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,SAAS,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC;IAgBnF;;;;;OAKG;IACH,MAAM,CAAC,eAAe,CAAC,CAAC,SAAS,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC;IAcxD,MAAM,IAAI,MAAM;IAIhB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAO1B,QAAQ,IAAI,MAAM;aAKT,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,kBAAkB,GAAG,OAAO;aACxF,IAAI,CAAC,CAAC,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,GAAG,MAAM;CACrE;AAED,qBAAa,eAAgB,SAAQ,OAAO;IACjC,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,kBAAkB,GAAG,eAAe;IAKjG,IAAI,CAAC,CAAC,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,GAAG,MAAM;CAS5D;AAED,qBAAa,UAAW,SAAQ,OAAO;IAC5B,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,kBAAkB,GAAG,UAAU;IAKvF,IAAI,CAAC,CAAC,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,GAAG,MAAM;CAI5D;AAED,qBAAa,WAAY,SAAQ,OAAO;IAC7B,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,kBAAkB,GAAG,WAAW;IAKzF,IAAI,CAAC,CAAC,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,GAAG,MAAM;CAS5D;AAED,qBAAa,YAAY;IACrB,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,cAAc,CAAkC;;IAOjD,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS;IAa9C,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO;IAY/E,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS;IASrD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAO3C,cAAc,IAAI,OAAO,EAAE;IAI3B,IAAI,CAAC,CAAC,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,GAAG,MAAM;CAS5D"}
1
+ {"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../../../src/callgraph/pointerAnalysis/context/Context.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAuB,kBAAkB,EAAmB,MAAM,eAAe,CAAC;AAEzF,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAC/B,eAAO,MAAM,SAAS,IAAI,CAAC;AAI3B,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAExC;;;GAGG;AACH,8BAAsB,OAAO;IACzB,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;gBAErB,YAAY,GAAE,MAAM,EAAO;IAQvC;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC;IAIxD;;;;;OAKG;IACH,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,EAAE,KAAK,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC;IAI1F;;;;;;OAMG;IACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,SAAS,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC;IAgBnF;;;;;OAKG;IACH,MAAM,CAAC,eAAe,CAAC,CAAC,SAAS,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC;IAcxD,MAAM,IAAI,MAAM;IAIhB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAO1B,QAAQ,IAAI,MAAM;aAKT,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,kBAAkB,GAAG,OAAO;aACxF,IAAI,CAAC,CAAC,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,GAAG,MAAM;CACrE;AAED,qBAAa,eAAgB,SAAQ,OAAO;IACjC,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,kBAAkB,GAAG,eAAe;IAKjG,IAAI,CAAC,CAAC,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,GAAG,MAAM;CAS5D;AAED,qBAAa,UAAW,SAAQ,OAAO;IAC5B,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,kBAAkB,GAAG,UAAU;IAKvF,IAAI,CAAC,CAAC,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,GAAG,MAAM;CAI5D;AAED,qBAAa,WAAY,SAAQ,OAAO;IAC7B,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,kBAAkB,GAAG,WAAW;IAKzF,IAAI,CAAC,CAAC,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,GAAG,MAAM;CAS5D;AAED,qBAAa,YAAY;IACrB,OAAO,CAAC,WAAW,CAAY;IAC/B,OAAO,CAAC,cAAc,CAAsB;;IAOrC,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS;IAa9C,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO;IAY/E,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS;IASrD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAO3C,cAAc,IAAI,OAAO,EAAE;IAI3B,IAAI,CAAC,CAAC,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,GAAG,MAAM;CAQ5D"}
@@ -110,13 +110,13 @@ class CallSiteContext extends Context {
110
110
  return Context.newKLimitedContext(this, contextItem.id, k);
111
111
  }
112
112
  dump(m, cg) {
113
- let content = '';
113
+ const contentParts = [];
114
114
  for (let i = 0; i < this.length(); i++) {
115
115
  const item = m.getItem(this.get(i));
116
116
  const callSiteInfo = cg.getCallSiteInfo(item.callSiteId);
117
- content += `\t[${callSiteInfo}]\n`;
117
+ contentParts.push(`\t[${callSiteInfo}]\n`);
118
118
  }
119
- return content;
119
+ return contentParts.join('');
120
120
  }
121
121
  }
122
122
  exports.CallSiteContext = CallSiteContext;
@@ -137,13 +137,13 @@ class FuncContext extends Context {
137
137
  return Context.newKLimitedContext(this, contextItem.id, k);
138
138
  }
139
139
  dump(m, cg) {
140
- let content = '';
140
+ const contentParts = [];
141
141
  for (let i = 0; i < this.length(); i++) {
142
142
  const item = m.getItem(this.get(i));
143
143
  const methodSig = cg.getMethodByFuncID(item.funcID).toString();
144
- content += `\t[${methodSig}]\n`;
144
+ contentParts.push(`\t[${methodSig}]\n`);
145
145
  }
146
- return content;
146
+ return contentParts.join('');
147
147
  }
148
148
  }
149
149
  exports.FuncContext = FuncContext;
@@ -151,8 +151,6 @@ class ContextCache {
151
151
  constructor() {
152
152
  this.contextList = [];
153
153
  this.contextToIDMap = new Map();
154
- this.contextList = [];
155
- this.contextToIDMap = new Map();
156
154
  }
157
155
  getOrNewContextID(context) {
158
156
  let cStr = context.toString();
@@ -195,12 +193,12 @@ class ContextCache {
195
193
  return this.contextList;
196
194
  }
197
195
  dump(m, cg) {
198
- let content = '';
196
+ const contentParts = [];
199
197
  this.contextList.forEach((c, i) => {
200
- content += `Context ${i}:\n`;
201
- content += `${c.dump(m, cg)}\n`;
198
+ contentParts.push(`Context ${i}:\n`);
199
+ contentParts.push(`${c.dump(m, cg)}\n`);
202
200
  });
203
- return content;
201
+ return contentParts.join('');
204
202
  }
205
203
  }
206
204
  exports.ContextCache = ContextCache;
@@ -159,7 +159,7 @@ class WorkerPlugin {
159
159
  getFileByPath(callstmt, filePath) {
160
160
  let declaringarkfile = callstmt.getCfg().getDeclaringMethod().getDeclaringArkClass().getDeclaringArkFile();
161
161
  const scene = declaringarkfile.getScene();
162
- let filepath = filePath.toString().replace('../', '').replace('./', '').replace("'", '').replace("'", '');
162
+ let filepath = filePath.toString().replace(/^(?:\.\.\/|\.\/)|'/g, '');
163
163
  filepath = filepath.substring(filepath.indexOf('ets'));
164
164
  if (/\.e?ts$/.test(filepath)) {
165
165
  const fileSignature = new __1.FileSignature(declaringarkfile.getFileSignature().getProjectName(), filepath);
@@ -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":"AAeA,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChI,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAsB,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAazE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC;;GAEG;AACH,8BAAsB,IAAI;IACtB,+EAA+E;IAC/E,SAAS,CAAC,qBAAqB,IAAI,OAAO;IAI1C;;;;OAIG;IACH,SAAS,CAAC,sBAAsB,IAAI,MAAM;IAI1C,QAAQ,IAAI,MAAM;IAIlB;;;;;;;;;OASG;IACI,mBAAmB,CAAC,OAAO,GAAE,GAAG,CAAC,IAAI,CAAmB,GAAG,MAAM;IAgBxE,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM;CAChE;AAED;;;GAGG;AACH,qBAAa,OAAQ,SAAQ,IAAI;IAC7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAiB;WAEnC,WAAW,IAAI,OAAO;IAIpC,OAAO;IAIP,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM;CAGxD;AAED;;;GAGG;AACH,qBAAa,WAAY,SAAQ,IAAI;IACjC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAqB;WAEvC,WAAW,IAAI,WAAW;IAIxC,OAAO;IAIP,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM;CAGxD;AAED;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,IAAI;IAC1C,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,YAAY,CAAS;IAE7B,SAAS,CAAC,qBAAqB,IAAI,OAAO;IAI1C,SAAS,CAAC,sBAAsB,IAAI,MAAM;gBAI9B,IAAI,EAAE,MAAM,EAAE,YAAY,GAAE,IAAI,EAAO;IAM5C,OAAO,IAAI,MAAM;IAIjB,eAAe,IAAI,IAAI,EAAE;IAIhC,SAAS,CAAC,aAAa,CAAC,OAAO,GAAE,GAAG,CAAC,IAAI,CAAmB,GAAG,MAAM;CAOxE;AAED;;;GAGG;AACH,8BAAsB,aAAc,SAAQ,IAAI;IAC5C,OAAO,CAAC,IAAI,CAAS;gBAET,IAAI,EAAE,MAAM;IAKjB,OAAO,IAAI,MAAM;IAIxB,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM;CAGxD;AAED,qBAAa,WAAY,SAAQ,aAAa;IAC1C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAErD,OAAO;WAIO,WAAW,IAAI,WAAW;CAG3C;AAED,qBAAa,UAAW,SAAQ,aAAa;IACzC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAEpD,SAAS;WAIK,WAAW,IAAI,UAAU;CAG1C;AAED;;;GAGG;AACH,qBAAa,UAAW,SAAQ,aAAa;IACzC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAEpD,OAAO;WAIO,WAAW,IAAI,UAAU;CAG1C;AAED;;;GAGG;AACH,qBAAa,UAAW,SAAQ,aAAa;IACzC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAEpD,SAAS;WAIK,WAAW,IAAI,UAAU;CAG1C;AAED;;;GAGG;AACH,qBAAa,QAAS,SAAQ,aAAa;IACvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAkB;WAEpC,WAAW,IAAI,QAAQ;IAIrC,OAAO;CAGV;AAED;;;GAGG;AACH,qBAAa,aAAc,SAAQ,aAAa;IAC5C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAuB;WAEzC,WAAW,IAAI,aAAa;IAI1C,OAAO;CAGV;AAED;;;GAGG;AACH,qBAAa,WAAY,SAAQ,aAAa;IAC1C,gBAAuB,IAAI,cAAyB;IACpD,gBAAuB,KAAK,cAA0B;IAEtD,OAAO,CAAC,WAAW,CAA4B;gBAEnC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO;IAK3C,cAAc,IAAI,MAAM,GAAG,MAAM,GAAG,OAAO;IAIlD,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM;CAGxD;AAED;;;GAGG;AACH,qBAAa,SAAU,SAAQ,IAAI;IAC/B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,QAAQ,CAAO;IAEvB,SAAS,CAAC,qBAAqB,IAAI,OAAO;gBAI9B,KAAK,EAAE,IAAI,EAAE,EAAE,QAAQ,GAAE,IAAgC;IAM9D,QAAQ,IAAI,IAAI,EAAE;IAIlB,WAAW,IAAI,IAAI;IAInB,WAAW,CAAC,OAAO,EAAE,IAAI,GAAG,IAAI;IAIvC,SAAS,CAAC,aAAa,CAAC,OAAO,GAAE,GAAG,CAAC,IAAI,CAAmB,GAAG,MAAM;IAa9D,QAAQ,IAAI,IAAI,EAAE;CAW5B;AAED;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,IAAI;IACtC,OAAO,CAAC,KAAK,CAAS;IAEtB,SAAS,CAAC,qBAAqB,IAAI,OAAO;gBAI9B,KAAK,EAAE,IAAI,EAAE;IAKlB,QAAQ,IAAI,IAAI,EAAE;IAIzB,SAAS,CAAC,aAAa,CAAC,OAAO,GAAE,GAAG,CAAC,IAAI,CAAmB,GAAG,MAAM;CAWxE;AAED;;;GAGG;AACH,qBAAa,QAAS,SAAQ,IAAI;IAC9B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAkB;WAEpC,WAAW,IAAI,QAAQ;IAIrC,OAAO;IAIP,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM;CAGxD;AAED;;;GAGG;AACH,qBAAa,SAAU,SAAQ,IAAI;IAC/B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAmB;WAErC,WAAW,IAAI,SAAS;IAItC,OAAO;IAIP,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM;CAGxD;AAED;;;GAGG;AACH,qBAAa,YAAa,SAAQ,IAAI;IAClC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAElC,SAAS,CAAC,qBAAqB,IAAI,OAAO;gBAI9B,eAAe,EAAE,eAAe,EAAE,gBAAgB,CAAC,EAAE,IAAI,EAAE;IAMhE,kBAAkB,IAAI,eAAe;IAIrC,mBAAmB,IAAI,IAAI,EAAE,GAAG,SAAS;IAIhD,SAAS,CAAC,aAAa,CAAC,OAAO,GAAE,GAAG,CAAC,IAAI,CAAmB,GAAG,MAAM;CASxE;AAED;;;GAGG;AACH,qBAAa,WAAY,SAAQ,YAAY;IACzC,OAAO,CAAC,UAAU,CAAiB;gBAEvB,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,CAAC,EAAE,IAAI,EAAE;IAK5F,aAAa,IAAI,cAAc;IAItC,SAAS,CAAC,aAAa,CAAC,OAAO,GAAE,GAAG,CAAC,IAAI,CAAmB,GAAG,MAAM;CAGxE;AAED;;;GAGG;AACH,qBAAa,SAAU,SAAQ,IAAI;IAC/B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAElC,SAAS,CAAC,qBAAqB,IAAI,OAAO;IAI1C,SAAS,CAAC,sBAAsB,IAAI,MAAM;gBAI9B,cAAc,EAAE,cAAc,EAAE,gBAAgB,CAAC,EAAE,IAAI,EAAE;IAM9D,iBAAiB,IAAI,cAAc;IAInC,iBAAiB,CAAC,iBAAiB,EAAE,cAAc,GAAG,IAAI;IAI1D,mBAAmB,IAAI,IAAI,EAAE,GAAG,SAAS;IAIzC,mBAAmB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,SAAS,GAAG,IAAI;IAI3D,SAAS,CAAC,aAAa,CAAC,OAAO,GAAE,GAAG,CAAC,IAAI,CAAmB,GAAG,MAAM;CAOxE;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,SAAU,SAAQ,IAAI;IAC/B,OAAO,CAAC,QAAQ,CAAO;IACvB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,YAAY,CAAC,CAAU;IAE/B,SAAS,CAAC,qBAAqB,IAAI,OAAO;gBAI9B,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM;IAM7C;;;OAGG;IACI,WAAW,IAAI,IAAI;IAInB,WAAW,CAAC,OAAO,EAAE,IAAI,GAAG,IAAI;IAIhC,YAAY,IAAI,MAAM;IAItB,eAAe,CAAC,YAAY,EAAE,OAAO,GAAG,IAAI;IAI5C,eAAe,IAAI,OAAO,GAAG,SAAS;IAI7C,SAAS,CAAC,aAAa,CAAC,OAAO,GAAE,GAAG,CAAC,IAAI,CAAmB,GAAG,MAAM;CAiBxE;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,SAAU,SAAQ,IAAI;IAC/B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,YAAY,CAAC,CAAU;IAE/B,SAAS,CAAC,qBAAqB,IAAI,OAAO;gBAI9B,KAAK,EAAE,IAAI,EAAE;IAKlB,QAAQ,IAAI,IAAI,EAAE;IAIlB,eAAe,CAAC,YAAY,EAAE,OAAO,GAAG,IAAI;IAI5C,eAAe,IAAI,OAAO,GAAG,SAAS;IAI7C,SAAS,CAAC,aAAa,CAAC,OAAO,GAAE,GAAG,CAAC,IAAI,CAAmB,GAAG,MAAM;CAOxE;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,SAAU,SAAQ,IAAK,YAAW,SAAS;IACpD,OAAO,CAAC,YAAY,CAAO;IAC3B,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,SAAS,CAAqB;IACtC,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC7B,OAAO,CAAC,YAAY,CAAC,CAAgB;IACrC,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAElC,SAAS,CAAC,qBAAqB,IAAI,OAAO;IAI1C,SAAS,CAAC,sBAAsB,IAAI,MAAM;gBAI9B,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,kBAAkB,EAAE,YAAY,CAAC,EAAE,WAAW,EAAE;IAQlG,OAAO,IAAI,MAAM;IAIjB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAIjC,eAAe,IAAI,IAAI;IAI9B,SAAS,CAAC,aAAa,CAAC,OAAO,GAAE,GAAG,CAAC,IAAI,CAAmB,GAAG,MAAM;IAY9D,aAAa,IAAI,UAAU;IAI3B,YAAY,IAAI,MAAM;IAOtB,gBAAgB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO;IAQrD,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,YAAY,IAAI,kBAAkB;IAIlC,eAAe,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,IAAI;IAIlD,eAAe,IAAI,WAAW,EAAE,GAAG,SAAS;IAI5C,mBAAmB,CAAC,gBAAgB,EAAE,IAAI,EAAE,GAAG,IAAI;IAInD,mBAAmB,IAAI,IAAI,EAAE,GAAG,SAAS;CAGnD;AAED,qBAAa,WAAY,SAAQ,IAAI;IACjC,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,WAAW,CAAC,CAAO;IAC3B,OAAO,CAAC,UAAU,CAAC,CAAO;IAC1B,OAAO,CAAC,KAAK,CAAa;IAE1B,SAAS,CAAC,qBAAqB,IAAI,OAAO;IAI1C,SAAS,CAAC,sBAAsB,IAAI,MAAM;gBAI9B,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,IAAI;IAOxD,OAAO,IAAI,MAAM;IAIjB,cAAc,IAAI,IAAI,GAAG,SAAS;IAIlC,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAIhC,aAAa,IAAI,IAAI,GAAG,SAAS;IAIjC,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAI/B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI7B,QAAQ,IAAI,MAAM;IAIzB,SAAS,CAAC,aAAa,CAAC,OAAO,GAAE,GAAG,CAAC,IAAI,CAAmB,GAAG,MAAM;CAUxE;AAED,8BAAsB,cAAe,SAAQ,IAAI;IAC7C,OAAO,CAAC,UAAU,CAAS;IAE3B,SAAS,aAAa,UAAU,EAAE,MAAM;IAKjC,aAAa,IAAI,MAAM;IAI9B,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM;CAGxD;AAED,qBAAa,uBAAwB,SAAQ,cAAc;IACvD,OAAO,CAAC,kBAAkB,CAAkD;WAE9D,WAAW,CAAC,SAAS,EAAE,kBAAkB,GAAG,uBAAuB;IAM1E,qBAAqB,IAAI,kBAAkB;IAI3C,qBAAqB,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI;gBAIrD,UAAU,EAAE,MAAM;IAIvB,aAAa,IAAI,MAAM;CAGjC;AAED,qBAAa,uBAAwB,SAAQ,cAAc;gBAC3C,UAAU,EAAE,MAAM;CAGjC;AAED,qBAAa,cAAe,SAAQ,IAAI;IACpC,OAAO,CAAC,qBAAqB,CAAkB;IAC/C,OAAO,CAAC,QAAQ,CAAU;gBAEd,YAAY,EAAE,eAAe,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE;IAMtD,eAAe,IAAI,eAAe;IAIlC,WAAW,IAAI,KAAK,EAAE;IAItB,UAAU,CAAC,OAAO,EAAE,KAAK,GAAG,IAAI;IAIvC,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM;CAGxD;AAED,qBAAa,aAAc,SAAQ,IAAI;IACnC,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,CAAW;gBAEhB,SAAS,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,QAAQ;IAMnD,iBAAiB,IAAI,cAAc;IAInC,WAAW,IAAI,QAAQ,GAAG,SAAS;IAI1C,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM;CAGxD"}
@@ -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 : this.closures;
733
+ this.closures = closures !== null && closures !== void 0 ? closures : [];
735
734
  }
736
735
  getNestedMethod() {
737
736
  return this.nestedMethodSignature;
@@ -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('api', '').replace(/\.d\.e?ts$/, ''), file);
120
+ this.sdkImportMap.set(file.getName().replace(/^api[/\\]|\.d\.e?ts$/g, ''), file);
121
121
  }
122
122
  }
123
123
  static getImportSdkFile(from) {