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.
Files changed (143) hide show
  1. package/config/arkanalyzer.json +11 -0
  2. package/lib/Config.d.ts +27 -2
  3. package/lib/Config.d.ts.map +1 -1
  4. package/lib/Config.js +65 -2
  5. package/lib/Scene.d.ts +5 -2
  6. package/lib/Scene.d.ts.map +1 -1
  7. package/lib/Scene.js +34 -67
  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/cli/commands/cg.d.ts +27 -6
  12. package/lib/cli/commands/cg.d.ts.map +1 -1
  13. package/lib/cli/commands/cg.js +9 -6
  14. package/lib/core/base/Expr.js +3 -3
  15. package/lib/core/base/Position.d.ts +1 -1
  16. package/lib/core/base/Position.d.ts.map +1 -1
  17. package/lib/core/base/Position.js +2 -2
  18. package/lib/core/base/Type.d.ts.map +1 -1
  19. package/lib/core/base/Type.js +1 -2
  20. package/lib/core/common/Const.d.ts +1 -0
  21. package/lib/core/common/Const.d.ts.map +1 -1
  22. package/lib/core/common/Const.js +2 -1
  23. package/lib/core/common/IRInference.d.ts.map +1 -1
  24. package/lib/core/common/IRInference.js +1 -1
  25. package/lib/core/common/IRUtils.d.ts.map +1 -1
  26. package/lib/core/common/IRUtils.js +3 -33
  27. package/lib/core/common/ModelUtils.d.ts +6 -0
  28. package/lib/core/common/ModelUtils.d.ts.map +1 -1
  29. package/lib/core/common/ModelUtils.js +30 -0
  30. package/lib/core/common/SdkUtils.js +1 -1
  31. package/lib/core/common/TypeInference.d.ts +13 -0
  32. package/lib/core/common/TypeInference.d.ts.map +1 -1
  33. package/lib/core/common/TypeInference.js +44 -0
  34. package/lib/core/common/ValueUtil.d.ts +1 -1
  35. package/lib/core/common/ValueUtil.d.ts.map +1 -1
  36. package/lib/core/common/ValueUtil.js +28 -12
  37. package/lib/core/graph/Cfg.d.ts.map +1 -1
  38. package/lib/core/graph/Cfg.js +0 -2
  39. package/lib/core/graph/DominanceFinder.d.ts +3 -0
  40. package/lib/core/graph/DominanceFinder.d.ts.map +1 -1
  41. package/lib/core/graph/DominanceFinder.js +42 -36
  42. package/lib/core/graph/DominanceTree.d.ts.map +1 -1
  43. package/lib/core/graph/DominanceTree.js +0 -4
  44. package/lib/core/inference/ValueInference.d.ts.map +1 -1
  45. package/lib/core/inference/ValueInference.js +3 -2
  46. package/lib/core/inference/abc/AbcInference.d.ts.map +1 -1
  47. package/lib/core/inference/abc/AbcInference.js +2 -1
  48. package/lib/core/inference/arkts/ArkTsInference.d.ts.map +1 -1
  49. package/lib/core/inference/arkts/ArkTsInference.js +3 -2
  50. package/lib/core/model/ArkClass.d.ts +3 -0
  51. package/lib/core/model/ArkClass.d.ts.map +1 -1
  52. package/lib/core/model/ArkClass.js +32 -6
  53. package/lib/core/model/ArkFile.d.ts.map +1 -1
  54. package/lib/core/model/ArkFile.js +0 -1
  55. package/lib/core/model/ArkMetadata.d.ts +32 -1
  56. package/lib/core/model/ArkMetadata.d.ts.map +1 -1
  57. package/lib/core/model/ArkMetadata.js +28 -3
  58. package/lib/core/model/builder/ArkMetadataBuilder.d.ts +21 -0
  59. package/lib/core/model/builder/ArkMetadataBuilder.d.ts.map +1 -0
  60. package/lib/core/model/builder/ArkMetadataBuilder.js +160 -0
  61. package/lib/core/model/builder/ArkMethodBuilder.d.ts.map +1 -1
  62. package/lib/core/model/builder/ArkMethodBuilder.js +32 -26
  63. package/lib/frontend/FrontendBuilder.d.ts +26 -0
  64. package/lib/frontend/FrontendBuilder.d.ts.map +1 -0
  65. package/lib/frontend/FrontendBuilder.js +108 -0
  66. package/lib/frontend/arktsFrontend/ArktsFrontend.d.ts +16 -0
  67. package/lib/frontend/arktsFrontend/ArktsFrontend.d.ts.map +1 -0
  68. package/lib/frontend/arktsFrontend/ArktsFrontend.js +52 -0
  69. package/lib/frontend/cppFrontend/CppFrontend.d.ts +13 -0
  70. package/lib/frontend/cppFrontend/CppFrontend.d.ts.map +1 -0
  71. package/lib/frontend/cppFrontend/CppFrontend.js +85 -0
  72. package/lib/frontend/cppFrontend/ast/index.d.ts +5 -0
  73. package/lib/frontend/cppFrontend/ast/index.d.ts.map +1 -0
  74. package/lib/frontend/cppFrontend/ast/index.js +31 -0
  75. package/lib/frontend/cppFrontend/ast/ts/ArkCxxAstNode.d.ts.map +1 -0
  76. package/lib/frontend/cppFrontend/ast/ts/astParser.d.ts +25 -0
  77. package/lib/frontend/cppFrontend/ast/ts/astParser.d.ts.map +1 -0
  78. package/lib/frontend/cppFrontend/ast/ts/astParser.js +280 -0
  79. package/lib/frontend/cppFrontend/ast/ts/astUtils.d.ts +18 -0
  80. package/lib/frontend/cppFrontend/ast/ts/astUtils.d.ts.map +1 -0
  81. package/lib/frontend/cppFrontend/ast/ts/astUtils.js +158 -0
  82. package/lib/frontend/cppFrontend/ast/{const.d.ts → ts/const.d.ts} +0 -13
  83. package/lib/frontend/cppFrontend/ast/ts/const.d.ts.map +1 -0
  84. package/lib/frontend/cppFrontend/ast/ts/const.js +58 -0
  85. package/lib/frontend/cppFrontend/ast/ts/napi/napiApi.d.ts +8 -0
  86. package/lib/frontend/cppFrontend/ast/ts/napi/napiApi.d.ts.map +1 -0
  87. package/lib/frontend/cppFrontend/ast/ts/napi/napiApi.js +90 -0
  88. package/lib/frontend/cppFrontend/ast/ts/napi/napiRunner.d.ts +8 -0
  89. package/lib/frontend/cppFrontend/ast/ts/napi/napiRunner.d.ts.map +1 -0
  90. package/lib/frontend/cppFrontend/ast/ts/napi/napiRunner.js +180 -0
  91. package/lib/frontend/cppFrontend/common/ArkIRTransformer.d.ts +1 -1
  92. package/lib/frontend/cppFrontend/common/ArkIRTransformer.d.ts.map +1 -1
  93. package/lib/frontend/cppFrontend/common/ArkIRTransformer.js +55 -55
  94. package/lib/frontend/cppFrontend/common/ArkValueTransformer.d.ts +1 -1
  95. package/lib/frontend/cppFrontend/common/ArkValueTransformer.d.ts.map +1 -1
  96. package/lib/frontend/cppFrontend/common/ArkValueTransformer.js +151 -151
  97. package/lib/frontend/cppFrontend/common/IRInference.js +2 -2
  98. package/lib/frontend/cppFrontend/common/IRUtils.d.ts +1 -1
  99. package/lib/frontend/cppFrontend/common/IRUtils.d.ts.map +1 -1
  100. package/lib/frontend/cppFrontend/common/IRUtils.js +2 -2
  101. package/lib/frontend/cppFrontend/graph/builder/CfgBuilder.d.ts +1 -1
  102. package/lib/frontend/cppFrontend/graph/builder/CfgBuilder.d.ts.map +1 -1
  103. package/lib/frontend/cppFrontend/graph/builder/CfgBuilder.js +74 -74
  104. package/lib/frontend/cppFrontend/model/builder/ArkClassBuilder.d.ts +1 -1
  105. package/lib/frontend/cppFrontend/model/builder/ArkClassBuilder.d.ts.map +1 -1
  106. package/lib/frontend/cppFrontend/model/builder/ArkClassBuilder.js +3 -3
  107. package/lib/frontend/cppFrontend/model/builder/ArkFieldBuilder.d.ts +1 -1
  108. package/lib/frontend/cppFrontend/model/builder/ArkFieldBuilder.d.ts.map +1 -1
  109. package/lib/frontend/cppFrontend/model/builder/ArkFileBuilder.d.ts +1 -1
  110. package/lib/frontend/cppFrontend/model/builder/ArkFileBuilder.d.ts.map +1 -1
  111. package/lib/frontend/cppFrontend/model/builder/ArkFileBuilder.js +16 -17
  112. package/lib/frontend/cppFrontend/model/builder/ArkImportBuilder.d.ts +1 -1
  113. package/lib/frontend/cppFrontend/model/builder/ArkImportBuilder.d.ts.map +1 -1
  114. package/lib/frontend/cppFrontend/model/builder/ArkMethodBuilder.d.ts +1 -1
  115. package/lib/frontend/cppFrontend/model/builder/ArkMethodBuilder.d.ts.map +1 -1
  116. package/lib/frontend/cppFrontend/model/builder/ArkMethodBuilder.js +2 -2
  117. package/lib/frontend/cppFrontend/model/builder/ArkNamespaceBuilder.d.ts +1 -1
  118. package/lib/frontend/cppFrontend/model/builder/ArkNamespaceBuilder.d.ts.map +1 -1
  119. package/lib/frontend/cppFrontend/model/builder/ArkNamespaceBuilder.js +2 -2
  120. package/lib/frontend/cppFrontend/model/builder/BodyBuilder.d.ts +1 -1
  121. package/lib/frontend/cppFrontend/model/builder/BodyBuilder.d.ts.map +1 -1
  122. package/lib/frontend/cppFrontend/model/builder/builderUtils.d.ts +1 -1
  123. package/lib/frontend/cppFrontend/model/builder/builderUtils.d.ts.map +1 -1
  124. package/lib/frontend/cppFrontend/model/builder/builderUtils.js +3 -3
  125. package/lib/index.d.ts +5 -2
  126. package/lib/index.d.ts.map +1 -1
  127. package/lib/index.js +14 -6
  128. package/lib/pass/Dispatcher.d.ts.map +1 -1
  129. package/lib/pass/Dispatcher.js +0 -4
  130. package/lib/save/source/SourceStmt.d.ts.map +1 -1
  131. package/lib/save/source/SourceStmt.js +3 -1
  132. package/lib/utils/FileUtils.d.ts +1 -0
  133. package/lib/utils/FileUtils.d.ts.map +1 -1
  134. package/lib/utils/FileUtils.js +11 -3
  135. package/package.json +9 -4
  136. package/lib/frontend/cppFrontend/ast/ArkCxxAstNode.d.ts.map +0 -1
  137. package/lib/frontend/cppFrontend/ast/astUtils.d.ts +0 -51
  138. package/lib/frontend/cppFrontend/ast/astUtils.d.ts.map +0 -1
  139. package/lib/frontend/cppFrontend/ast/astUtils.js +0 -470
  140. package/lib/frontend/cppFrontend/ast/const.d.ts.map +0 -1
  141. package/lib/frontend/cppFrontend/ast/const.js +0 -134
  142. /package/lib/frontend/cppFrontend/ast/{ArkCxxAstNode.d.ts → ts/ArkCxxAstNode.d.ts} +0 -0
  143. /package/lib/frontend/cppFrontend/ast/{ArkCxxAstNode.js → ts/ArkCxxAstNode.js} +0 -0
