arkanalyzer 1.0.86 → 1.0.88

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 (422) hide show
  1. package/README.en.md +69 -65
  2. package/README.md +56 -70
  3. package/config/arkanalyzer.json +7 -2
  4. package/docs/cppFrontend/ArkAnalyzer-cpp_usage_guide.md +245 -0
  5. package/docs/cppFrontend/cpp_frontend_build_guide.md +126 -0
  6. package/docs/cppFrontend/cpp_frontend_user_guide.md +175 -0
  7. package/docs/cppFrontend/img.png +0 -0
  8. package/docs/cppFrontend/img_1.png +0 -0
  9. package/docs/cppFrontend/img_10.png +0 -0
  10. package/docs/cppFrontend/img_11.png +0 -0
  11. package/docs/cppFrontend/img_12.png +0 -0
  12. package/docs/cppFrontend/img_13.png +0 -0
  13. package/docs/cppFrontend/img_14.png +0 -0
  14. package/docs/cppFrontend/img_15.png +0 -0
  15. package/docs/cppFrontend/img_16.png +0 -0
  16. package/docs/cppFrontend/img_17.png +0 -0
  17. package/docs/cppFrontend/img_18.png +0 -0
  18. package/docs/cppFrontend/img_19.png +0 -0
  19. package/docs/cppFrontend/img_2.png +0 -0
  20. package/docs/cppFrontend/img_20.png +0 -0
  21. package/docs/cppFrontend/img_21.png +0 -0
  22. package/docs/cppFrontend/img_22.png +0 -0
  23. package/docs/cppFrontend/img_23.png +0 -0
  24. package/docs/cppFrontend/img_3.png +0 -0
  25. package/docs/cppFrontend/img_4.png +0 -0
  26. package/docs/cppFrontend/img_5.png +0 -0
  27. package/docs/cppFrontend/img_6.png +0 -0
  28. package/docs/cppFrontend/img_7.png +0 -0
  29. package/docs/cppFrontend/img_8.png +0 -0
  30. package/docs/cppFrontend/img_9.png +0 -0
  31. package/docs/sig_programanalysis.en.md +66 -0
  32. package/docs/sig_programanalysis.md +73 -0
  33. package/lib/Config.d.ts +35 -1
  34. package/lib/Config.d.ts.map +1 -1
  35. package/lib/Config.js +91 -2
  36. package/lib/Scene.d.ts +25 -2
  37. package/lib/Scene.d.ts.map +1 -1
  38. package/lib/Scene.js +151 -44
  39. package/lib/callgraph/algorithm/AbstractAnalysis.d.ts +4 -3
  40. package/lib/callgraph/algorithm/AbstractAnalysis.d.ts.map +1 -1
  41. package/lib/callgraph/algorithm/AbstractAnalysis.js +17 -17
  42. package/lib/callgraph/algorithm/RapidTypeAnalysis.d.ts +6 -1
  43. package/lib/callgraph/algorithm/RapidTypeAnalysis.d.ts.map +1 -1
  44. package/lib/callgraph/algorithm/RapidTypeAnalysis.js +117 -14
  45. package/lib/callgraph/common/Statistics.d.ts +4 -2
  46. package/lib/callgraph/common/Statistics.d.ts.map +1 -1
  47. package/lib/callgraph/common/Statistics.js +14 -2
  48. package/lib/callgraph/model/CallGraph.d.ts +12 -8
  49. package/lib/callgraph/model/CallGraph.d.ts.map +1 -1
  50. package/lib/callgraph/model/CallGraph.js +53 -29
  51. package/lib/callgraph/model/builder/CallGraphBuilder.d.ts +1 -0
  52. package/lib/callgraph/model/builder/CallGraphBuilder.d.ts.map +1 -1
  53. package/lib/callgraph/model/builder/CallGraphBuilder.js +5 -1
  54. package/lib/callgraph/pointerAnalysis/Pag.d.ts.map +1 -1
  55. package/lib/callgraph/pointerAnalysis/Pag.js +3 -0
  56. package/lib/callgraph/pointerAnalysis/PointerAnalysis.js +4 -2
  57. package/lib/cli/cli.d.ts +3 -0
  58. package/lib/cli/cli.d.ts.map +1 -0
  59. package/lib/cli/cli.js +82 -0
  60. package/lib/cli/commands/cg.d.ts +53 -0
  61. package/lib/cli/commands/cg.d.ts.map +1 -0
  62. package/lib/cli/commands/cg.js +404 -0
  63. package/lib/cli/commands/index.d.ts +6 -0
  64. package/lib/cli/commands/index.d.ts.map +1 -0
  65. package/lib/cli/commands/index.js +64 -0
  66. package/lib/cli/commands/ir.d.ts +26 -0
  67. package/lib/cli/commands/ir.d.ts.map +1 -0
  68. package/lib/cli/commands/ir.js +94 -0
  69. package/lib/core/base/Constant.d.ts +1 -1
  70. package/lib/core/base/Constant.d.ts.map +1 -1
  71. package/lib/core/base/Constant.js +1 -1
  72. package/lib/core/base/Expr.d.ts +29 -5
  73. package/lib/core/base/Expr.d.ts.map +1 -1
  74. package/lib/core/base/Expr.js +145 -23
  75. package/lib/core/base/Position.d.ts +14 -0
  76. package/lib/core/base/Position.d.ts.map +1 -1
  77. package/lib/core/base/Position.js +27 -0
  78. package/lib/core/base/Ref.d.ts +1 -0
  79. package/lib/core/base/Ref.d.ts.map +1 -1
  80. package/lib/core/base/Ref.js +4 -1
  81. package/lib/core/base/Type.d.ts +64 -24
  82. package/lib/core/base/Type.d.ts.map +1 -1
  83. package/lib/core/base/Type.js +144 -49
  84. package/lib/core/common/ArkError.d.ts +26 -2
  85. package/lib/core/common/ArkError.d.ts.map +1 -1
  86. package/lib/core/common/ArkError.js +56 -2
  87. package/lib/core/common/ArkIRTransformer.d.ts +11 -10
  88. package/lib/core/common/ArkIRTransformer.d.ts.map +1 -1
  89. package/lib/core/common/ArkIRTransformer.js +1 -1
  90. package/lib/core/common/ArkValueTransformer.d.ts +14 -12
  91. package/lib/core/common/ArkValueTransformer.d.ts.map +1 -1
  92. package/lib/core/common/ArkValueTransformer.js +1 -5
  93. package/lib/core/common/Const.d.ts +4 -0
  94. package/lib/core/common/Const.d.ts.map +1 -1
  95. package/lib/core/common/Const.js +5 -1
  96. package/lib/core/common/DummyMainCreater.d.ts +23 -13
  97. package/lib/core/common/DummyMainCreater.d.ts.map +1 -1
  98. package/lib/core/common/DummyMainCreater.js +66 -43
  99. package/lib/core/common/EtsConst.d.ts +11 -0
  100. package/lib/core/common/EtsConst.d.ts.map +1 -1
  101. package/lib/core/common/EtsConst.js +12 -1
  102. package/lib/core/common/IRInference.d.ts.map +1 -1
  103. package/lib/core/common/IRInference.js +6 -2
  104. package/lib/core/common/IRUtils.d.ts.map +1 -1
  105. package/lib/core/common/IRUtils.js +3 -33
  106. package/lib/core/common/ModelUtils.d.ts +4 -7
  107. package/lib/core/common/ModelUtils.d.ts.map +1 -1
  108. package/lib/core/common/ModelUtils.js +77 -110
  109. package/lib/core/common/SdkUtils.d.ts +1 -1
  110. package/lib/core/common/SdkUtils.d.ts.map +1 -1
  111. package/lib/core/common/SdkUtils.js +14 -5
  112. package/lib/core/common/TypeInference.d.ts.map +1 -1
  113. package/lib/core/common/TypeInference.js +9 -3
  114. package/lib/core/graph/BaseExplicitGraph.d.ts +4 -4
  115. package/lib/core/graph/BaseExplicitGraph.d.ts.map +1 -1
  116. package/lib/core/graph/BaseExplicitGraph.js +15 -8
  117. package/lib/core/graph/BasicBlock.d.ts.map +1 -1
  118. package/lib/core/graph/Scc.d.ts.map +1 -1
  119. package/lib/core/graph/Scc.js +7 -2
  120. package/lib/core/graph/builder/CfgBuilder.d.ts +10 -7
  121. package/lib/core/graph/builder/CfgBuilder.d.ts.map +1 -1
  122. package/lib/core/graph/builder/CfgBuilder.js +12 -5
  123. package/lib/core/inference/Inference.d.ts.map +1 -1
  124. package/lib/core/inference/Inference.js +7 -0
  125. package/lib/core/inference/ModelInference.d.ts +1 -1
  126. package/lib/core/inference/ModelInference.d.ts.map +1 -1
  127. package/lib/core/inference/ValueInference.d.ts +3 -2
  128. package/lib/core/inference/ValueInference.d.ts.map +1 -1
  129. package/lib/core/inference/ValueInference.js +64 -12
  130. package/lib/core/inference/abc/AbcInference.d.ts +28 -2
  131. package/lib/core/inference/abc/AbcInference.d.ts.map +1 -1
  132. package/lib/core/inference/abc/AbcInference.js +105 -4
  133. package/lib/core/model/ArkBaseModel.d.ts +14 -1
  134. package/lib/core/model/ArkBaseModel.d.ts.map +1 -1
  135. package/lib/core/model/ArkBaseModel.js +61 -2
  136. package/lib/core/model/ArkBody.d.ts.map +1 -1
  137. package/lib/core/model/ArkBody.js +1 -3
  138. package/lib/core/model/ArkClass.d.ts +25 -2
  139. package/lib/core/model/ArkClass.d.ts.map +1 -1
  140. package/lib/core/model/ArkClass.js +72 -30
  141. package/lib/core/model/ArkField.d.ts.map +1 -1
  142. package/lib/core/model/ArkField.js +3 -1
  143. package/lib/core/model/ArkFile.d.ts +4 -1
  144. package/lib/core/model/ArkFile.d.ts.map +1 -1
  145. package/lib/core/model/ArkFile.js +44 -3
  146. package/lib/core/model/ArkImport.d.ts.map +1 -1
  147. package/lib/core/model/ArkImport.js +9 -1
  148. package/lib/core/model/ArkMetadata.d.ts +32 -1
  149. package/lib/core/model/ArkMetadata.d.ts.map +1 -1
  150. package/lib/core/model/ArkMetadata.js +28 -2
  151. package/lib/core/model/ArkMethod.d.ts +5 -0
  152. package/lib/core/model/ArkMethod.d.ts.map +1 -1
  153. package/lib/core/model/ArkMethod.js +33 -1
  154. package/lib/core/model/ArkNamespace.d.ts +2 -0
  155. package/lib/core/model/ArkNamespace.d.ts.map +1 -1
  156. package/lib/core/model/ArkNamespace.js +11 -0
  157. package/lib/core/model/ArkSignature.d.ts +3 -3
  158. package/lib/core/model/ArkSignature.d.ts.map +1 -1
  159. package/lib/core/model/ArkSignature.js +14 -9
  160. package/lib/core/model/builder/ArkClassBuilder.d.ts +2 -0
  161. package/lib/core/model/builder/ArkClassBuilder.d.ts.map +1 -1
  162. package/lib/core/model/builder/ArkClassBuilder.js +3 -3
  163. package/lib/core/model/builder/ArkMetadataBuilder.d.ts +21 -0
  164. package/lib/core/model/builder/ArkMetadataBuilder.d.ts.map +1 -0
  165. package/lib/core/model/builder/ArkMetadataBuilder.js +160 -0
  166. package/lib/core/model/builder/ArkMethodBuilder.d.ts +4 -1
  167. package/lib/core/model/builder/ArkMethodBuilder.d.ts.map +1 -1
  168. package/lib/core/model/builder/ArkMethodBuilder.js +50 -29
  169. package/lib/core/model/builder/ArkNamespaceBuilder.d.ts +1 -0
  170. package/lib/core/model/builder/ArkNamespaceBuilder.d.ts.map +1 -1
  171. package/lib/core/model/builder/ArkNamespaceBuilder.js +2 -1
  172. package/lib/core/model/builder/BodyBuilder.d.ts +4 -0
  173. package/lib/core/model/builder/BodyBuilder.d.ts.map +1 -1
  174. package/lib/core/model/builder/builderUtils.d.ts +1 -0
  175. package/lib/core/model/builder/builderUtils.d.ts.map +1 -1
  176. package/lib/core/model/builder/builderUtils.js +7 -3
  177. package/lib/frontend/cppFrontend/ast/ArkCxxAstNode.d.ts +296 -0
  178. package/lib/frontend/cppFrontend/ast/ArkCxxAstNode.d.ts.map +1 -0
  179. package/lib/frontend/cppFrontend/ast/ArkCxxAstNode.js +145 -0
  180. package/lib/frontend/cppFrontend/ast/astJsonNapi/napiApi.d.ts +8 -0
  181. package/lib/frontend/cppFrontend/ast/astJsonNapi/napiApi.d.ts.map +1 -0
  182. package/lib/frontend/cppFrontend/ast/astJsonNapi/napiApi.js +90 -0
  183. package/lib/frontend/cppFrontend/ast/astJsonNapi/napiRunner.d.ts +8 -0
  184. package/lib/frontend/cppFrontend/ast/astJsonNapi/napiRunner.d.ts.map +1 -0
  185. package/lib/frontend/cppFrontend/ast/astJsonNapi/napiRunner.js +183 -0
  186. package/lib/frontend/cppFrontend/ast/astParser.d.ts +25 -0
  187. package/lib/frontend/cppFrontend/ast/astParser.d.ts.map +1 -0
  188. package/lib/frontend/cppFrontend/ast/astParser.js +280 -0
  189. package/lib/frontend/cppFrontend/ast/astUtils.d.ts +18 -0
  190. package/lib/frontend/cppFrontend/ast/astUtils.d.ts.map +1 -0
  191. package/lib/frontend/cppFrontend/ast/astUtils.js +158 -0
  192. package/lib/frontend/cppFrontend/ast/const.d.ts +17 -0
  193. package/lib/frontend/cppFrontend/ast/const.d.ts.map +1 -0
  194. package/lib/frontend/cppFrontend/ast/const.js +58 -0
  195. package/lib/frontend/cppFrontend/ast/index.d.ts +5 -0
  196. package/lib/frontend/cppFrontend/ast/index.d.ts.map +1 -0
  197. package/lib/frontend/cppFrontend/ast/index.js +31 -0
  198. package/lib/frontend/cppFrontend/base/Constant.d.ts +9 -0
  199. package/lib/frontend/cppFrontend/base/Constant.d.ts.map +1 -0
  200. package/lib/frontend/cppFrontend/base/Constant.js +33 -0
  201. package/lib/frontend/cppFrontend/base/Expr.d.ts +174 -0
  202. package/lib/frontend/cppFrontend/base/Expr.d.ts.map +1 -0
  203. package/lib/frontend/cppFrontend/base/Expr.js +530 -0
  204. package/lib/frontend/cppFrontend/base/Ref.d.ts +25 -0
  205. package/lib/frontend/cppFrontend/base/Ref.d.ts.map +1 -0
  206. package/lib/frontend/cppFrontend/base/Ref.js +53 -0
  207. package/lib/frontend/cppFrontend/base/Trap.d.ts +8 -0
  208. package/lib/frontend/cppFrontend/base/Trap.d.ts.map +1 -0
  209. package/lib/frontend/cppFrontend/base/Trap.js +28 -0
  210. package/lib/frontend/cppFrontend/base/Type.d.ts +264 -0
  211. package/lib/frontend/cppFrontend/base/Type.d.ts.map +1 -0
  212. package/lib/frontend/cppFrontend/base/Type.js +600 -0
  213. package/lib/frontend/cppFrontend/common/ArkIRTransformer.d.ts +109 -0
  214. package/lib/frontend/cppFrontend/common/ArkIRTransformer.d.ts.map +1 -0
  215. package/lib/frontend/cppFrontend/common/ArkIRTransformer.js +925 -0
  216. package/lib/frontend/cppFrontend/common/ArkValueTransformer.d.ts +477 -0
  217. package/lib/frontend/cppFrontend/common/ArkValueTransformer.d.ts.map +1 -0
  218. package/lib/frontend/cppFrontend/common/ArkValueTransformer.js +2746 -0
  219. package/lib/frontend/cppFrontend/common/Builtin.d.ts +57 -0
  220. package/lib/frontend/cppFrontend/common/Builtin.d.ts.map +1 -0
  221. package/lib/frontend/cppFrontend/common/Builtin.js +106 -0
  222. package/lib/frontend/cppFrontend/common/IRInference.d.ts +94 -0
  223. package/lib/frontend/cppFrontend/common/IRInference.d.ts.map +1 -0
  224. package/lib/frontend/cppFrontend/common/IRInference.js +1087 -0
  225. package/lib/frontend/cppFrontend/common/IRUtils.d.ts +23 -0
  226. package/lib/frontend/cppFrontend/common/IRUtils.d.ts.map +1 -0
  227. package/lib/frontend/cppFrontend/common/IRUtils.js +168 -0
  228. package/lib/frontend/cppFrontend/common/ModelUtils.d.ts +44 -0
  229. package/lib/frontend/cppFrontend/common/ModelUtils.d.ts.map +1 -0
  230. package/lib/frontend/cppFrontend/common/ModelUtils.js +567 -0
  231. package/lib/frontend/cppFrontend/common/TypeInference.d.ts +278 -0
  232. package/lib/frontend/cppFrontend/common/TypeInference.d.ts.map +1 -0
  233. package/lib/frontend/cppFrontend/common/TypeInference.js +1354 -0
  234. package/lib/frontend/cppFrontend/common/ValueUtil.d.ts +16 -0
  235. package/lib/frontend/cppFrontend/common/ValueUtil.d.ts.map +1 -0
  236. package/lib/frontend/cppFrontend/common/ValueUtil.js +61 -0
  237. package/lib/frontend/cppFrontend/graph/builder/CfgBuilder.d.ts +182 -0
  238. package/lib/frontend/cppFrontend/graph/builder/CfgBuilder.d.ts.map +1 -0
  239. package/lib/frontend/cppFrontend/graph/builder/CfgBuilder.js +1435 -0
  240. package/lib/frontend/cppFrontend/graph/builder/ConditionBuilder.d.ts +21 -0
  241. package/lib/frontend/cppFrontend/graph/builder/ConditionBuilder.d.ts.map +1 -0
  242. package/lib/frontend/cppFrontend/graph/builder/ConditionBuilder.js +303 -0
  243. package/lib/frontend/cppFrontend/graph/builder/IfBuilder.d.ts +15 -0
  244. package/lib/frontend/cppFrontend/graph/builder/IfBuilder.d.ts.map +1 -0
  245. package/lib/frontend/cppFrontend/graph/builder/IfBuilder.js +161 -0
  246. package/lib/frontend/cppFrontend/graph/builder/LoopBuilder.d.ts +21 -0
  247. package/lib/frontend/cppFrontend/graph/builder/LoopBuilder.d.ts.map +1 -0
  248. package/lib/frontend/cppFrontend/graph/builder/LoopBuilder.js +261 -0
  249. package/lib/frontend/cppFrontend/graph/builder/SwitchBuilder.d.ts +12 -0
  250. package/lib/frontend/cppFrontend/graph/builder/SwitchBuilder.d.ts.map +1 -0
  251. package/lib/frontend/cppFrontend/graph/builder/SwitchBuilder.js +155 -0
  252. package/lib/frontend/cppFrontend/graph/builder/TrapBuilder.d.ts +29 -0
  253. package/lib/frontend/cppFrontend/graph/builder/TrapBuilder.d.ts.map +1 -0
  254. package/lib/frontend/cppFrontend/graph/builder/TrapBuilder.js +302 -0
  255. package/lib/frontend/cppFrontend/inference/CxxInference.d.ts +10 -0
  256. package/lib/frontend/cppFrontend/inference/CxxInference.d.ts.map +1 -0
  257. package/lib/frontend/cppFrontend/inference/CxxInference.js +41 -0
  258. package/lib/frontend/cppFrontend/inference/CxxModelInference.d.ts +28 -0
  259. package/lib/frontend/cppFrontend/inference/CxxModelInference.d.ts.map +1 -0
  260. package/lib/frontend/cppFrontend/inference/CxxModelInference.js +98 -0
  261. package/lib/frontend/cppFrontend/inference/CxxValueInference.d.ts +20 -0
  262. package/lib/frontend/cppFrontend/inference/CxxValueInference.d.ts.map +1 -0
  263. package/lib/frontend/cppFrontend/inference/CxxValueInference.js +128 -0
  264. package/lib/frontend/cppFrontend/model/builder/ArkClassBuilder.d.ts +11 -0
  265. package/lib/frontend/cppFrontend/model/builder/ArkClassBuilder.d.ts.map +1 -0
  266. package/lib/frontend/cppFrontend/model/builder/ArkClassBuilder.js +413 -0
  267. package/lib/frontend/cppFrontend/model/builder/ArkFieldBuilder.d.ts +5 -0
  268. package/lib/frontend/cppFrontend/model/builder/ArkFieldBuilder.d.ts.map +1 -0
  269. package/lib/frontend/cppFrontend/model/builder/ArkFieldBuilder.js +61 -0
  270. package/lib/frontend/cppFrontend/model/builder/ArkFileBuilder.d.ts +17 -0
  271. package/lib/frontend/cppFrontend/model/builder/ArkFileBuilder.d.ts.map +1 -0
  272. package/lib/frontend/cppFrontend/model/builder/ArkFileBuilder.js +284 -0
  273. package/lib/frontend/cppFrontend/model/builder/ArkImportBuilder.d.ts +6 -0
  274. package/lib/frontend/cppFrontend/model/builder/ArkImportBuilder.d.ts.map +1 -0
  275. package/lib/frontend/cppFrontend/model/builder/ArkImportBuilder.js +57 -0
  276. package/lib/frontend/cppFrontend/model/builder/ArkMethodBuilder.d.ts +14 -0
  277. package/lib/frontend/cppFrontend/model/builder/ArkMethodBuilder.d.ts.map +1 -0
  278. package/lib/frontend/cppFrontend/model/builder/ArkMethodBuilder.js +422 -0
  279. package/lib/frontend/cppFrontend/model/builder/ArkNamespaceBuilder.d.ts +8 -0
  280. package/lib/frontend/cppFrontend/model/builder/ArkNamespaceBuilder.d.ts.map +1 -0
  281. package/lib/frontend/cppFrontend/model/builder/ArkNamespaceBuilder.js +194 -0
  282. package/lib/frontend/cppFrontend/model/builder/BodyBuilder.d.ts +59 -0
  283. package/lib/frontend/cppFrontend/model/builder/BodyBuilder.d.ts.map +1 -0
  284. package/lib/frontend/cppFrontend/model/builder/BodyBuilder.js +605 -0
  285. package/lib/frontend/cppFrontend/model/builder/builderUtils.d.ts +46 -0
  286. package/lib/frontend/cppFrontend/model/builder/builderUtils.d.ts.map +1 -0
  287. package/lib/frontend/cppFrontend/model/builder/builderUtils.js +499 -0
  288. package/lib/frontend/cppFrontend/utils/cmakeUtils.d.ts +44 -0
  289. package/lib/frontend/cppFrontend/utils/cmakeUtils.d.ts.map +1 -0
  290. package/lib/frontend/cppFrontend/utils/cmakeUtils.js +240 -0
  291. package/lib/index.d.ts +2 -1
  292. package/lib/index.d.ts.map +1 -1
  293. package/lib/index.js +8 -1
  294. package/lib/node_modules/ohos-typescript/.ohos-typescript-version +1 -0
  295. package/{node_modules → lib/node_modules}/ohos-typescript/package.json +2 -1
  296. package/lib/save/CGJsonPrinter.d.ts +8 -0
  297. package/lib/save/CGJsonPrinter.d.ts.map +1 -0
  298. package/lib/save/CGJsonPrinter.js +41 -0
  299. package/lib/save/GraphPrinter.js +2 -2
  300. package/lib/save/json/JsonDto.d.ts +86 -2
  301. package/lib/save/json/JsonDto.d.ts.map +1 -1
  302. package/lib/save/json/JsonSerialization.d.ts +1 -1
  303. package/lib/save/json/JsonSerialization.d.ts.map +1 -1
  304. package/lib/save/json/JsonSerialization.js +235 -145
  305. package/lib/save/source/SourceStmt.d.ts.map +1 -1
  306. package/lib/save/source/SourceStmt.js +3 -1
  307. package/lib/save/source/SourceTransformer.d.ts.map +1 -1
  308. package/lib/save/source/SourceTransformer.js +0 -3
  309. package/lib/utils/CxxSceneUtils.d.ts +11 -0
  310. package/lib/utils/CxxSceneUtils.d.ts.map +1 -0
  311. package/lib/utils/CxxSceneUtils.js +178 -0
  312. package/lib/utils/FileUtils.d.ts +8 -8
  313. package/lib/utils/FileUtils.d.ts.map +1 -1
  314. package/lib/utils/FileUtils.js +35 -45
  315. package/lib/utils/LRUCacheDecorator.d.ts +20 -0
  316. package/lib/utils/LRUCacheDecorator.d.ts.map +1 -0
  317. package/lib/utils/LRUCacheDecorator.js +89 -0
  318. package/lib/utils/ModuleUtils.d.ts +39 -0
  319. package/lib/utils/ModuleUtils.d.ts.map +1 -0
  320. package/lib/utils/ModuleUtils.js +261 -0
  321. package/package.json +13 -7
  322. /package/{node_modules → lib/node_modules}/ohos-typescript/LICENSE +0 -0
  323. /package/{node_modules → lib/node_modules}/ohos-typescript/README.OpenSource +0 -0
  324. /package/{node_modules → lib/node_modules}/ohos-typescript/README.md +0 -0
  325. /package/{node_modules → lib/node_modules}/ohos-typescript/SECURITY.md +0 -0
  326. /package/{node_modules → lib/node_modules}/ohos-typescript/ThirdPartyNoticeText.txt +0 -0
  327. /package/{node_modules → lib/node_modules}/ohos-typescript/bin/tsc +0 -0
  328. /package/{node_modules → lib/node_modules}/ohos-typescript/bin/tsserver +0 -0
  329. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/README.md +0 -0
  330. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/cancellationToken.js +0 -0
  331. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/cs/diagnosticMessages.generated.json +0 -0
  332. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/de/diagnosticMessages.generated.json +0 -0
  333. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/es/diagnosticMessages.generated.json +0 -0
  334. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/fr/diagnosticMessages.generated.json +0 -0
  335. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/it/diagnosticMessages.generated.json +0 -0
  336. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/ja/diagnosticMessages.generated.json +0 -0
  337. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/ko/diagnosticMessages.generated.json +0 -0
  338. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.d.ts +0 -0
  339. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.dom.d.ts +0 -0
  340. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.dom.iterable.d.ts +0 -0
  341. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2015.collection.d.ts +0 -0
  342. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2015.core.d.ts +0 -0
  343. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2015.d.ts +0 -0
  344. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2015.generator.d.ts +0 -0
  345. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2015.iterable.d.ts +0 -0
  346. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2015.promise.d.ts +0 -0
  347. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2015.proxy.d.ts +0 -0
  348. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2015.reflect.d.ts +0 -0
  349. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2015.symbol.d.ts +0 -0
  350. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2015.symbol.wellknown.d.ts +0 -0
  351. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2016.array.include.d.ts +0 -0
  352. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2016.d.ts +0 -0
  353. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2016.full.d.ts +0 -0
  354. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2017.d.ts +0 -0
  355. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2017.full.d.ts +0 -0
  356. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2017.intl.d.ts +0 -0
  357. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2017.object.d.ts +0 -0
  358. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2017.sharedmemory.d.ts +0 -0
  359. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2017.string.d.ts +0 -0
  360. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2017.typedarrays.d.ts +0 -0
  361. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2018.asyncgenerator.d.ts +0 -0
  362. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2018.asynciterable.d.ts +0 -0
  363. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2018.d.ts +0 -0
  364. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2018.full.d.ts +0 -0
  365. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2018.intl.d.ts +0 -0
  366. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2018.promise.d.ts +0 -0
  367. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2018.regexp.d.ts +0 -0
  368. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2019.array.d.ts +0 -0
  369. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2019.d.ts +0 -0
  370. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2019.full.d.ts +0 -0
  371. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2019.intl.d.ts +0 -0
  372. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2019.object.d.ts +0 -0
  373. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2019.string.d.ts +0 -0
  374. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2019.symbol.d.ts +0 -0
  375. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2020.bigint.d.ts +0 -0
  376. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2020.d.ts +0 -0
  377. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2020.date.d.ts +0 -0
  378. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2020.full.d.ts +0 -0
  379. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2020.intl.d.ts +0 -0
  380. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2020.number.d.ts +0 -0
  381. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2020.promise.d.ts +0 -0
  382. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2020.sharedmemory.d.ts +0 -0
  383. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2020.string.d.ts +0 -0
  384. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2020.symbol.wellknown.d.ts +0 -0
  385. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2021.d.ts +0 -0
  386. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2021.full.d.ts +0 -0
  387. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2021.intl.d.ts +0 -0
  388. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2021.promise.d.ts +0 -0
  389. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2021.string.d.ts +0 -0
  390. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2021.weakref.d.ts +0 -0
  391. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2022.array.d.ts +0 -0
  392. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2022.d.ts +0 -0
  393. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2022.error.d.ts +0 -0
  394. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2022.full.d.ts +0 -0
  395. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2022.intl.d.ts +0 -0
  396. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2022.object.d.ts +0 -0
  397. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2022.sharedmemory.d.ts +0 -0
  398. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2022.string.d.ts +0 -0
  399. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es5.d.ts +0 -0
  400. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es6.d.ts +0 -0
  401. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.esnext.d.ts +0 -0
  402. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.esnext.full.d.ts +0 -0
  403. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.esnext.intl.d.ts +0 -0
  404. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.scripthost.d.ts +0 -0
  405. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.webworker.d.ts +0 -0
  406. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.webworker.importscripts.d.ts +0 -0
  407. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.webworker.iterable.d.ts +0 -0
  408. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/pl/diagnosticMessages.generated.json +0 -0
  409. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/pt-br/diagnosticMessages.generated.json +0 -0
  410. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/ru/diagnosticMessages.generated.json +0 -0
  411. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/tr/diagnosticMessages.generated.json +0 -0
  412. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/tsc.js +0 -0
  413. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/tsserver.js +0 -0
  414. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/tsserverlibrary.d.ts +0 -0
  415. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/tsserverlibrary.js +0 -0
  416. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/typesMap.json +0 -0
  417. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/typescript.d.ts +0 -0
  418. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/typescript.js +0 -0
  419. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/typingsInstaller.js +0 -0
  420. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/watchGuard.js +0 -0
  421. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/zh-cn/diagnosticMessages.generated.json +0 -0
  422. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/zh-tw/diagnosticMessages.generated.json +0 -0
