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
@@ -101,12 +101,13 @@ class SCCDetection {
101
101
  return n;
102
102
  }
103
103
  visit(v) {
104
+ var _a;
104
105
  this._I += 1;
105
106
  this._D.set(v, this._I);
106
107
  this.setRep(v, v);
107
108
  this.setVisited(v);
108
109
  let node = this.getNode(v);
109
- node.getOutgoingEdges().forEach(e => {
110
+ (_a = node.getOutgoingEdges()) === null || _a === void 0 ? void 0 : _a.forEach(e => {
110
111
  let w = e.getDstID();
111
112
  if (!this.isVisited(w)) {
112
113
  this.visit(w);
@@ -191,7 +192,11 @@ class SCCDetection {
191
192
  }
192
193
  // self-cycle: a call a
193
194
  let repNode = this._G.getNode(rep);
194
- for (const e of repNode === null || repNode === void 0 ? void 0 : repNode.getOutgoingEdges()) {
195
+ const outgoingEdges = repNode === null || repNode === void 0 ? void 0 : repNode.getOutgoingEdges();
196
+ if (!outgoingEdges) {
197
+ return false;
198
+ }
199
+ for (const e of outgoingEdges) {
195
200
  if (e.getDstID() === rep) {
196
201
  return true;
197
202
  }
@@ -8,7 +8,7 @@ import { ArkMethod } from '../../model/ArkMethod';
8
8
  import { AliasType } from '../../base/Type';
9
9
  import { Trap } from '../../base/Trap';
10
10
  import { GlobalRef } from '../../base/Ref';
11
- declare class StatementBuilder {
11
+ export declare class StatementBuilder {
12
12
  type: string;
13
13
  code: string;
14
14
  next: StatementBuilder | null;
@@ -22,7 +22,7 @@ declare class StatementBuilder {
22
22
  addressCode3: string[];
23
23
  block: BlockBuilder | null;
24
24
  ifExitPass: boolean;
25
- passTmies: number;
25
+ passTimes: number;
26
26
  numOfIdentifier: number;
27
27
  isDoWhile: boolean;
28
28
  hasDoWhileBody: boolean;
@@ -52,18 +52,18 @@ export declare class TryStatementBuilder extends StatementBuilder {
52
52
  afterFinal: StatementBuilder | null;
53
53
  constructor(type: string, code: string, astNode: ts.Node, scopeID: number);
54
54
  }
55
- declare class Case {
55
+ export declare class Case {
56
56
  value: string;
57
57
  stmt: StatementBuilder;
58
58
  valueNode: ts.Node;
59
59
  constructor(value: string, stmt: StatementBuilder);
60
60
  }
61
- declare class DefUseChain {
61
+ export declare class DefUseChain {
62
62
  def: StatementBuilder;
63
63
  use: StatementBuilder;
64
64
  constructor(def: StatementBuilder, use: StatementBuilder);
65
65
  }
66
- declare class Variable {
66
+ export declare class Variable {
67
67
  name: string;
68
68
  lastDef: StatementBuilder;
69
69
  defUse: DefUseChain[];
@@ -71,7 +71,7 @@ declare class Variable {
71
71
  propOf: Variable | null;
72
72
  constructor(name: string, lastDef: StatementBuilder);
73
73
  }
74
- declare class Scope {
74
+ export declare class Scope {
75
75
  id: number;
76
76
  constructor(id: number);
77
77
  }
@@ -85,13 +85,16 @@ export declare class BlockBuilder {
85
85
  removePredecessorBlock(block: BlockBuilder): boolean;
86
86
  removeSuccessorBlock(block: BlockBuilder): boolean;
87
87
  }
88
- declare class Catch {
88
+ export declare class Catch {
89
89
  errorName: string;
90
90
  from: number;
91
91
  to: number;
92
92
  withLabel: number;
93
93
  constructor(errorName: string, from: number, to: number, withLabel: number);
94
94
  }
95
+ export declare class TextError extends Error {
96
+ constructor(message: string);
97
+ }
95
98
  export declare class CfgBuilder {
96
99
  name: string;
97
100
  astRoot: ts.Node;
@@ -1 +1 @@
1
- {"version":3,"file":"CfgBuilder.d.ts","sourceRoot":"","sources":["../../../../src/core/graph/builder/CfgBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CfgBuilder.d.ts","sourceRoot":"","sources":["../../../../src/core/graph/builder/CfgBuilder.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
37
37
  return result;
38
38
  };
39
39
  Object.defineProperty(exports, "__esModule", { value: true });
40
- exports.CfgBuilder = exports.BlockBuilder = exports.TryStatementBuilder = exports.SwitchStatementBuilder = void 0;
40
+ exports.CfgBuilder = exports.TextError = exports.Catch = exports.BlockBuilder = exports.Scope = exports.Variable = exports.DefUseChain = exports.Case = exports.TryStatementBuilder = exports.SwitchStatementBuilder = exports.StatementBuilder = void 0;
41
41
  const ts = __importStar(require("ohos-typescript"));
42
42
  const Stmt_1 = require("../../base/Stmt");
43
43
  const BasicBlock_1 = require("../BasicBlock");
@@ -58,7 +58,7 @@ const logger = logger_1.default.getLogger(logger_1.LOG_MODULE_TYPE.ARKANALYZER,
58
58
  class StatementBuilder {
59
59
  constructor(type, code, astNode, scopeID) {
60
60
  this.addressCode3 = [];
61
- this.passTmies = 0;
61
+ this.passTimes = 0;
62
62
  this.numOfIdentifier = 0;
63
63
  this.isDoWhile = false;
64
64
  this.hasDoWhileBody = false;
@@ -76,6 +76,7 @@ class StatementBuilder {
76
76
  this.ifExitPass = false;
77
77
  }
78
78
  }
79
+ exports.StatementBuilder = StatementBuilder;
79
80
  class ConditionStatementBuilder extends StatementBuilder {
80
81
  constructor(type, code, astNode, scopeID) {
81
82
  super(type, code, astNode, scopeID);
@@ -114,12 +115,14 @@ class Case {
114
115
  this.stmt = stmt;
115
116
  }
116
117
  }
118
+ exports.Case = Case;
117
119
  class DefUseChain {
118
120
  constructor(def, use) {
119
121
  this.def = def;
120
122
  this.use = use;
121
123
  }
122
124
  }
125
+ exports.DefUseChain = DefUseChain;
123
126
  class Variable {
124
127
  constructor(name, lastDef) {
125
128
  this.properties = [];
@@ -129,11 +132,13 @@ class Variable {
129
132
  this.defUse = [];
130
133
  }
131
134
  }
135
+ exports.Variable = Variable;
132
136
  class Scope {
133
137
  constructor(id) {
134
138
  this.id = id;
135
139
  }
136
140
  }
141
+ exports.Scope = Scope;
137
142
  class BlockBuilder {
138
143
  constructor(id, stmts) {
139
144
  this.nexts = [];
@@ -168,6 +173,7 @@ class Catch {
168
173
  this.withLabel = withLabel;
169
174
  }
170
175
  }
176
+ exports.Catch = Catch;
171
177
  class TextError extends Error {
172
178
  constructor(message) {
173
179
  // 调用父类的构造函数,并传入错误消息
@@ -176,6 +182,7 @@ class TextError extends Error {
176
182
  this.name = 'TextError';
177
183
  }
178
184
  }
185
+ exports.TextError = TextError;
179
186
  class CfgBuilder {
180
187
  constructor(ast, name, declaringMethod, sourceFile) {
181
188
  this.exits = [];
@@ -635,8 +642,8 @@ class CfgBuilder {
635
642
  if (((stmt.type === 'continueStatement' || stmt.next.type === 'loopStatement') && stmt.next.block) || stmt.next.type.includes('exit')) {
636
643
  return null;
637
644
  }
638
- stmt.next.passTmies++;
639
- if (stmt.next.passTmies === stmt.next.lasts.size || stmt.next.type === 'loopStatement' || stmt.next.isDoWhile) {
645
+ stmt.next.passTimes++;
646
+ if (stmt.next.passTimes === stmt.next.lasts.size || stmt.next.type === 'loopStatement' || stmt.next.isDoWhile) {
640
647
  if (stmt.next.scopeID !== stmt.scopeID &&
641
648
  !(stmt.next instanceof ConditionStatementBuilder && stmt.next.doStatement) &&
642
649
  !(ts.isCaseClause(stmt.astNode) || ts.isDefaultClause(stmt.astNode))) {
@@ -968,7 +975,7 @@ class CfgBuilder {
968
975
  ts.isSetAccessorDeclaration(this.astRoot) ||
969
976
  ts.isFunctionExpression(this.astRoot) ||
970
977
  ts.isClassStaticBlockDeclaration(this.astRoot)) {
971
- this.astRoot.body ? stmts = [...this.astRoot.body.statements] : this.emptyBody = true;
978
+ this.astRoot.body ? (stmts = [...this.astRoot.body.statements]) : (this.emptyBody = true);
972
979
  }
973
980
  else if (ts.isArrowFunction(this.astRoot)) {
974
981
  if (ts.isBlock(this.astRoot.body)) {
@@ -1 +1 @@
1
- {"version":3,"file":"Inference.d.ts","sourceRoot":"","sources":["../../../src/core/inference/Inference.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAOtC,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,OAAO,GAAG,IAAI,CAAC;AACrD,KAAK,KAAK,GAAG,QAAQ,GAAG,KAAK,CAAC;AAG9B;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB;;;;OAIG;IACH,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,GAAG,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,GAAG,CAAC;IAE5B;;;;OAIG;IACH,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,GAAG,CAAC;IAEzB;;;;OAIG;IACH,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,GAAG,CAAC;CAChC;AAGD,qBAAa,gBAAgB;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAmB;IAC1C,OAAO,CAAC,YAAY,CAAgC;IAEpD,OAAO;WAIO,WAAW,IAAI,gBAAgB;IAOtC,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS;IAoB9C,OAAO,CAAC,qBAAqB;CAYhC"}
1
+ {"version":3,"file":"Inference.d.ts","sourceRoot":"","sources":["../../../src/core/inference/Inference.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAStC,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,OAAO,GAAG,IAAI,CAAC;AACrD,KAAK,KAAK,GAAG,QAAQ,GAAG,KAAK,CAAC;AAG9B;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB;;;;OAIG;IACH,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,GAAG,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,GAAG,CAAC;IAE5B;;;;OAIG;IACH,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,GAAG,CAAC;IAEzB;;;;OAIG;IACH,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,GAAG,CAAC;CAChC;AAGD,qBAAa,gBAAgB;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAmB;IAC1C,OAAO,CAAC,YAAY,CAAgC;IAEpD,OAAO;WAIO,WAAW,IAAI,gBAAgB;IAOtC,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS;IAsB9C,OAAO,CAAC,qBAAqB;CAchC"}
@@ -19,6 +19,7 @@ const ArkFile_1 = require("../model/ArkFile");
19
19
  const ArkTsInference_1 = require("./arkts/ArkTsInference");
20
20
  const AbcInference_1 = require("./abc/AbcInference");
21
21
  const ValueInference_1 = require("./ValueInference");
22
+ const CxxInference_1 = require("../../frontend/cppFrontend/inference/CxxInference");
22
23
  class InferenceManager {
23
24
  constructor() {
24
25
  this.inferenceMap = new Map();
@@ -45,6 +46,9 @@ class InferenceManager {
45
46
  else if (inferLanguage === ValueInference_1.InferLanguage.ARK_TS1_2) {
46
47
  inference = new ArkTsInference_1.ArkTs2InferenceBuilder().buildFileInference();
47
48
  }
49
+ else if (inferLanguage === ValueInference_1.InferLanguage.CXX) {
50
+ inference = new CxxInference_1.CxxInferenceBuilder().buildFileInference();
51
+ }
48
52
  else {
49
53
  throw new Error('Inference not supported');
50
54
  }
@@ -65,6 +69,9 @@ class InferenceManager {
65
69
  else if (lang === ArkFile_1.Language.ARKTS1_2) {
66
70
  return ValueInference_1.InferLanguage.ARK_TS1_2;
67
71
  }
72
+ else if (lang === ArkFile_1.Language.CXX) {
73
+ return ValueInference_1.InferLanguage.CXX;
74
+ }
68
75
  return ValueInference_1.InferLanguage.UNKNOWN;
69
76
  }
70
77
  }
@@ -61,7 +61,7 @@ export declare abstract class ImportInfoInference extends ArkModelInference {
61
61
  postInfer(fromInfo: ImportInfo, exportInfo: ExportInfo | null): void;
62
62
  }
63
63
  export declare class FileInference extends ArkModelInference {
64
- private importInfoInference;
64
+ protected importInfoInference: ImportInfoInference;
65
65
  private classInference;
66
66
  constructor(importInfoInference: ImportInfoInference, classInference: ClassInference);
67
67
  getClassInference(): ClassInference;
@@ -1 +1 @@
1
- {"version":3,"file":"ModelInference.d.ts","sourceRoot":"","sources":["../../../src/core/inference/ModelInference.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ModelInference.d.ts","sourceRoot":"","sources":["../../../src/core/inference/ModelInference.ts"],"names":[],"mappings":"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"}
@@ -170,9 +170,8 @@ export declare class InstanceInvokeExprInference extends ValueInference<ArkInsta
170
170
  }
171
171
  export declare class StaticInvokeExprInference extends InstanceInvokeExprInference {
172
172
  getValueName(): string;
173
- preInfer(value: ArkStaticInvokeExpr, stmt: Stmt | undefined): boolean;
174
173
  infer(expr: ArkStaticInvokeExpr, stmt: Stmt): Value | undefined;
175
- private getBaseType;
174
+ protected getBaseType(expr: ArkStaticInvokeExpr, arkMethod: ArkMethod): Type | null;
176
175
  }
177
176
  export declare class ArkPtrInvokeExprInference extends StaticInvokeExprInference {
178
177
  getValueName(): string;
@@ -197,6 +196,8 @@ export declare class ArkConditionExprInference extends ArkNormalBinOpExprInferen
197
196
  getValueName(): string;
198
197
  preInfer(value: ArkConditionExpr): boolean;
199
198
  infer(value: ArkConditionExpr): Value | undefined;
199
+ private isValueAssignWithLogicalNotExpr;
200
+ private isClassTypeUnionNullUndefined;
200
201
  }
201
202
  export declare class ArkInstanceOfExprInference extends ValueInference<ArkInstanceOfExpr> {
202
203
  getValueName(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"ValueInference.d.ts","sourceRoot":"","sources":["../../../src/core/inference/ValueInference.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ValueInference.d.ts","sourceRoot":"","sources":["../../../src/core/inference/ValueInference.ts"],"names":[],"mappings":"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"}
@@ -45,6 +45,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
45
45
  var InstanceInvokeExprInference_1;
46
46
  Object.defineProperty(exports, "__esModule", { value: true });
47
47
  exports.LocalInference = exports.ArkCastExprInference = exports.ArkInstanceOfExprInference = exports.ArkConditionExprInference = exports.ArkNormalBinOpExprInference = exports.ArkNewArrayExprInference = exports.ArkNewExprInference = exports.ArkPtrInvokeExprInference = exports.StaticInvokeExprInference = exports.InstanceInvokeExprInference = exports.StaticFieldRefInference = exports.FieldRefInference = exports.ClosureFieldRefInference = exports.ParameterRefInference = exports.ValueInference = exports.Bind = exports.valueCtors = exports.InferLanguage = void 0;
48
+ const Stmt_1 = require("../base/Stmt");
48
49
  const Type_1 = require("../base/Type");
49
50
  const TypeInference_1 = require("../common/TypeInference");
50
51
  const IRInference_1 = require("../common/IRInference");
@@ -60,6 +61,8 @@ const Constant_1 = require("../base/Constant");
60
61
  const logger_1 = __importStar(require("../../utils/logger"));
61
62
  const ArkSignature_1 = require("../model/ArkSignature");
62
63
  const Builtin_1 = require("../common/Builtin");
64
+ const ArkFile_1 = require("../model/ArkFile");
65
+ const IRInference_2 = require("../../frontend/cppFrontend/common/IRInference");
63
66
  const logger = logger_1.default.getLogger(logger_1.LOG_MODULE_TYPE.ARKANALYZER, 'ValueInference');
64
67
  var InferLanguage;
65
68
  (function (InferLanguage) {
@@ -364,9 +367,6 @@ let StaticInvokeExprInference = class StaticInvokeExprInference extends Instance
364
367
  getValueName() {
365
368
  return 'ArkStaticInvokeExpr';
366
369
  }
367
- preInfer(value, stmt) {
368
- return IRInference_1.IRInference.needInfer(value.getMethodSignature().getDeclaringClassSignature().getDeclaringFileSignature());
369
- }
370
370
  infer(expr, stmt) {
371
371
  var _a;
372
372
  const arkMethod = stmt.getCfg().getDeclaringMethod();
@@ -392,7 +392,9 @@ let StaticInvokeExprInference = class StaticInvokeExprInference extends Instance
392
392
  }
393
393
  const baseType = this.getBaseType(expr, arkMethod);
394
394
  const result = baseType ? IRInference_1.IRInference.inferInstanceMember(baseType, expr, arkMethod, InstanceInvokeExprInference.inferInvokeExpr) :
395
- IRInference_1.IRInference.inferStaticInvokeExprByMethodName(methodName, arkMethod, expr);
395
+ (arkMethod.getDeclaringArkFile().getLanguage() === ArkFile_1.Language.CXX ?
396
+ IRInference_2.IRInference.inferStaticInvokeExprByMethodName(methodName, arkMethod, expr) :
397
+ IRInference_1.IRInference.inferStaticInvokeExprByMethodName(methodName, arkMethod, expr));
396
398
  return !result || result === expr ? undefined : result;
397
399
  }
398
400
  getBaseType(expr, arkMethod) {
@@ -524,21 +526,71 @@ let ArkConditionExprInference = class ArkConditionExprInference extends ArkNorma
524
526
  return true;
525
527
  }
526
528
  infer(value) {
527
- if (value.getOperator() === Expr_1.RelationalBinaryOperator.InEquality && value.getOp2() === ValueUtil_1.ValueUtil.getOrCreateNumberConst(0)) {
528
- const op1Type = value.getOp1().getType();
529
- if (op1Type instanceof Type_1.StringType) {
530
- value.setOp2(ValueUtil_1.ValueUtil.createStringConst(ValueUtil_1.EMPTY_STRING));
531
- }
532
- else if (op1Type instanceof Type_1.BooleanType) {
533
- value.setOp2(ValueUtil_1.ValueUtil.getBooleanConstant(false));
529
+ if (value.getOperator() !== Expr_1.RelationalBinaryOperator.InEquality || value.getOp2() !== ValueUtil_1.ValueUtil.getOrCreateNumberConst(0)) {
530
+ value.fillType();
531
+ return undefined;
532
+ }
533
+ const op1 = value.getOp1();
534
+ const op1Type = op1.getType();
535
+ if (op1Type instanceof Type_1.StringType) {
536
+ value.setOp2(ValueUtil_1.ValueUtil.createStringConst(ValueUtil_1.EMPTY_STRING));
537
+ }
538
+ else if (op1Type instanceof Type_1.BooleanType) {
539
+ value.setOp2(ValueUtil_1.ValueUtil.getBooleanConstant(false));
540
+ }
541
+ else if (op1Type instanceof Type_1.ClassType || op1Type instanceof Type_1.UnknownType || op1Type instanceof Type_1.UnclearReferenceType) {
542
+ const newOp1 = this.isValueAssignWithLogicalNotExpr(op1);
543
+ if (newOp1) {
544
+ value.setOp1(newOp1);
545
+ value.setOperator(Expr_1.RelationalBinaryOperator.Equality);
534
546
  }
535
- else if (op1Type instanceof Type_1.ClassType) {
547
+ value.setOp2(ValueUtil_1.ValueUtil.getUndefinedConst());
548
+ }
549
+ else if (op1Type instanceof Type_1.UnionType) {
550
+ if (this.isClassTypeUnionNullUndefined(op1Type)) {
551
+ const newOp1 = this.isValueAssignWithLogicalNotExpr(op1);
552
+ if (newOp1) {
553
+ value.setOp1(newOp1);
554
+ value.setOperator(Expr_1.RelationalBinaryOperator.Equality);
555
+ }
536
556
  value.setOp2(ValueUtil_1.ValueUtil.getUndefinedConst());
537
557
  }
538
558
  }
539
559
  value.fillType();
540
560
  return undefined;
541
561
  }
562
+ isValueAssignWithLogicalNotExpr(op) {
563
+ if (!(op instanceof Local_1.Local)) {
564
+ return null;
565
+ }
566
+ const declaringStmt = op.getDeclaringStmt();
567
+ if (!declaringStmt || !(declaringStmt instanceof Stmt_1.ArkAssignStmt)) {
568
+ return null;
569
+ }
570
+ const rightOp = declaringStmt.getRightOp();
571
+ if (rightOp instanceof Expr_1.ArkUnopExpr && rightOp.getOperator() === Expr_1.UnaryOperator.LogicalNot) {
572
+ return rightOp.getOp();
573
+ }
574
+ return null;
575
+ }
576
+ isClassTypeUnionNullUndefined(unionType) {
577
+ const types = unionType.getTypes();
578
+ let findClassType = false;
579
+ for (const t of types) {
580
+ if (t instanceof Type_1.NullType || t instanceof Type_1.UndefinedType) {
581
+ continue;
582
+ }
583
+ if (t instanceof Type_1.ClassType) {
584
+ if (findClassType) {
585
+ return false;
586
+ }
587
+ findClassType = true;
588
+ continue;
589
+ }
590
+ return false;
591
+ }
592
+ return findClassType;
593
+ }
542
594
  };
543
595
  ArkConditionExprInference = __decorate([
544
596
  Bind()
@@ -1,9 +1,11 @@
1
1
  import { ImportInfoInference, MethodInference, StmtInference } from '../ModelInference';
2
2
  import { ArkMethod } from '../../model/ArkMethod';
3
3
  import { InferenceBuilder } from '../InferenceBuilder';
4
- import { FieldRefInference } from '../ValueInference';
4
+ import { FieldRefInference, InstanceInvokeExprInference, ValueInference } from '../ValueInference';
5
5
  import { Stmt } from '../../base/Stmt';
6
- import { ArkInstanceFieldRef } from '../../base/Ref';
6
+ import { Value } from '../../base/Value';
7
+ import { ArkCaughtExceptionRef, ArkInstanceFieldRef } from '../../base/Ref';
8
+ import { ArkInstanceInvokeExpr } from '../../base/Expr';
7
9
  export declare class AbcMethodInference extends MethodInference {
8
10
  preInfer(arkMethod: ArkMethod): void;
9
11
  private inferArkUIComponentLifeCycleMethod;
@@ -16,5 +18,29 @@ export declare class AbcInferenceBuilder extends InferenceBuilder {
16
18
  export declare class AbcFieldRefInference extends FieldRefInference {
17
19
  getValueName(): string;
18
20
  preInfer(value: ArkInstanceFieldRef, stmt: Stmt): boolean;
21
+ infer(value: ArkInstanceFieldRef, stmt: Stmt): Value | undefined;
22
+ }
23
+ export declare class AbcInstanceInvokeExprInference extends InstanceInvokeExprInference {
24
+ private static readonly CONTEXT;
25
+ /**
26
+ * Performs inference on an instance invocation expression within the context of a statement
27
+ * Enhances the base implementation with real generic type inference and extension function support
28
+ * @param {ArkInstanceInvokeExpr} value - The invocation expression to infer
29
+ * @param {Stmt} stmt - The statement containing the invocation
30
+ * @returns {Value | undefined} Returns a new expression if transformed, undefined otherwise
31
+ */
32
+ infer(value: ArkInstanceInvokeExpr, stmt: Stmt): Value | undefined;
33
+ /**
34
+ * process Context function
35
+ * @param value
36
+ * @param arkMethod
37
+ */
38
+ private processExtendFunc;
39
+ }
40
+ export declare class AbcExceptionRefInference extends ValueInference<ArkCaughtExceptionRef> {
41
+ private static ERROR_TYPE;
42
+ getValueName(): string;
43
+ preInfer(value: ArkCaughtExceptionRef, stmt: Stmt): boolean;
44
+ infer(value: ArkCaughtExceptionRef, stmt: Stmt): Value | undefined;
19
45
  }
20
46
  //# sourceMappingURL=AbcInference.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AbcInference.d.ts","sourceRoot":"","sources":["../../../../src/core/inference/abc/AbcInference.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGxF,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAQ,iBAAiB,EAAiC,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAKvC,OAAO,EAAoB,mBAAmB,EAA8B,MAAM,gBAAgB,CAAC;AA4BnG,qBAAa,kBAAmB,SAAQ,eAAe;IAE5C,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAQ3C,OAAO,CAAC,kCAAkC;CA8B7C;AA4ED,qBAAa,mBAAoB,SAAQ,gBAAgB;IAE9C,wBAAwB,IAAI,mBAAmB;IAI/C,oBAAoB,IAAI,eAAe;IAIvC,kBAAkB,IAAI,aAAa;CAK7C;AAED,qBACa,oBAAqB,SAAQ,iBAAiB;IAChD,YAAY,IAAI,MAAM;IAItB,QAAQ,CAAC,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO;CAWnE"}
1
+ {"version":3,"file":"AbcInference.d.ts","sourceRoot":"","sources":["../../../../src/core/inference/abc/AbcInference.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGxF,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAQlD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAQ,iBAAiB,EAAiB,2BAA2B,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxH,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAGzC,OAAO,EAEH,qBAAqB,EACrB,mBAAmB,EAGtB,MAAM,gBAAgB,CAAC;AAIxB,OAAO,EAAsB,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AA+B5E,qBAAa,kBAAmB,SAAQ,eAAe;IAE5C,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAQ3C,OAAO,CAAC,kCAAkC;CA8B7C;AA6ED,qBAAa,mBAAoB,SAAQ,gBAAgB;IAE9C,wBAAwB,IAAI,mBAAmB;IAI/C,oBAAoB,IAAI,eAAe;IAIvC,kBAAkB,IAAI,aAAa;CAK7C;AAED,qBACa,oBAAqB,SAAQ,iBAAiB;IAChD,YAAY,IAAI,MAAM;IAItB,QAAQ,CAAC,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO;IAgBzD,KAAK,CAAC,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS;CAmB1E;AAED,qBACa,8BAA+B,SAAQ,2BAA2B;IAC3E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAa;IAE5C;;;;;;OAMG;IACI,KAAK,CAAC,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS;IAQzE;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;CAc5B;AAED,qBACa,wBAAyB,SAAQ,cAAc,CAAC,qBAAqB,CAAC;IAC/E,OAAO,CAAC,MAAM,CAAC,UAAU,CAA0B;IAE5C,YAAY,IAAI,MAAM;IAItB,QAAQ,CAAC,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO;IAI3D,KAAK,CAAC,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS;CAa5E"}