@@ -43,7 +43,7 @@ exports.IRInference = void 0;
43
43
  */
44
44
  const fs_1 = __importDefault(require("fs"));
45
45
  const path_1 = __importStar(require("path"));
46
- const const_1 = require("../ast/const");
46
+ const ast_1 = require("../ast");
47
47
  const ArkMethod_1 = require("../../../core/model/ArkMethod");
48
48
  const Type_1 = require("../../../core/base/Type");
49
49
  const Local_1 = require("../../../core/base/Local");
@@ -962,7 +962,7 @@ class IRInference {
962
962
  */
963
963
  static getCxxHeaderFileRefMap(files, includeDirs) {
964
964
  const headerFileRefMap = new Map();
965
- const cxxSuffixes = (0, const_1.getCxxImplementationFileExtensions)();
965
+ const cxxSuffixes = (0, ast_1.getCxxImplementationFileExtensions)();
966
966
  files.forEach(file => {
967
967
  const filePath = (0, path_1.normalize)(file.getFilePath());
968
968
  const extension = path_1.default.extname(filePath).toLowerCase();
@@ -5,7 +5,7 @@ import { CommentsMetadata } from '../../../core/model/ArkMetadata';
5
5
  import { Stmt } from '../../../core/base/Stmt';
6
6
  import { ArkBaseModel } from '../../../core/model/ArkBaseModel';
7
7
  import { FullPosition } from '../../../core/base/Position';
8
- import { CxxAstNode } from '../ast/ArkCxxAstNode';
8
+ import { CxxAstNode } from '../ast';
9
9
  import { CxxClosureCaptureType } from '../base/Ref';
10
10
  export declare class IRUtils {
11
11
  static moreThanOneAddress(value: Value): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"IRUtils.d.ts","sourceRoot":"","sources":["../../../../src/frontend/cppFrontend/common/IRUtils.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAgC,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACjG,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAG3D,OAAO,EAAW,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,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,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;WAYjH,mBAAmB,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,GAAG,gBAAgB;WAS1H,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;WAQvD,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;WAmB5C,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI;WAc9E,4BAA4B,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,EAAE;CAUnF"}
1
+ {"version":3,"file":"IRUtils.d.ts","sourceRoot":"","sources":["../../../../src/frontend/cppFrontend/common/IRUtils.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAgC,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACjG,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAG3D,OAAO,EAAW,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,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,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;WAYjH,mBAAmB,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,GAAG,gBAAgB;WAS1H,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;WAQvD,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;WAmB5C,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI;WAc9E,4BAA4B,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,EAAE;CAUnF"}
@@ -21,7 +21,7 @@ const ArkMetadata_1 = require("../../../core/model/ArkMetadata");
21
21
  const Position_1 = require("../../../core/base/Position");
22
22
  const Local_1 = require("../../../core/base/Local");
23
23
  const Const_1 = require("../../../core/common/Const");
24
- const ArkCxxAstNode_1 = require("../ast/ArkCxxAstNode");
24
+ const ast_1 = require("../ast");
25
25
  const Ref_2 = require("../base/Ref");
26
26
  class IRUtils {
27
27
  static moreThanOneAddress(value) {
@@ -157,7 +157,7 @@ class IRUtils {
157
157
  static getLambdaExplicitCaptureVars(lambdaExpr) {
158
158
  const captureNodes = [];
159
159
  for (const child of lambdaExpr.inner) {
160
- if (child.kind === ArkCxxAstNode_1.astKind.ParmVarDecl || child.kind === ArkCxxAstNode_1.astKind.CompoundStmt) {
160
+ if (child.kind === ast_1.astKind.ParmVarDecl || child.kind === ast_1.astKind.CompoundStmt) {
161
161
  return captureNodes;
162
162
  }
163
163
  captureNodes.push(child);
@@ -7,7 +7,7 @@ import { AliasType } from '../../../../core/base/Type';
7
7
  import { CxxTrap } from '../../base/Trap';
8
8
  import { GlobalRef } from '../../../../core/base/Ref';
9
9
  import { Catch, Variable, Scope } from '../../../../core/graph/builder/CfgBuilder';
10
- import { CxxAstNode } from '../../ast/ArkCxxAstNode';
10
+ import { CxxAstNode } from '../../ast';
11
11
  export declare class BlockBuilder {
12
12
  id: number;
13
13
  stmts: StatementBuilder[];
@@ -1 +1 @@
1
- {"version":3,"file":"CfgBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/frontend/cppFrontend/graph/builder/CfgBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CfgBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/frontend/cppFrontend/graph/builder/CfgBuilder.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,7 @@ const ArkBaseModel_1 = require("../../../../core/model/ArkBaseModel");
30
30
  const CfgBuilder_1 = require("../../../../core/graph/builder/CfgBuilder");
31
31
  const ModelUtils_1 = require("../../../../core/common/ModelUtils");
32
32
  const TSConst_1 = require("../../../../core/common/TSConst");
33
- const ArkCxxAstNode_1 = require("../../ast/ArkCxxAstNode");
33
+ const ast_1 = require("../../ast");
34
34
  const LoopBuilder_1 = require("./LoopBuilder");
35
35
  const IfBuilder_1 = require("./IfBuilder");
36
36
  class BlockBuilder {
@@ -197,7 +197,7 @@ class CfgBuilder {
197
197
  ifstm.condition = c.inner[0].code;
198
198
  ifstm.code = 'if (' + ifstm.condition + ')';
199
199
  if (c.inner.length >= 2) { // length >= 2 means there is a condition and a body
200
- if (c.inner[1].kind === ArkCxxAstNode_1.astKind.CompoundStmt) {
200
+ if (c.inner[1].kind === ast_1.astKind.CompoundStmt) {
201
201
  // Body is a braced block { ... }
202
202
  this.walkAST(ifstm, ifexit, [...c.inner[1].inner]);
203
203
  }
@@ -211,7 +211,7 @@ class CfgBuilder {
211
211
  this.walkAST(ifstm, ifexit, [c.inner[0]]);
212
212
  }
213
213
  if (c.inner.length > 2) {
214
- if (c.inner[2].kind === ArkCxxAstNode_1.astKind.CompoundStmt) {
214
+ if (c.inner[2].kind === ast_1.astKind.CompoundStmt) {
215
215
  // Handle else here
216
216
  this.walkAST(ifstm, ifexit, [...c.inner[2].inner]);
217
217
  }
@@ -242,14 +242,14 @@ class CfgBuilder {
242
242
  loopstm.condition = c.inner[0].code;
243
243
  loopstm.code = 'while (' + loopstm.condition + ')';
244
244
  if (c.inner.length >= 2) {
245
- if (c.inner[1].kind === ArkCxxAstNode_1.astKind.CompoundStmt) {
245
+ if (c.inner[1].kind === ast_1.astKind.CompoundStmt) {
246
246
  this.walkAST(loopstm, loopstm, [...c.inner[1].inner]);
247
247
  }
248
248
  else {
249
249
  this.walkAST(loopstm, loopstm, [c.inner[1]]);
250
250
  }
251
251
  }
252
- else if (c.inner.length === 1 && c.inner[0].kind.toString() === ArkCxxAstNode_1.astKind.CompoundStmt) {
252
+ else if (c.inner.length === 1 && c.inner[0].kind.toString() === ast_1.astKind.CompoundStmt) {
253
253
  this.walkAST(loopstm, loopstm, [c.inner[0]]);
254
254
  }
255
255
  if (!loopstm.nextF) {
@@ -280,7 +280,7 @@ class CfgBuilder {
280
280
  loopstm.nextF = loopExit;
281
281
  loopExit.lasts.add(loopstm);
282
282
  loopstm.code = this.getPrefix(c.code, ' {\r\n');
283
- if (c.inner[c.inner.length - 1].kind === ArkCxxAstNode_1.astKind.CompoundStmt) {
283
+ if (c.inner[c.inner.length - 1].kind === ast_1.astKind.CompoundStmt) {
284
284
  this.walkAST(loopstm, loopstm, [...c.inner[c.inner.length - 1].inner]);
285
285
  }
286
286
  else {
@@ -341,7 +341,7 @@ class CfgBuilder {
341
341
  sliceCaseDefaultNode(node, clauses) {
342
342
  if (node.kind === 'CaseStmt') {
343
343
  for (let i = 0; i < node.inner.length; i++) {
344
- let isCaseOrDefault = node.inner[i].kind === ArkCxxAstNode_1.astKind.CaseStmt || node.inner[i].kind === ArkCxxAstNode_1.astKind.DefaultStmt;
344
+ let isCaseOrDefault = node.inner[i].kind === ast_1.astKind.CaseStmt || node.inner[i].kind === ast_1.astKind.DefaultStmt;
345
345
  if (isCaseOrDefault) {
346
346
  clauses.push(node);
347
347
  this.sliceCaseDefaultNode(node.inner[i], clauses);
@@ -372,7 +372,7 @@ class CfgBuilder {
372
372
  if (['CaseStmt', 'DefaultStmt'].includes(curr.kind)) {
373
373
  curr.parent = switchNode.inner[length - 1];
374
374
  // Reconstruct the syntax tree structure
375
- while (idx + 1 < arr.length && ![ArkCxxAstNode_1.astKind.CaseStmt, ArkCxxAstNode_1.astKind.DefaultStmt].includes(arr[idx + 1].kind)) {
375
+ while (idx + 1 < arr.length && ![ast_1.astKind.CaseStmt, ast_1.astKind.DefaultStmt].includes(arr[idx + 1].kind)) {
376
376
  arr[idx + 1].parent = curr;
377
377
  curr.inner.push(arr[idx + 1]);
378
378
  idx++;
@@ -451,12 +451,12 @@ class CfgBuilder {
451
451
  while (childInner.inner && childInner.inner.length > 0) {
452
452
  const n0 = childInner.inner[0];
453
453
  const innerKind = n0 === null || n0 === void 0 ? void 0 : n0.kind;
454
- if (innerKind === ArkCxxAstNode_1.astKind.DeclRefExpr) {
454
+ if (innerKind === ast_1.astKind.DeclRefExpr) {
455
455
  // 3) Safely read referencedDecl? .name; Use n0. name/n0. code/empty string at the bottom
456
456
  caller = ((_b = n0.referencedDecl) === null || _b === void 0 ? void 0 : _b.name) || n0.name || n0.code || '';
457
457
  break;
458
458
  }
459
- if (innerKind === ArkCxxAstNode_1.astKind.ImplicitCastExpr) {
459
+ if (innerKind === ast_1.astKind.ImplicitCastExpr) {
460
460
  childInner = n0; // Continue to traverse downward
461
461
  continue;
462
462
  }
@@ -585,10 +585,10 @@ class CfgBuilder {
585
585
  let tryBlock = undefined;
586
586
  let catchBlockList = [];
587
587
  for (const node of c.inner) {
588
- if (node.kind === ArkCxxAstNode_1.astKind.CompoundStmt) {
588
+ if (node.kind === ast_1.astKind.CompoundStmt) {
589
589
  tryBlock = node;
590
590
  }
591
- else if (node.kind === ArkCxxAstNode_1.astKind.CXXCatchStmt) {
591
+ else if (node.kind === ast_1.astKind.CXXCatchStmt) {
592
592
  catchBlockList.push(node);
593
593
  }
594
594
  }
@@ -639,13 +639,13 @@ class CfgBuilder {
639
639
  hitsControlBoundaryBeforeRoot(node) {
640
640
  var _a, _b, _c;
641
641
  const CONTROL_BOUNDARY_KINDS = new Set([
642
- ArkCxxAstNode_1.astKind.IfStmt,
643
- ArkCxxAstNode_1.astKind.WhileStmt,
644
- ArkCxxAstNode_1.astKind.DoStmt,
645
- ArkCxxAstNode_1.astKind.ForStmt,
646
- ArkCxxAstNode_1.astKind.CaseStmt,
647
- ArkCxxAstNode_1.astKind.DefaultStmt,
648
- ArkCxxAstNode_1.astKind.CXXTryStmt,
642
+ ast_1.astKind.IfStmt,
643
+ ast_1.astKind.WhileStmt,
644
+ ast_1.astKind.DoStmt,
645
+ ast_1.astKind.ForStmt,
646
+ ast_1.astKind.CaseStmt,
647
+ ast_1.astKind.DefaultStmt,
648
+ ast_1.astKind.CXXTryStmt,
649
649
  ]);
650
650
  let p = node;
651
651
  const rootId = this.astRoot.id;
@@ -668,17 +668,17 @@ class CfgBuilder {
668
668
  if (nodeKind === 'LabelStmt' && this.gotoStmtMap.get(innerNode.name) !== undefined) {
669
669
  gotoLabel = false;
670
670
  }
671
- if (gotoLabel && nodeKind !== ArkCxxAstNode_1.astKind.CompoundStmt) { // Skip the code between goto and label in the code block
671
+ if (gotoLabel && nodeKind !== ast_1.astKind.CompoundStmt) { // Skip the code between goto and label in the code block
672
672
  continue;
673
673
  }
674
674
  lastStatement = this.handleASTStmtSuccession(innerNode, lastStatement, scope);
675
- if (nodeKind === ArkCxxAstNode_1.astKind.ReturnStmt) {
675
+ if (nodeKind === ast_1.astKind.ReturnStmt) {
676
676
  break;
677
677
  }
678
- else if (nodeKind === ArkCxxAstNode_1.astKind.BreakStmt || nodeKind === ArkCxxAstNode_1.astKind.ContinueStmt) {
678
+ else if (nodeKind === ast_1.astKind.BreakStmt || nodeKind === ast_1.astKind.ContinueStmt) {
679
679
  return;
680
680
  }
681
- else if (nodeKind === ArkCxxAstNode_1.astKind.GotoStmt) {
681
+ else if (nodeKind === ast_1.astKind.GotoStmt) {
682
682
  if (this.hitsControlBoundaryBeforeRoot(innerNode)) {
683
683
  return;
684
684
  }
@@ -693,85 +693,85 @@ class CfgBuilder {
693
693
  let s;
694
694
  // 直接使用 innerNode.kind 进行 switch
695
695
  switch (innerNode.kind) {
696
- case ArkCxxAstNode_1.astKind.AtomicCallExpr:
697
- case ArkCxxAstNode_1.astKind.BinaryOperator:
698
- case ArkCxxAstNode_1.astKind.CallExpr:
699
- case ArkCxxAstNode_1.astKind.CompoundAssignOperator:
700
- case ArkCxxAstNode_1.astKind.CXXConstructExpr:
701
- case ArkCxxAstNode_1.astKind.CXXCtorInitializer:
702
- case ArkCxxAstNode_1.astKind.CXXDeleteExpr:
703
- case ArkCxxAstNode_1.astKind.CXXOperatorCallExpr:
704
- case ArkCxxAstNode_1.astKind.CXXThrowExpr:
705
- case ArkCxxAstNode_1.astKind.DeclStmt:
706
- case ArkCxxAstNode_1.astKind.RecoveryExpr:
707
- case ArkCxxAstNode_1.astKind.TypedefDecl:
708
- case ArkCxxAstNode_1.astKind.TypeAliasDecl:
709
- case ArkCxxAstNode_1.astKind.TypeAliasTemplateDecl:
710
- case ArkCxxAstNode_1.astKind.UnaryOperator:
711
- case ArkCxxAstNode_1.astKind.VarDecl:
696
+ case ast_1.astKind.AtomicCallExpr:
697
+ case ast_1.astKind.BinaryOperator:
698
+ case ast_1.astKind.CallExpr:
699
+ case ast_1.astKind.CompoundAssignOperator:
700
+ case ast_1.astKind.CXXConstructExpr:
701
+ case ast_1.astKind.CXXCtorInitializer:
702
+ case ast_1.astKind.CXXDeleteExpr:
703
+ case ast_1.astKind.CXXOperatorCallExpr:
704
+ case ast_1.astKind.CXXThrowExpr:
705
+ case ast_1.astKind.DeclStmt:
706
+ case ast_1.astKind.RecoveryExpr:
707
+ case ast_1.astKind.TypedefDecl:
708
+ case ast_1.astKind.TypeAliasDecl:
709
+ case ast_1.astKind.TypeAliasTemplateDecl:
710
+ case ast_1.astKind.UnaryOperator:
711
+ case ast_1.astKind.VarDecl:
712
712
  s = new StatementBuilder('statement', innerNode.code, innerNode, scope.id);
713
713
  this.judgeLastType(s, lastStatement);
714
714
  lastStatement = s;
715
715
  break;
716
- case ArkCxxAstNode_1.astKind.BreakStmt:
716
+ case ast_1.astKind.BreakStmt:
717
717
  this.ASTNodeBreakStatement(innerNode, lastStatement);
718
718
  break;
719
- case ArkCxxAstNode_1.astKind.CompoundStmt:
719
+ case ast_1.astKind.CompoundStmt:
720
720
  let blockExit = new StatementBuilder('blockExit', '', innerNode, scope.id);
721
721
  this.exits.push(blockExit);
722
722
  this.walkAST(lastStatement, blockExit, [...innerNode.inner]);
723
723
  lastStatement = blockExit;
724
724
  break;
725
- case ArkCxxAstNode_1.astKind.ContinueStmt:
725
+ case ast_1.astKind.ContinueStmt:
726
726
  const lastLoop = this.loopStack[this.loopStack.length - 1];
727
727
  this.judgeLastType(lastLoop, lastStatement);
728
728
  lastLoop.lasts.add(lastStatement);
729
729
  break;
730
- case ArkCxxAstNode_1.astKind.CXXMemberCallExpr:
730
+ case ast_1.astKind.CXXMemberCallExpr:
731
731
  lastStatement = this.ASTNodeCXXMemberCallExpr(innerNode, lastStatement, scope.id);
732
732
  break;
733
- case ArkCxxAstNode_1.astKind.CXXForRangeStmt:
734
- case ArkCxxAstNode_1.astKind.ForStmt:
733
+ case ast_1.astKind.CXXForRangeStmt:
734
+ case ast_1.astKind.ForStmt:
735
735
  lastStatement = this.ASTNodeForStatement(innerNode, lastStatement, scope.id);
736
736
  break;
737
- case ArkCxxAstNode_1.astKind.CXXTryStmt:
737
+ case ast_1.astKind.CXXTryStmt:
738
738
  lastStatement = this.ASTNodeTryStatement(innerNode, lastStatement, scope.id);
739
739
  break;
740
- case ArkCxxAstNode_1.astKind.DoStmt:
740
+ case ast_1.astKind.DoStmt:
741
741
  lastStatement = this.ASTNodeDoStatement(innerNode, lastStatement, scope.id);
742
742
  break;
743
- case ArkCxxAstNode_1.astKind.ExprWithCleanups:
743
+ case ast_1.astKind.ExprWithCleanups:
744
744
  lastStatement = this.ASTNodeImplicitCastExpr(innerNode, lastStatement, scope);
745
745
  break;
746
- case ArkCxxAstNode_1.astKind.GotoStmt:
747
- case ArkCxxAstNode_1.astKind.IndirectGotoStmt:
746
+ case ast_1.astKind.GotoStmt:
747
+ case ast_1.astKind.IndirectGotoStmt:
748
748
  this.ASTNodeGotoStatement(innerNode, lastStatement, scope.id);
749
749
  break;
750
- case ArkCxxAstNode_1.astKind.IfStmt:
750
+ case ast_1.astKind.IfStmt:
751
751
  lastStatement = this.ASTNodeIfStatement(innerNode, lastStatement, scope.id);
752
752
  break;
753
- case ArkCxxAstNode_1.astKind.LabelStmt:
753
+ case ast_1.astKind.LabelStmt:
754
754
  lastStatement = this.ASTNodeLabelStatement(innerNode, lastStatement, scope.id);
755
755
  break;
756
- case ArkCxxAstNode_1.astKind.ReturnStmt:
756
+ case ast_1.astKind.ReturnStmt:
757
757
  s = new StatementBuilder('returnStatement', innerNode.code, innerNode, scope.id);
758
758
  this.judgeLastType(s, lastStatement);
759
759
  lastStatement = s;
760
760
  break;
761
- case ArkCxxAstNode_1.astKind.SwitchStmt:
761
+ case ast_1.astKind.SwitchStmt:
762
762
  lastStatement = this.ASTNodeSwitchStatement(innerNode, lastStatement, scope.id);
763
763
  break;
764
- case ArkCxxAstNode_1.astKind.WhileStmt:
764
+ case ast_1.astKind.WhileStmt:
765
765
  lastStatement = this.ASTNodeWhileStatement(innerNode, lastStatement, scope.id);
766
766
  break;
767
- case ArkCxxAstNode_1.astKind.NullStmt:
767
+ case ast_1.astKind.NullStmt:
768
768
  break;
769
- case ArkCxxAstNode_1.astKind.ParmVarDecl:
769
+ case ast_1.astKind.ParmVarDecl:
770
770
  s = new StatementBuilder('statement', 'ParmVarDecl', innerNode, scope.id);
771
771
  this.judgeLastType(s, lastStatement);
772
772
  lastStatement = s;
773
773
  break;
774
- case ArkCxxAstNode_1.astKind.ImplicitCastExpr:
774
+ case ast_1.astKind.ImplicitCastExpr:
775
775
  lastStatement = this.ASTNodeImplicitCastExpr(innerNode, lastStatement, scope);
776
776
  break;
777
777
  default:
@@ -1035,7 +1035,7 @@ class CfgBuilder {
1035
1035
  if (notReturnStmts.length === 1 && notReturnStmts[0].block) {
1036
1036
  let p = notReturnStmts[0].astNode;
1037
1037
  while (p && p.id !== this.astRoot.id) {
1038
- if (p.kind === ArkCxxAstNode_1.astKind.CXXTryStmt || p.kind === ArkCxxAstNode_1.astKind.SwitchStmt) {
1038
+ if (p.kind === ast_1.astKind.CXXTryStmt || p.kind === ast_1.astKind.SwitchStmt) {
1039
1039
  TryOrSwitchExit = true;
1040
1040
  break;
1041
1041
  }
@@ -1137,19 +1137,19 @@ class CfgBuilder {
1137
1137
  if (this.astRoot.inner) {
1138
1138
  for (let i = 0; i < this.astRoot.inner.length; i++) {
1139
1139
  const allowedInnerKinds = [
1140
- ArkCxxAstNode_1.astKind.CXXConstructExpr,
1141
- ArkCxxAstNode_1.astKind.CXXCtorInitializer
1140
+ ast_1.astKind.CXXConstructExpr,
1141
+ ast_1.astKind.CXXCtorInitializer
1142
1142
  ];
1143
- if (this.astRoot.kind === ArkCxxAstNode_1.astKind.CXXConstructorDecl && allowedInnerKinds.includes(this.astRoot.inner[i].kind)) {
1143
+ if (this.astRoot.kind === ast_1.astKind.CXXConstructorDecl && allowedInnerKinds.includes(this.astRoot.inner[i].kind)) {
1144
1144
  stmts.push(this.astRoot.inner[i]);
1145
1145
  }
1146
1146
  const length = this.astRoot.inner[i].inner.length;
1147
- if (this.astRoot.inner[i].kind === ArkCxxAstNode_1.astKind.ParmVarDecl && length > 0 &&
1148
- this.astRoot.inner[i].inner[length - 1].kind !== ArkCxxAstNode_1.astKind.TypeRef) {
1147
+ if (this.astRoot.inner[i].kind === ast_1.astKind.ParmVarDecl && length > 0 &&
1148
+ this.astRoot.inner[i].inner[length - 1].kind !== ast_1.astKind.TypeRef) {
1149
1149
  stmts.push(this.astRoot.inner[i]);
1150
1150
  continue;
1151
1151
  }
1152
- if (this.astRoot.inner[i].kind === ArkCxxAstNode_1.astKind.CompoundStmt) {
1152
+ if (this.astRoot.inner[i].kind === ast_1.astKind.CompoundStmt) {
1153
1153
  stmts.push(...this.astRoot.inner[i].inner);
1154
1154
  break;
1155
1155
  }
@@ -1160,16 +1160,16 @@ class CfgBuilder {
1160
1160
  buildCfgBuilder() {
1161
1161
  let stmts = [];
1162
1162
  const translationUnitKinds = [
1163
- ArkCxxAstNode_1.astKind.TranslationUnitDecl,
1164
- ArkCxxAstNode_1.astKind.NamespaceDecl
1163
+ ast_1.astKind.TranslationUnitDecl,
1164
+ ast_1.astKind.NamespaceDecl
1165
1165
  ];
1166
1166
  const functionKinds = [
1167
- ArkCxxAstNode_1.astKind.FunctionDecl,
1168
- ArkCxxAstNode_1.astKind.CXXMethodDecl,
1169
- ArkCxxAstNode_1.astKind.CXXConstructorDecl,
1170
- ArkCxxAstNode_1.astKind.LambdaExpr,
1171
- ArkCxxAstNode_1.astKind.FunctionTemplateDecl,
1172
- ArkCxxAstNode_1.astKind.CXXDestructorDecl
1167
+ ast_1.astKind.FunctionDecl,
1168
+ ast_1.astKind.CXXMethodDecl,
1169
+ ast_1.astKind.CXXConstructorDecl,
1170
+ ast_1.astKind.LambdaExpr,
1171
+ ast_1.astKind.FunctionTemplateDecl,
1172
+ ast_1.astKind.CXXDestructorDecl
1173
1173
  ];
1174
1174
  if (translationUnitKinds.includes(this.astRoot.kind)) {
1175
1175
  stmts = [...this.astRoot.inner];
@@ -1191,7 +1191,7 @@ class CfgBuilder {
1191
1191
  return this.emptyBody;
1192
1192
  }
1193
1193
  buildCfg() {
1194
- if (this.astRoot.kind === ArkCxxAstNode_1.astKind.LambdaExpr && this.astRoot.inner[this.astRoot.inner.length - 1].kind !== ArkCxxAstNode_1.astKind.CompoundStmt) {
1194
+ if (this.astRoot.kind === ast_1.astKind.LambdaExpr && this.astRoot.inner[this.astRoot.inner.length - 1].kind !== ast_1.astKind.CompoundStmt) {
1195
1195
  return this.buildCfgForSimpleArrowFunction();
1196
1196
  }
1197
1197
  return this.buildNormalCfg();
@@ -2,7 +2,7 @@ import { ArkFile } from '../../../../core/model/ArkFile';
2
2
  import { ArkMethod } from '../../../../core/model/ArkMethod';
3
3
  import { ArkNamespace } from '../../../../core/model/ArkNamespace';
4
4
  import { ArkClass } from '../../../../core/model/ArkClass';
5
- import { CxxAstNode } from '../../ast/ArkCxxAstNode';
5
+ import { CxxAstNode } from '../../ast';
6
6
  export declare function buildNormalArkClassFromArkMethod(clsNode: CxxAstNode, cls: ArkClass, sourceFile: CxxAstNode, declaring?: ArkMethod | ArkClass): void;
7
7
  export declare function buildNormalArkClassFromArkFile(clsNode: CxxAstNode, arkFile: ArkFile, cls: ArkClass, sourceFile: CxxAstNode, declaring?: ArkMethod | ArkClass): void;
8
8
  export declare function buildNormalArkClassFromArkNamespace(clsNode: CxxAstNode, arkNamespace: ArkNamespace, cls: ArkClass, sourceFile: CxxAstNode, declaring?: ArkMethod | ArkClass): void;
@@ -1 +1 @@
1
- {"version":3,"file":"ArkClassBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/frontend/cppFrontend/model/builder/ArkClassBuilder.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE,OAAO,EAAE,QAAQ,EAAwC,MAAM,iCAAiC,CAAC;AAUjG,OAAO,EAAE,UAAU,EAA8C,MAAM,yBAAyB,CAAC;AAcjG,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,IAAI,CAOnJ;AAED,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EACpD,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,IAAI,CAQ7G;AAED,wBAAgB,mCAAmC,CAC/C,OAAO,EAAE,UAAU,EACnB,YAAY,EAAE,YAAY,EAC1B,GAAG,EAAE,QAAQ,EACb,UAAU,EAAE,UAAU,EACtB,SAAS,CAAC,EAAE,SAAS,GAAG,QAAQ,GACjC,IAAI,CASN;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,IAAI,CAwBtI;AA+PD,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI,CAInH"}
1
+ {"version":3,"file":"ArkClassBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/frontend/cppFrontend/model/builder/ArkClassBuilder.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE,OAAO,EAAE,QAAQ,EAAwC,MAAM,iCAAiC,CAAC;AAUjG,OAAO,EAAE,UAAU,EAA8C,MAAM,WAAW,CAAC;AAcnF,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,IAAI,CAOnJ;AAED,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EACpD,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,IAAI,CAQ7G;AAED,wBAAgB,mCAAmC,CAC/C,OAAO,EAAE,UAAU,EACnB,YAAY,EAAE,YAAY,EAC1B,GAAG,EAAE,QAAQ,EACb,UAAU,EAAE,UAAU,EACtB,SAAS,CAAC,EAAE,SAAS,GAAG,QAAQ,GACjC,IAAI,CASN;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,IAAI,CAwBtI;AA+PD,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI,CAInH"}
@@ -50,7 +50,7 @@ const IRUtils_1 = require("../../common/IRUtils");
50
50
  const ArkSignature_1 = require("../../../../core/model/ArkSignature");
51
51
  const ArkClassBuilder_1 = require("../../../../core/model/builder/ArkClassBuilder");
52
52
  const ArkIRTransformer_1 = require("../../common/ArkIRTransformer");
53
- const ArkCxxAstNode_1 = require("../../ast/ArkCxxAstNode");
53
+ const ast_1 = require("../../ast");
54
54
  const ArkField_1 = require("../../../../core/model/ArkField");
55
55
  const Constant_1 = require("../../../../core/base/Constant");
56
56
  const ValueUtil_1 = require("../../../../core/common/ValueUtil");
@@ -74,7 +74,7 @@ exports.buildNormalArkClassFromArkMethod = buildNormalArkClassFromArkMethod;
74
74
  function buildNormalArkClassFromArkFile(clsNode, arkFile, cls, sourceFile, declaring) {
75
75
  cls.setDeclaringArkFile(arkFile);
76
76
  cls.setCode(clsNode.code);
77
- const nodePos = (0, ArkCxxAstNode_1.getNodeStartLineAndCol)(clsNode);
77
+ const nodePos = (0, ast_1.getNodeStartLineAndCol)(clsNode);
78
78
  cls.setLine(nodePos.line);
79
79
  cls.setColumn(nodePos.col);
80
80
  buildNormalArkClass(clsNode, cls, sourceFile, declaring);
@@ -85,7 +85,7 @@ function buildNormalArkClassFromArkNamespace(clsNode, arkNamespace, cls, sourceF
85
85
  cls.setDeclaringArkNamespace(arkNamespace);
86
86
  cls.setDeclaringArkFile(arkNamespace.getDeclaringArkFile());
87
87
  cls.setCode(clsNode.code);
88
- const nodePos = (0, ArkCxxAstNode_1.getNodeStartLineAndCol)(clsNode);
88
+ const nodePos = (0, ast_1.getNodeStartLineAndCol)(clsNode);
89
89
  cls.setLine(nodePos.line);
90
90
  cls.setColumn(nodePos.col);
91
91
  buildNormalArkClass(clsNode, cls, sourceFile, declaring);
@@ -1,5 +1,5 @@
1
1
  import { ArkField } from '../../../../core/model/ArkField';
2
2
  import { ArkClass } from '../../../../core/model/ArkClass';
3
- import { CxxAstNode } from '../../ast/ArkCxxAstNode';
3
+ import { CxxAstNode } from '../../ast';
4
4
  export declare function buildProperty2ArkField(member: CxxAstNode, sourceFile: CxxAstNode, cls: ArkClass): ArkField;
5
5
  //# sourceMappingURL=ArkFieldBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ArkFieldBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/frontend/cppFrontend/model/builder/ArkFieldBuilder.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,QAAQ,EAAiB,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAQ3D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,GAAG,QAAQ,CAuB1G"}
1
+ {"version":3,"file":"ArkFieldBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/frontend/cppFrontend/model/builder/ArkFieldBuilder.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,QAAQ,EAAiB,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAQ3D,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,GAAG,QAAQ,CAuB1G"}
@@ -1,6 +1,6 @@
1
1
  import { ArkFile } from '../../../../core/model/ArkFile';
2
2
  import { ArkClass } from '../../../../core/model/ArkClass';
3
- import { CxxAstNode } from '../../ast/ArkCxxAstNode';
3
+ import { CxxAstNode } from '../../ast';
4
4
  export declare const classMap: Map<string, ArkClass>;
5
5
  /**
6
6
  * Entry of building ArkFile instance
@@ -1 +1 @@
1
- {"version":3,"file":"ArkFileBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/frontend/cppFrontend/model/builder/ArkFileBuilder.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAMzD,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAU3D,OAAO,EAAW,UAAU,EAAkB,MAAM,yBAAyB,CAAC;AAa9E,eAAO,MAAM,QAAQ,EAAG,GAAG,CAAC,MAAM,EAAE,QAAQ,CAA+B,CAAC;AAgD5E;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,GAAE,MAAM,EAAO,GAAG,IAAI,CAa1J;AAED,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI,CAU5G"}
1
+ {"version":3,"file":"ArkFileBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/frontend/cppFrontend/model/builder/ArkFileBuilder.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAMzD,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAS3D,OAAO,EAAsB,UAAU,EAAkB,MAAM,WAAW,CAAC;AAa3E,eAAO,MAAM,QAAQ,EAAG,GAAG,CAAC,MAAM,EAAE,QAAQ,CAA+B,CAAC;AAgD5E;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,GAAE,MAAM,EAAO,GAAG,IAAI,CAa1J;AAED,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI,CAU5G"}
@@ -51,14 +51,13 @@ const ArkNamespaceBuilder_1 = require("./ArkNamespaceBuilder");
51
51
  const ArkClass_1 = require("../../../../core/model/ArkClass");
52
52
  const ArkClassBuilder_2 = require("./ArkClassBuilder");
53
53
  const ArkMethod_1 = require("../../../../core/model/ArkMethod");
54
- const astUtils_1 = require("../../ast/astUtils");
55
54
  const ArkSignature_1 = require("../../../../core/model/ArkSignature");
56
55
  const Position_1 = require("../../../../core/base/Position");
57
56
  const ArkImportBuilder_1 = require("./ArkImportBuilder");
58
57
  const ModelUtils_1 = require("../../common/ModelUtils");
59
58
  const logger_1 = __importStar(require("../../../../utils/logger"));
60
59
  const ArkClassBuilder_3 = require("../../../../core/model/builder/ArkClassBuilder");
61
- const ArkCxxAstNode_1 = require("../../ast/ArkCxxAstNode");
60
+ const ast_1 = require("../../ast");
62
61
  const ArkFieldBuilder_1 = require("./ArkFieldBuilder");
63
62
  const Const_1 = require("../../../../core/common/Const");
64
63
  const logger = logger_1.default.getLogger(logger_1.LOG_MODULE_TYPE.ARKANALYZER, 'ArkFileBuilder');
@@ -120,7 +119,7 @@ function buildArkFileFromFile(absoluteFilePath, projectDir, arkFile, projectName
120
119
  arkFile.setCode(fs_1.default.readFileSync(arkFile.getFilePath(), 'utf8'));
121
120
  let sdkPath = extractOhosSdkPath(arkFile.getScene().getProjectSdkMap());
122
121
  let llvmPath = findLLVMPath(sdkPath);
123
- const jsonObject = astUtils_1.AstUtils.parse(absoluteFilePath, scene.getCcjsonPath(), includeDirs, llvmPath, scene.getCppAstPath());
122
+ const jsonObject = ast_1.AstParser.parse(absoluteFilePath, scene.getCcjsonPath(), includeDirs, llvmPath, scene.getCppAstPath());
124
123
  genDefaultArkClass(arkFile, jsonObject);
125
124
  buildArkFile(arkFile, jsonObject);
126
125
  }
@@ -216,44 +215,44 @@ function buildArkFile(arkFile, astRoot) {
216
215
  switch (childKind) {
217
216
  // 'RecordDecl' ---C Language (struct/class/union)
218
217
  // 'CXXRecordDecl' ---C++ Language (struct/class/union)
219
- case ArkCxxAstNode_1.astKind.RecordDecl:
220
- case ArkCxxAstNode_1.astKind.CXXRecordDecl:
221
- case ArkCxxAstNode_1.astKind.ClassTemplateDecl:
218
+ case ast_1.astKind.RecordDecl:
219
+ case ast_1.astKind.CXXRecordDecl:
220
+ case ast_1.astKind.ClassTemplateDecl:
222
221
  buildArkClassFromCxxClass(child, arkFile, astRoot);
223
222
  break;
224
- case ArkCxxAstNode_1.astKind.FunctionDecl:
225
- case ArkCxxAstNode_1.astKind.FriendDecl:
226
- case ArkCxxAstNode_1.astKind.FunctionTemplateDecl:
223
+ case ast_1.astKind.FunctionDecl:
224
+ case ast_1.astKind.FriendDecl:
225
+ case ast_1.astKind.FunctionTemplateDecl:
227
226
  buildArkMethodFromCxxMethod(child, arkFile, astRoot);
228
227
  break;
229
- case ArkCxxAstNode_1.astKind.NamespaceDecl:
228
+ case ast_1.astKind.NamespaceDecl:
230
229
  let ns = new ArkNamespace_1.ArkNamespace();
231
230
  ns.setDeclaringArkFile(arkFile);
232
231
  (0, ArkNamespaceBuilder_1.buildArkNamespace)(child, arkFile, ns, astRoot);
233
232
  arkFile.addNamespace(ns);
234
233
  addExportInfoOnCondition(child, ns, arkFile);
235
234
  break;
236
- case ArkCxxAstNode_1.astKind.CXXMethodDecl:
237
- case ArkCxxAstNode_1.astKind.CXXConstructorDecl:
238
- case ArkCxxAstNode_1.astKind.CXXDestructorDecl:
235
+ case ast_1.astKind.CXXMethodDecl:
236
+ case ast_1.astKind.CXXConstructorDecl:
237
+ case ast_1.astKind.CXXDestructorDecl:
239
238
  // Member function, construction and destructor need to establish the function class first
240
239
  const arkClass = getDeclaringArkClassOfMethod(child, arkFile);
241
240
  buildArkMethodFromCxxMethod(child, arkFile, astRoot, arkClass);
242
241
  break;
243
- case ArkCxxAstNode_1.astKind.EnumDecl:
242
+ case ast_1.astKind.EnumDecl:
244
243
  child = Object.assign(Object.assign({}, child), { tagUsed: 'enum' });
245
244
  buildArkClassFromCxxClass(child, arkFile, astRoot);
246
245
  break;
247
- case ArkCxxAstNode_1.astKind.UsingDirectiveDecl:
246
+ case ast_1.astKind.UsingDirectiveDecl:
248
247
  buildImportInfoFromUsing(child, astRoot, arkFile);
249
248
  break;
250
- case ArkCxxAstNode_1.astKind.VarDecl:
249
+ case ast_1.astKind.VarDecl:
251
250
  // handle global variable
252
251
  child.mangledName = Const_1.DEFAULT_ARK_CLASS_NAME;
253
252
  const arkDefaultClass = getDeclaringArkClassOfMethod(child, arkFile);
254
253
  (0, ArkFieldBuilder_1.buildProperty2ArkField)(child, astRoot, arkDefaultClass);
255
254
  break;
256
- case ArkCxxAstNode_1.astKind.LinkageSpecDecl:
255
+ case ast_1.astKind.LinkageSpecDecl:
257
256
  buildArkFile(arkFile, child);
258
257
  default:
259
258
  logger.trace('Child joined default method of arkFile: ', (_a = child.kind) !== null && _a !== void 0 ? _a : child.code);
@@ -1,6 +1,6 @@
1
1
  import { ImportInfo } from '../../../../core/model/ArkImport';
2
2
  import { ArkFile } from '../../../../core/model/ArkFile';
3
- import { CxxAstNode, CxxIncludeInfo } from '../../ast/ArkCxxAstNode';
3
+ import { CxxAstNode, CxxIncludeInfo } from '../../ast';
4
4
  export declare function buildGenericImportInfo(includeInfo: CxxIncludeInfo, includeNode: CxxAstNode, sourceFile: CxxAstNode, arkFile: ArkFile): ImportInfo;
5
5
  export declare function buildUsingNamespaceImportInfo(node: CxxAstNode, sourceFile: CxxAstNode, arkFile: ArkFile): ImportInfo | null;
6
6
  //# sourceMappingURL=ArkImportBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ArkImportBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/frontend/cppFrontend/model/builder/ArkImportBuilder.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAE9D,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAEzD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAGrE,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,UAAU,CAWjJ;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,UAAU,GAAG,IAAI,CAmB3H"}
1
+ {"version":3,"file":"ArkImportBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/frontend/cppFrontend/model/builder/ArkImportBuilder.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAE9D,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAEzD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAGvD,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,UAAU,CAWjJ;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,UAAU,GAAG,IAAI,CAmB3H"}
@@ -2,7 +2,7 @@ import { ArkClass } from '../../../../core/model/ArkClass';
2
2
  import { ArkMethod } from '../../../../core/model/ArkMethod';
3
3
  import { Stmt } from '../../../../core/base/Stmt';
4
4
  import { Local } from '../../../../core/base/Local';
5
- import { CxxAstNode } from '../../ast/ArkCxxAstNode';
5
+ import { CxxAstNode } from '../../ast';
6
6
  export declare function buildDefaultArkMethodFromArkClass(declaringClass: ArkClass, mtd: ArkMethod, sourceFile: CxxAstNode, node?: CxxAstNode): void;
7
7
  export declare function handleFunctionTemplateDecl(methodNode: CxxAstNode, mtd: ArkMethod, sourceFile: CxxAstNode): void;
8
8
  export declare function buildArkMethodFromArkClass(methodNode: CxxAstNode, declaringClass: ArkClass, mtd: ArkMethod, sourceFile: CxxAstNode, declaringMethod?: ArkMethod): void;