@@ -0,0 +1,240 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2024-2025 Huawei Device Co., Ltd.
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ var __importDefault = (this && this.__importDefault) || function (mod) {
17
+ return (mod && mod.__esModule) ? mod : { "default": mod };
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.CmakeUtils = void 0;
21
+ const path_1 = __importDefault(require("path"));
22
+ const fs_1 = __importDefault(require("fs"));
23
+ class CmakeUtils {
24
+ /**
25
+ * Scan the CMakeLists.txt files in the directory and obtain all dependent header file directories.
26
+ * @param dir - the target project directory.
27
+ * @returns - include directories set by CMakeLists.txt
28
+ */
29
+ static scanCMakeIncludeDirsOnly(dir) {
30
+ const result = [];
31
+ const cmakePath = path_1.default.join(dir, 'CMakeLists.txt');
32
+ if (!fs_1.default.existsSync(cmakePath)) {
33
+ // Return early, recurse into subdirectories
34
+ const subdirs = fs_1.default
35
+ .readdirSync(dir, { withFileTypes: true })
36
+ .filter(f => f.isDirectory())
37
+ .map(f => path_1.default.join(dir, f.name));
38
+ return subdirs.flatMap(subdir => this.scanCMakeIncludeDirsOnly(subdir));
39
+ }
40
+ // Normal processing flow with CMakeLists.txt
41
+ const varTable = {
42
+ CMAKE_CURRENT_SOURCE_DIR: dir.replace(/\\/g, '/'),
43
+ PROJECT_SOURCE_DIR: dir.replace(/\\/g, '/'),
44
+ };
45
+ const lines = fs_1.default.readFileSync(cmakePath, 'utf-8').split(/\r?\n/);
46
+ for (const line of lines) {
47
+ const s = this.extractSetVar(line);
48
+ if (s) {
49
+ const [name, val] = s;
50
+ varTable[name] = this.resolveCMakeVar(val, varTable);
51
+ }
52
+ }
53
+ const allIncludeArgArrs = this.extractAllIncludeDirs(lines);
54
+ for (const argArr of allIncludeArgArrs) {
55
+ for (let raw of argArr) {
56
+ let resolved = this.resolveCMakeVar(raw, varTable);
57
+ if (/\$\{[A-Za-z_0-9]+\}/.test(resolved)) {
58
+ continue;
59
+ }
60
+ if (!path_1.default.isAbsolute(resolved)) {
61
+ resolved = path_1.default.resolve(dir, resolved);
62
+ }
63
+ result.push(resolved);
64
+ }
65
+ }
66
+ // Recursive subdirectories
67
+ const subdirs = fs_1.default
68
+ .readdirSync(dir, { withFileTypes: true })
69
+ .filter(f => f.isDirectory())
70
+ .map(f => path_1.default.join(dir, f.name));
71
+ for (const subdir of subdirs) {
72
+ result.push(...this.scanCMakeIncludeDirsOnly(subdir));
73
+ }
74
+ return result;
75
+ }
76
+ /**
77
+ * Get the variable and definition in the set statements, e.g. set(VAR value)
78
+ * @param line - The line content in CMakeLists.
79
+ * @returns - an array containing variable names and set values, or null
80
+ */
81
+ static extractSetVar(line) {
82
+ const m = line.match(/^\s*set\s*\(\s*([A-Za-z_0-9]+)\s+(.+?)\s*\)$/);
83
+ if (m) {
84
+ const [, varName, value] = m;
85
+ return [varName, value];
86
+ }
87
+ return null;
88
+ }
89
+ /**
90
+ * Recursively parse variables in current CMakeLists.
91
+ * @param val - the definition of variables. e.g. set(VAR value)
92
+ * @param varTable - variable definition record
93
+ * @param depth - current recursive depth
94
+ * @returns - include directory set by Set statement.
95
+ */
96
+ static resolveCMakeVar(val, varTable, depth = 0) {
97
+ if (depth > 10) {
98
+ return val;
99
+ }
100
+ return val.replace(/\$\{([A-Za-z_0-9]+)\}/g, (m, varName) => {
101
+ if (varTable[varName] !== undefined) {
102
+ return this.resolveCMakeVar(varTable[varName], varTable, depth + 1);
103
+ }
104
+ // If it cannot be parsed, return the original string for subsequent filtering purposes
105
+ return m;
106
+ });
107
+ }
108
+ /**
109
+ * Determine whether the current line is the start of include_directories or target_include_directories,
110
+ * If so, enter the collection state and handle scenarios where a single line is immediately closed.
111
+ * @param line - The line content in CMakeLists.
112
+ * @param results - Include directories.
113
+ * @returns new collecting state, funcType, buffer(supporting multi-line parameters).
114
+ */
115
+ static tryStartCollectingIncludeDirs(line, results) {
116
+ if (line.startsWith('include_directories(')) {
117
+ let collecting = true;
118
+ let funcType = 'include';
119
+ let buffer = [line];
120
+ if (line.includes(')')) {
121
+ collecting = false;
122
+ results.push(this.parseCMakeArgs(buffer, false));
123
+ buffer = [];
124
+ funcType = null;
125
+ }
126
+ return { collecting, funcType, buffer };
127
+ }
128
+ else if (line.startsWith('target_include_directories(')) {
129
+ let collecting = true;
130
+ let funcType = 'target';
131
+ let buffer = [line];
132
+ if (line.includes(')')) {
133
+ collecting = false;
134
+ results.push(this.parseCMakeArgs(buffer, true));
135
+ buffer = [];
136
+ funcType = null;
137
+ }
138
+ return { collecting, funcType, buffer };
139
+ }
140
+ else {
141
+ return { collecting: false, funcType: null, buffer: [] };
142
+ }
143
+ }
144
+ /**
145
+ * Extract all include directories from CMakeLists.
146
+ * @param lines - All lines in CMakeLists.
147
+ * @returns - include Directories.
148
+ */
149
+ static extractAllIncludeDirs(lines) {
150
+ const results = [];
151
+ let collecting = false;
152
+ let buffer = [];
153
+ let funcType = null;
154
+ for (const lineOrig of lines) {
155
+ // remove comments
156
+ const line = lineOrig.replace(/#.*$/, '').trim();
157
+ if (!collecting) {
158
+ const state = this.tryStartCollectingIncludeDirs(line, results);
159
+ collecting = state.collecting;
160
+ funcType = state.funcType;
161
+ buffer = state.buffer;
162
+ }
163
+ else {
164
+ buffer.push(line);
165
+ if (line.includes(')')) {
166
+ collecting = false;
167
+ results.push(this.parseCMakeArgs(buffer, funcType === 'target'));
168
+ buffer = [];
169
+ funcType = null;
170
+ }
171
+ }
172
+ }
173
+ return results;
174
+ }
175
+ /**
176
+ * Parse parameters in line buffer.
177
+ * @param buffer - line buffer.
178
+ * @param isTarget - is it a target variable name
179
+ * @returns - parameters.
180
+ */
181
+ static parseCMakeArgs(buffer, isTarget) {
182
+ // Join into one line and remove extra line breaks and whitespace
183
+ let line = buffer.join(' ').replace(/\s+/g, ' ');
184
+ // Remove header directives
185
+ const lidx = line.indexOf('(');
186
+ const ridx = line.lastIndexOf(')');
187
+ if (lidx === -1 || ridx === -1) {
188
+ return [];
189
+ }
190
+ line = line.substring(lidx + 1, ridx).trim();
191
+ // Split parameters by quotation marks and spaces
192
+ const args = [];
193
+ let curr = '';
194
+ let inQuote = false;
195
+ for (let i = 0; i < line.length; ++i) {
196
+ const c = line[i];
197
+ // Handle quotation marks uniformly.
198
+ if (c === '"') {
199
+ if (inQuote) {
200
+ inQuote = false;
201
+ args.push(curr);
202
+ curr = '';
203
+ }
204
+ else {
205
+ inQuote = true;
206
+ }
207
+ continue;
208
+ }
209
+ // In quotes: literal append
210
+ if (inQuote) {
211
+ curr += c;
212
+ continue;
213
+ }
214
+ // Not in quotes: space separated, otherwise literal append
215
+ if (/\s/.test(c)) {
216
+ if (curr.length > 0) {
217
+ args.push(curr);
218
+ curr = '';
219
+ }
220
+ continue;
221
+ }
222
+ curr += c;
223
+ }
224
+ if (curr.length > 0) {
225
+ args.push(curr);
226
+ }
227
+ if (isTarget) {
228
+ // skipping the target names and the keywords PUBLIC/PRIVATE/INTERFACE.
229
+ const idx = args.findIndex(a => ['PUBLIC', 'PRIVATE', 'INTERFACE'].includes(a.toUpperCase()));
230
+ if (args.length < 3 || (idx < 1 || idx + 1 >= args.length)) {
231
+ return [];
232
+ }
233
+ return args.slice(idx + 1);
234
+ }
235
+ else {
236
+ return args;
237
+ }
238
+ }
239
+ }
240
+ exports.CmakeUtils = CmakeUtils;
package/lib/index.d.ts CHANGED
@@ -57,8 +57,9 @@ export { ImportInfo } from './core/model/ArkImport';
57
57
  export { ArkBody } from './core/model/ArkBody';
58
58
  export * from './core/model/ArkSignature';
59
59
  export * from './core/model/builder/ArkSignatureBuilder';
60
- export { SceneConfig } from './Config';
60
+ export { SceneConfig, SceneOptions, buildSceneConfigFromProject } from './Config';
61
61
  export { Scene } from './Scene';
62
+ export { getCxxImplementationFileExtensionSet, getCxxImplementationFileExtensions, getCxxSourceFileExtensionSet, getCxxSourceFileExtensions, } from './frontend/cppFrontend/ast';
62
63
  export { Printer } from './save/Printer';
63
64
  export { PrinterBuilder } from './save/PrinterBuilder';
64
65
  export { DotMethodPrinter, DotClassPrinter, DotNamespacePrinter, DotFilePrinter } from './save/DotPrinter';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/lib/index.js CHANGED
@@ -32,7 +32,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
32
32
  };
33
33
  Object.defineProperty(exports, "__esModule", { value: true });
34
34
  exports.ArkNamespace = exports.ArkFile = exports.SCCDetection = exports.BaseExplicitGraph = exports.BaseNode = exports.BaseEdge = exports.DominanceTree = exports.DominanceFinder = exports.Cfg = exports.BasicBlock = exports.UndefinedVariableSolver = exports.UndefinedVariableChecker = exports.Fact = exports.PathEdge = exports.PathEdgePoint = exports.DataflowSolver = exports.DataflowResult = exports.DataflowProblem = exports.Scope = exports.VisibleValue = exports.ValueUtil = exports.TypeInference = exports.StmtUseReplacer = exports.RefUseReplacer = exports.IRUtils = exports.ExprUseReplacer = exports.DummyMainCreater = exports.ModelUtils = exports.FullPosition = exports.LineColPosition = exports.Local = exports.DefUseChain = exports.Decorator = exports.Constant = exports.DVFGBuilder = exports.DVFG = exports.DiffPTData = exports.PtsSet = exports.PointerAnalysisConfig = exports.PointerAnalysis = exports.PagBuilder = exports.CSFuncID = exports.DummyCallCreator = exports.CallGraphBuilder = exports.CGStat = exports.PAGStat = exports.PTAStat = exports.RapidTypeAnalysis = exports.ClassHierarchyAnalysis = exports.AbstractAnalysis = void 0;
35
- exports.ts = exports.PackedSparseMap = exports.IntWorkList = exports.IntMap = exports.Logger = exports.LOG_MODULE_TYPE = exports.LOG_LEVEL = exports.ViewTreePrinter = exports.GraphPrinter = exports.JsonPrinter = exports.SourceFilePrinter = exports.SourceNamespacePrinter = exports.SourceClassPrinter = exports.SourceMethodPrinter = exports.DotFilePrinter = exports.DotNamespacePrinter = exports.DotClassPrinter = exports.DotMethodPrinter = exports.PrinterBuilder = exports.Printer = exports.Scene = exports.SceneConfig = exports.ArkBody = exports.ImportInfo = exports.ExportInfo = exports.ArkField = exports.ArkMethod = exports.ArkClass = void 0;
35
+ exports.ts = exports.PackedSparseMap = exports.IntWorkList = exports.IntMap = exports.Logger = exports.LOG_MODULE_TYPE = exports.LOG_LEVEL = exports.ViewTreePrinter = exports.GraphPrinter = exports.JsonPrinter = exports.SourceFilePrinter = exports.SourceNamespacePrinter = exports.SourceClassPrinter = exports.SourceMethodPrinter = exports.DotFilePrinter = exports.DotNamespacePrinter = exports.DotClassPrinter = exports.DotMethodPrinter = exports.PrinterBuilder = exports.Printer = exports.getCxxSourceFileExtensions = exports.getCxxSourceFileExtensionSet = exports.getCxxImplementationFileExtensions = exports.getCxxImplementationFileExtensionSet = exports.Scene = exports.buildSceneConfigFromProject = exports.SceneConfig = exports.ArkBody = exports.ImportInfo = exports.ExportInfo = exports.ArkField = exports.ArkMethod = exports.ArkClass = void 0;
36
36
  // callgraph/algorithm
37
37
  var AbstractAnalysis_1 = require("./callgraph/algorithm/AbstractAnalysis");
38
38
  Object.defineProperty(exports, "AbstractAnalysis", { enumerable: true, get: function () { return AbstractAnalysis_1.AbstractAnalysis; } });
@@ -157,8 +157,15 @@ __exportStar(require("./core/model/ArkSignature"), exports);
157
157
  __exportStar(require("./core/model/builder/ArkSignatureBuilder"), exports);
158
158
  var Config_1 = require("./Config");
159
159
  Object.defineProperty(exports, "SceneConfig", { enumerable: true, get: function () { return Config_1.SceneConfig; } });
160
+ Object.defineProperty(exports, "buildSceneConfigFromProject", { enumerable: true, get: function () { return Config_1.buildSceneConfigFromProject; } });
160
161
  var Scene_1 = require("./Scene");
161
162
  Object.defineProperty(exports, "Scene", { enumerable: true, get: function () { return Scene_1.Scene; } });
163
+ // cpp_frontend
164
+ var ast_1 = require("./frontend/cppFrontend/ast");
165
+ Object.defineProperty(exports, "getCxxImplementationFileExtensionSet", { enumerable: true, get: function () { return ast_1.getCxxImplementationFileExtensionSet; } });
166
+ Object.defineProperty(exports, "getCxxImplementationFileExtensions", { enumerable: true, get: function () { return ast_1.getCxxImplementationFileExtensions; } });
167
+ Object.defineProperty(exports, "getCxxSourceFileExtensionSet", { enumerable: true, get: function () { return ast_1.getCxxSourceFileExtensionSet; } });
168
+ Object.defineProperty(exports, "getCxxSourceFileExtensions", { enumerable: true, get: function () { return ast_1.getCxxSourceFileExtensions; } });
162
169
  // save
163
170
  var Printer_1 = require("./save/Printer");
164
171
  Object.defineProperty(exports, "Printer", { enumerable: true, get: function () { return Printer_1.Printer; } });
@@ -0,0 +1 @@
1
+ ohos-typescript-4.9.5-r4-OpenHarmony-6.0-Release
@@ -39,7 +39,8 @@
39
39
  "README.md",
40
40
  "SECURITY.md",
41
41
  "ThirdPartyNoticeText.txt",
42
- "!**/.gitattributes"
42
+ "!**/.gitattributes",
43
+ ".ohos-typescript-version"
43
44
  ],
44
45
  "devDependencies": {
45
46
  "json5": "^2.2.3",
@@ -0,0 +1,8 @@
1
+ import { Printer } from './Printer';
2
+ import { CallGraph } from '../callgraph/model/CallGraph';
3
+ export declare class CallGraphJsonPrinter extends Printer {
4
+ private callGraph;
5
+ constructor(callGraph: CallGraph);
6
+ dump(): string;
7
+ }
8
+ //# sourceMappingURL=CGJsonPrinter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CGJsonPrinter.d.ts","sourceRoot":"","sources":["../../src/save/CGJsonPrinter.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAiB,MAAM,8BAA8B,CAAC;AAGxE,qBAAa,oBAAqB,SAAQ,OAAO;IACjC,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,SAAS;IAIjC,IAAI,IAAI,MAAM;CAoBxB"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2025 Huawei Device Co., Ltd.
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.CallGraphJsonPrinter = void 0;
18
+ const Printer_1 = require("./Printer");
19
+ class CallGraphJsonPrinter extends Printer_1.Printer {
20
+ constructor(callGraph) {
21
+ super();
22
+ this.callGraph = callGraph;
23
+ }
24
+ dump() {
25
+ const callMap = {};
26
+ this.callGraph.getCallPairEdges().forEach(edge => {
27
+ const callerMethod = edge.getSrcNode().getMethod();
28
+ const calleeMethod = edge.getDstNode().getMethod();
29
+ const callerKey = callerMethod.toString();
30
+ const calleeValue = calleeMethod.toString();
31
+ if (!callMap[callerKey]) {
32
+ callMap[callerKey] = [];
33
+ }
34
+ if (!callMap[callerKey].includes(calleeValue)) {
35
+ callMap[callerKey].push(calleeValue);
36
+ }
37
+ });
38
+ return JSON.stringify(callMap, null, 2);
39
+ }
40
+ }
41
+ exports.CallGraphJsonPrinter = CallGraphJsonPrinter;
@@ -82,7 +82,7 @@ class GraphPrinter extends Printer_1.Printer {
82
82
  this.writeFooter();
83
83
  }
84
84
  writeNodes() {
85
- var _a;
85
+ var _a, _b;
86
86
  let itor = this.graph.nodesItor();
87
87
  if (this.startID) {
88
88
  // from start id
@@ -106,7 +106,7 @@ class GraphPrinter extends Printer_1.Printer {
106
106
  }
107
107
  let nodeLabel = escapeStr(node.getDotLabel());
108
108
  this.printer.writeLine(`\tNode${node.getID()} [shape=recode,${nodeAttr},label="${nodeLabel}"];`);
109
- for (let edge of node.getOutgoingEdges()) {
109
+ for (let edge of (_b = node.getOutgoingEdges()) !== null && _b !== void 0 ? _b : []) {
110
110
  this.writeEdge(edge);
111
111
  }
112
112
  }
@@ -1,5 +1,6 @@
1
1
  import { ClassCategory } from '../../core/model/ArkClass';
2
2
  import { ExportType } from '../../core/model/ArkExport';
3
+ import { CxxTypeBitWidth } from '../../frontend/cppFrontend/base/Type';
3
4
  type Polymorphic<K, T> = T & {
4
5
  _: K;
5
6
  };
@@ -51,7 +52,7 @@ export interface AliasTypeSignatureDto {
51
52
  name: string;
52
53
  method: MethodSignatureDto;
53
54
  }
54
- export type TypeDto = Polymorphic<'AnyType', AnyTypeDto> | Polymorphic<'UnknownType', UnknownTypeDto> | Polymorphic<'VoidType', VoidTypeDto> | Polymorphic<'NeverType', NeverTypeDto> | Polymorphic<'UnionType', UnionTypeDto> | Polymorphic<'IntersectionType', IntersectionTypeDto> | Polymorphic<'TupleType', TupleTypeDto> | Polymorphic<'BooleanType', BooleanTypeDto> | Polymorphic<'NumberType', NumberTypeDto> | Polymorphic<'BigIntType', BigIntTypeDto> | Polymorphic<'StringType', StringTypeDto> | Polymorphic<'NullType', NullTypeDto> | Polymorphic<'UndefinedType', UndefinedTypeDto> | Polymorphic<'LiteralType', LiteralTypeDto> | Polymorphic<'ClassType', ClassTypeDto> | Polymorphic<'FunctionType', FunctionTypeDto> | Polymorphic<'ArrayType', ArrayTypeDto> | Polymorphic<'UnclearReferenceType', UnclearReferenceTypeDto> | Polymorphic<'GenericType', GenericTypeDto> | Polymorphic<'AliasType', AliasTypeDto> | Polymorphic<'AnnotationNamespaceType', AnnotationNamespaceTypeDto> | Polymorphic<'AnnotationTypeQueryType', AnnotationTypeQueryTypeDto> | Polymorphic<'EnumValueType', EnumValueTypeDto> | Polymorphic<'LexicalEnvType', LexicalEnvTypeDto> | UnhandledTypeDto;
55
+ export type TypeDto = Polymorphic<'AnyType', AnyTypeDto> | Polymorphic<'UnknownType', UnknownTypeDto> | Polymorphic<'VoidType', VoidTypeDto> | Polymorphic<'NeverType', NeverTypeDto> | Polymorphic<'UnionType', UnionTypeDto> | Polymorphic<'IntersectionType', IntersectionTypeDto> | Polymorphic<'TupleType', TupleTypeDto> | Polymorphic<'BooleanType', BooleanTypeDto> | Polymorphic<'NumberType', NumberTypeDto> | Polymorphic<'BigIntType', BigIntTypeDto> | Polymorphic<'StringType', StringTypeDto> | Polymorphic<'NullType', NullTypeDto> | Polymorphic<'UndefinedType', UndefinedTypeDto> | Polymorphic<'LiteralType', LiteralTypeDto> | Polymorphic<'ClassType', ClassTypeDto> | Polymorphic<'FunctionType', FunctionTypeDto> | Polymorphic<'ArrayType', ArrayTypeDto> | Polymorphic<'UnclearReferenceType', UnclearReferenceTypeDto> | Polymorphic<'GenericType', GenericTypeDto> | Polymorphic<'AliasType', AliasTypeDto> | Polymorphic<'AnnotationNamespaceType', AnnotationNamespaceTypeDto> | Polymorphic<'AnnotationTypeQueryType', AnnotationTypeQueryTypeDto> | Polymorphic<'EnumValueType', EnumValueTypeDto> | Polymorphic<'LexicalEnvType', LexicalEnvTypeDto> | Polymorphic<'CxxIntType', CxxIntTypeDto> | Polymorphic<'CxxShortType', CxxShortTypeDto> | Polymorphic<'CxxLongType', CxxLongTypeDto> | Polymorphic<'CxxLongLongType', CxxLongLongTypeDto> | Polymorphic<'CxxSizeTType', CxxSizeTTypeDto> | Polymorphic<'CxxFloatType', CxxFloatTypeDto> | Polymorphic<'CxxDoubleType', CxxDoubleTypeDto> | Polymorphic<'CxxLongDoubleType', CxxLongDoubleTypeDto> | Polymorphic<'CxxCharType', CxxCharTypeDto> | Polymorphic<'CxxWcharType', CxxWcharTypeDto> | Polymorphic<'PointerType', PointerTypeDto> | Polymorphic<'SmartPointerType', SmartPointerTypeDto> | Polymorphic<'ReferenceType', ReferenceTypeDto> | Polymorphic<'Thread', ThreadDto> | Polymorphic<'TypeInfo', TypeInfoDto> | UnhandledTypeDto;
55
56
  export interface AnyTypeDto {
56
57
  }
57
58
  export interface UnknownTypeDto {
@@ -84,6 +85,51 @@ export interface UndefinedTypeDto {
84
85
  export interface LiteralTypeDto {
85
86
  literal: string | number | boolean;
86
87
  }
88
+ export interface CxxIntTypeDto {
89
+ signType: string;
90
+ }
91
+ export interface CxxShortTypeDto {
92
+ signType: string;
93
+ }
94
+ export interface CxxLongTypeDto {
95
+ signType: string;
96
+ }
97
+ export interface CxxLongLongTypeDto {
98
+ signType: string;
99
+ }
100
+ export interface CxxSizeTTypeDto {
101
+ signType: string;
102
+ }
103
+ export interface CxxFloatTypeDto {
104
+ bitWidth: CxxTypeBitWidth;
105
+ }
106
+ export interface CxxDoubleTypeDto {
107
+ bitWidth: CxxTypeBitWidth;
108
+ }
109
+ export interface CxxLongDoubleTypeDto {
110
+ bitWidth: CxxTypeBitWidth;
111
+ }
112
+ export interface CxxCharTypeDto {
113
+ text: string;
114
+ }
115
+ export interface CxxWcharTypeDto {
116
+ text: string;
117
+ }
118
+ export interface PointerTypeDto {
119
+ baseType: TypeDto;
120
+ }
121
+ export interface SmartPointerTypeDto {
122
+ baseType: TypeDto;
123
+ }
124
+ export interface ReferenceTypeDto {
125
+ baseType: TypeDto;
126
+ }
127
+ export interface ThreadDto {
128
+ text: string;
129
+ }
130
+ export interface TypeInfoDto {
131
+ name: string;
132
+ }
87
133
  export interface ClassTypeDto {
88
134
  signature: ClassSignatureDto;
89
135
  typeParameters?: TypeDto[];
@@ -149,7 +195,7 @@ export interface ConstantDto {
149
195
  value: string;
150
196
  type: TypeDto;
151
197
  }
152
- export type ValueDto = Polymorphic<'Local', LocalValueDto> | Polymorphic<'Constant', ConstantValueDto> | Polymorphic<'NewExpr', NewExprDto> | Polymorphic<'NewArrayExpr', NewArrayExprDto> | Polymorphic<'DeleteExpr', DeleteExprDto> | Polymorphic<'AwaitExpr', AwaitExprDto> | Polymorphic<'YieldExpr', YieldExprDto> | Polymorphic<'TypeOfExpr', TypeOfExprDto> | Polymorphic<'InstanceOfExpr', InstanceOfExprDto> | Polymorphic<'CastExpr', CastExprDto> | Polymorphic<'PhiExpr', PhiExprDto> | Polymorphic<'ConditionExpr', ConditionExprDto> | Polymorphic<'BinopExpr', BinopExprDto> | Polymorphic<'UnopExpr', UnopExprDto> | Polymorphic<'InstanceCallExpr', InstanceCallExprDto> | Polymorphic<'StaticCallExpr', StaticCallExprDto> | Polymorphic<'PtrCallExpr', PtrCallExprDto> | Polymorphic<'ThisRef', ThisRefDto> | Polymorphic<'ParameterRef', ParameterRefDto> | Polymorphic<'ArrayRef', ArrayRefDto> | Polymorphic<'CaughtExceptionRef', CaughtExceptionRefDto> | Polymorphic<'GlobalRef', GlobalRefDto> | Polymorphic<'ClosureFieldRef', ClosureFieldRefDto> | Polymorphic<'InstanceFieldRef', InstanceFieldRefDto> | Polymorphic<'StaticFieldRef', StaticFieldRefDto> | UnhandledValueDto;
198
+ export type ValueDto = Polymorphic<'Local', LocalValueDto> | Polymorphic<'Constant', ConstantValueDto> | Polymorphic<'NewExpr', NewExprDto> | Polymorphic<'NewArrayExpr', NewArrayExprDto> | Polymorphic<'DeleteExpr', DeleteExprDto> | Polymorphic<'AwaitExpr', AwaitExprDto> | Polymorphic<'YieldExpr', YieldExprDto> | Polymorphic<'TypeOfExpr', TypeOfExprDto> | Polymorphic<'InstanceOfExpr', InstanceOfExprDto> | Polymorphic<'CastExpr', CastExprDto> | Polymorphic<'PhiExpr', PhiExprDto> | Polymorphic<'ConditionExpr', ConditionExprDto> | Polymorphic<'BinopExpr', BinopExprDto> | Polymorphic<'UnopExpr', UnopExprDto> | Polymorphic<'InstanceCallExpr', InstanceCallExprDto> | Polymorphic<'StaticCallExpr', StaticCallExprDto> | Polymorphic<'PtrCallExpr', PtrCallExprDto> | Polymorphic<'ThisRef', ThisRefDto> | Polymorphic<'ParameterRef', ParameterRefDto> | Polymorphic<'ArrayRef', ArrayRefDto> | Polymorphic<'CaughtExceptionRef', CaughtExceptionRefDto> | Polymorphic<'GlobalRef', GlobalRefDto> | Polymorphic<'ClosureFieldRef', ClosureFieldRefDto> | Polymorphic<'InstanceFieldRef', InstanceFieldRefDto> | Polymorphic<'StaticFieldRef', StaticFieldRefDto> | Polymorphic<'ArkCxxDeleteArrayExpr', ArkCxxDeleteArrayExprDto> | Polymorphic<'ArkCxxNewArrayExpr', ArkCxxNewArrayExprDto> | Polymorphic<'ArkCxxInitArrayExpr', ArkCxxInitArrayExprDto> | Polymorphic<'ArkCxxUnaryExpr', ArkCxxUnaryExprDto> | Polymorphic<'ArkCxxCastExpr', ArkCxxCastExprDto> | Polymorphic<'ArkArrayTypeTraitExpr', ArkArrayTypeTraitExprDto> | Polymorphic<'ArkTypeIdExpr', ArkTypeIdExprDto> | Polymorphic<'ArkNoExpectExpr', ArkNoExpectExprDto> | Polymorphic<'ArkCxxFolderExpr', ArkCxxFolderExprDto> | Polymorphic<'ArkCxxNormalBinOpExpr', ArkCxxNormalBinOpExprDto> | UnhandledValueDto;
153
199
  export interface LocalValueDto extends LocalDto {
154
200
  }
155
201
  export interface ConstantValueDto extends ConstantDto {
@@ -249,6 +295,44 @@ export interface StaticFieldRefDto {
249
295
  export interface UnhandledValueDto extends UnhandledDto {
250
296
  type: TypeDto;
251
297
  }
298
+ export interface ArkCxxDeleteArrayExprDto {
299
+ field: ValueDto;
300
+ type: TypeDto;
301
+ }
302
+ export interface ArkCxxNewArrayExprDto {
303
+ baseType: TypeDto;
304
+ size: ValueDto;
305
+ elementsNumber: number;
306
+ }
307
+ export interface ArkCxxInitArrayExprDto {
308
+ op: ValueDto;
309
+ }
310
+ export interface ArkCxxUnaryExprDto {
311
+ }
312
+ export interface ArkCxxCastExprDto {
313
+ cxxCastType: string;
314
+ }
315
+ export interface ArkArrayTypeTraitExprDto {
316
+ op: ValueDto;
317
+ dimensionOrder: number;
318
+ func: string;
319
+ }
320
+ export interface ArkTypeIdExprDto {
321
+ op: ValueDto;
322
+ }
323
+ export interface ArkNoExpectExprDto {
324
+ op: ValueDto;
325
+ }
326
+ export interface ArkCxxFolderExprDto {
327
+ arg: ValueDto;
328
+ op: string;
329
+ }
330
+ export interface ArkCxxNormalBinOpExprDto {
331
+ op1: ValueDto;
332
+ op2: ValueDto;
333
+ type: TypeDto;
334
+ operator: string;
335
+ }
252
336
  export type StmtDto = Polymorphic<'AssignStmt', AssignStmtDto> | Polymorphic<'CallStmt', CallStmtDto> | Polymorphic<'IfStmt', IfStmtDto> | Polymorphic<'ReturnVoidStmt', ReturnVoidStmtDto> | Polymorphic<'ReturnStmt', ReturnStmtDto> | Polymorphic<'ThrowStmt', ThrowStmtDto> | UnhandledStmtDto;
253
337
  export interface AssignStmtDto {
254
338
  left: ValueDto;
@@ -1 +1 @@
1
- {"version":3,"file":"JsonDto.d.ts","sourceRoot":"","sources":["../../../src/save/json/JsonDto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JsonDto.d.ts","sourceRoot":"","sources":["../../../src/save/json/JsonDto.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,6 @@ export declare function serializeImportInfo(importInfo: ImportInfo): ImportInfoD
13
13
  export declare function serializeExportInfo(exportInfo: ExportInfo): ExportInfoDto;
14
14
  export declare function serializeDecorator(decorator: Decorator): DecoratorDto;
15
15
  export declare function serializeLineColPosition(position: LineColPosition): LineColPositionDto;
16
- export declare function serializeType(type: Type): TypeDto;
17
16
  export declare function serializeFileSignature(file: FileSignature): FileSignatureDto;
18
17
  export declare function serializeNamespaceSignature(namespace: NamespaceSignature): NamespaceSignatureDto;
19
18
  export declare function serializeClassSignature(clazz: ClassSignature): ClassSignatureDto;
@@ -23,6 +22,7 @@ export declare function serializeAliasTypeSignature(signature: AliasTypeSignatur
23
22
  export declare function serializeCfg(cfg: Cfg): CfgDto;
24
23
  export declare function serializeBasicBlock(block: BasicBlock): BasicBlockDto;
25
24
  export declare function serializeLocal(local: Local): LocalDto;
25
+ export declare function serializeType(type: Type, activeTypeSerialization?: WeakSet<object>): TypeDto;
26
26
  export declare function serializeConstant(constant: Constant): ConstantDto;
27
27
  export declare function serializeValue(value: Value): ValueDto;
28
28
  export declare function serializeStmt(stmt: Stmt): StmtDto;
@@ -1 +1 @@
1
- {"version":3,"file":"JsonSerialization.d.ts","sourceRoot":"","sources":["../../../src/save/json/JsonSerialization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JsonSerialization.d.ts","sourceRoot":"","sources":["../../../src/save/json/JsonSerialization.ts"],"names":[],"mappings":"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"}