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
@@ -1 +1 @@
1
- {"version":3,"file":"ArkFile.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkFile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ArkFile.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkFile.ts"],"names":[],"mappings":"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"}
@@ -64,6 +64,7 @@ class ArkFile {
64
64
  this.fileSignature = ArkSignature_1.FileSignature.DEFAULT;
65
65
  this.ohPackageJson5Path = [];
66
66
  this.anonymousClassNumber = 0;
67
+ this.anonymousNamespaceNumber = 0;
67
68
  this.ast = null;
68
69
  this.language = language;
69
70
  }
@@ -177,8 +178,33 @@ class ArkFile {
177
178
  const className = classSignature instanceof ArkSignature_1.AliasClassSignature ? classSignature.getOriginName() : classSignature.getClassName();
178
179
  return this.getClassWithName(className);
179
180
  }
180
- getClassWithName(Class) {
181
- return this.classes.get(Class) || null;
181
+ getClassWithName(className) {
182
+ // First, search for the top-level class
183
+ let cls = this.classes.get(className);
184
+ if (cls) {
185
+ return cls;
186
+ }
187
+ // Recursively search for classes within namespaces
188
+ for (const ns of this.namespaces.values()) {
189
+ cls = this.findClassInNamespace(ns, className);
190
+ if (cls) {
191
+ return cls;
192
+ }
193
+ }
194
+ return null;
195
+ }
196
+ findClassInNamespace(namespace, className) {
197
+ const cls = namespace.getClassWithName(className);
198
+ if (cls) {
199
+ return cls;
200
+ }
201
+ for (const ns of namespace.getNamespaces()) {
202
+ const found = this.findClassInNamespace(ns, className);
203
+ if (found) {
204
+ return found;
205
+ }
206
+ }
207
+ return null;
182
208
  }
183
209
  getClasses() {
184
210
  return Array.from(new Set(this.classes.values()));
@@ -192,7 +218,19 @@ class ArkFile {
192
218
  * @returns An **array** of import information.
193
219
  */
194
220
  getImportInfos() {
195
- return Array.from(this.importInfoMap.values());
221
+ var _a, _b;
222
+ const imports = Array.from(this.importInfoMap.values());
223
+ if (this.language !== Language.CXX || imports.length < 2) {
224
+ return imports;
225
+ }
226
+ const from0 = ((_a = imports[0].getFrom()) !== null && _a !== void 0 ? _a : '').replace(/\\/g, '/').toLowerCase();
227
+ const from1 = ((_b = imports[1].getFrom()) !== null && _b !== void 0 ? _b : '').replace(/\\/g, '/').toLowerCase();
228
+ const firstIsSdkStd = from0.includes('/sdk/default/') || from0.includes('/libc++/');
229
+ const secondIsSdkStd = from1.includes('/sdk/default/') || from1.includes('/libc++/');
230
+ if (firstIsSdkStd && !secondIsSdkStd) {
231
+ return [imports[1], imports[0], ...imports.slice(2)];
232
+ }
233
+ return imports;
196
234
  }
197
235
  getImportInfoBy(name) {
198
236
  return this.importInfoMap.get(name);
@@ -316,6 +354,9 @@ class ArkFile {
316
354
  getAnonymousClassNumber() {
317
355
  return this.anonymousClassNumber++;
318
356
  }
357
+ getAnonymousNamespaceNumber() {
358
+ return this.anonymousNamespaceNumber++;
359
+ }
319
360
  getAST() {
320
361
  return this.ast;
321
362
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ArkImport.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkImport.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C;;GAEG;AACH,qBAAa,UAAW,SAAQ,YAAa,YAAW,QAAQ;IAC5D,OAAO,CAAC,gBAAgB,CAAc;IACtC,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,gBAAgB,CAAW;IAEnC,OAAO,CAAC,gBAAgB,CAAC,CAAkB;IAC3C,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,cAAc,CAAC,CAAoB;;IAM3C;;OAEG;IACI,WAAW,IAAI,QAAQ;IAIvB,KAAK,CACR,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,eAAe,EACjC,SAAS,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,MAAM,GACtB,IAAI;IASA,aAAa,IAAI,MAAM;IAI9B;;;;;OAKG;IACI,iBAAiB,IAAI,UAAU,GAAG,IAAI;IAOtC,aAAa,IAAI,UAAU,GAAG,IAAI,GAAG,SAAS;IAI9C,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI;IAIlD,mBAAmB,CAAC,gBAAgB,EAAE,OAAO,GAAG,IAAI;IAIpD,mBAAmB,IAAI,OAAO;IAI9B,mBAAmB,IAAI,MAAM;IAI7B,mBAAmB,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI;IAInD,aAAa,IAAI,MAAM;IAIvB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIvC,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIvC,eAAe,IAAI,MAAM,GAAG,SAAS;IAIrC,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAIvD,mBAAmB,CAAC,gBAAgB,EAAE,eAAe,GAAG,IAAI;IAI5D,mBAAmB,IAAI,eAAe;IAItC,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAI3C,eAAe,IAAI,MAAM;IAIzB,OAAO,IAAI,MAAM,GAAG,SAAS;IAI7B,SAAS,IAAI,OAAO;IAOpB,QAAQ,IAAI,QAAQ;CAG9B"}
1
+ {"version":3,"file":"ArkImport.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkImport.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGnD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C;;GAEG;AACH,qBAAa,UAAW,SAAQ,YAAa,YAAW,QAAQ;IAC5D,OAAO,CAAC,gBAAgB,CAAc;IACtC,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,gBAAgB,CAAW;IAEnC,OAAO,CAAC,gBAAgB,CAAC,CAAkB;IAC3C,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,cAAc,CAAC,CAAoB;;IAM3C;;OAEG;IACI,WAAW,IAAI,QAAQ;IAIvB,KAAK,CACR,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,eAAe,EACjC,SAAS,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,MAAM,GACtB,IAAI;IASA,aAAa,IAAI,MAAM;IAI9B;;;;;OAKG;IACI,iBAAiB,IAAI,UAAU,GAAG,IAAI;IAYtC,aAAa,IAAI,UAAU,GAAG,IAAI,GAAG,SAAS;IAI9C,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI;IAIlD,mBAAmB,CAAC,gBAAgB,EAAE,OAAO,GAAG,IAAI;IAIpD,mBAAmB,IAAI,OAAO;IAI9B,mBAAmB,IAAI,MAAM;IAI7B,mBAAmB,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI;IAInD,aAAa,IAAI,MAAM;IAIvB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIvC,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIvC,eAAe,IAAI,MAAM,GAAG,SAAS;IAIrC,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAIvD,mBAAmB,CAAC,gBAAgB,EAAE,eAAe,GAAG,IAAI;IAI5D,mBAAmB,IAAI,eAAe;IAItC,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAI3C,eAAe,IAAI,MAAM;IAIzB,OAAO,IAAI,MAAM,GAAG,SAAS;IAI7B,SAAS,IAAI,OAAO;IAOpB,QAAQ,IAAI,QAAQ;CAG9B"}
@@ -15,8 +15,10 @@
15
15
  */
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.ImportInfo = void 0;
18
+ const ArkFile_1 = require("./ArkFile");
18
19
  const Position_1 = require("../base/Position");
19
20
  const ModelUtils_1 = require("../common/ModelUtils");
21
+ const ModelUtils_2 = require("../../frontend/cppFrontend/common/ModelUtils");
20
22
  const ArkBaseModel_1 = require("./ArkBaseModel");
21
23
  /**
22
24
  * @category core/model
@@ -53,7 +55,13 @@ class ImportInfo extends ArkBaseModel_1.ArkBaseModel {
53
55
  */
54
56
  getLazyExportInfo() {
55
57
  if (this.lazyExportInfo === undefined) {
56
- this.lazyExportInfo = (0, ModelUtils_1.findExportInfo)(this);
58
+ // CXXTodo: Distinguish between C++ and TS/ArkTS.
59
+ if (this.declaringArkFile.getLanguage() === ArkFile_1.Language.CXX) {
60
+ this.lazyExportInfo = (0, ModelUtils_2.findExportInfo)(this);
61
+ }
62
+ else {
63
+ this.lazyExportInfo = (0, ModelUtils_1.findExportInfo)(this);
64
+ }
57
65
  }
58
66
  return this.lazyExportInfo || null;
59
67
  }
@@ -2,7 +2,8 @@ import { FullPosition } from '../base/Position';
2
2
  export declare enum ArkMetadataKind {
3
3
  LEADING_COMMENTS = 0,
4
4
  TRAILING_COMMENTS = 1,
5
- ENUM_INIT_TYPE_USER = 2
5
+ JSDOC = 2,
6
+ ENUM_INIT_TYPE_USER = 3
6
7
  }
7
8
  export interface ArkMetadataType {
8
9
  }
@@ -30,6 +31,36 @@ export declare class CommentsMetadata implements ArkMetadataType {
30
31
  constructor(comments: CommentItem[]);
31
32
  getComments(): CommentItem[];
32
33
  }
34
+ export type JSDocParamItem = {
35
+ name: string;
36
+ type?: string;
37
+ description: string;
38
+ };
39
+ export type JSDocTagItem = {
40
+ name: string;
41
+ description: string;
42
+ };
43
+ export type JSDocReturnItem = {
44
+ type?: string;
45
+ description: string;
46
+ };
47
+ export type JSDocThrowItem = {
48
+ type?: string;
49
+ description: string;
50
+ };
51
+ export declare class JSDocMetadata implements ArkMetadataType {
52
+ private description;
53
+ private params;
54
+ private tags;
55
+ private returns;
56
+ private throws;
57
+ constructor(description: string, params: JSDocParamItem[], tags?: JSDocTagItem[], returns?: JSDocReturnItem[], throws?: JSDocThrowItem[]);
58
+ getDescription(): string;
59
+ getParams(): JSDocParamItem[];
60
+ getTags(): JSDocTagItem[];
61
+ getReturns(): JSDocReturnItem[];
62
+ getThrows(): JSDocThrowItem[];
63
+ }
33
64
  export declare class EnumInitTypeUserMetadata implements ArkMetadataType {
34
65
  private originTypeUser;
35
66
  constructor(originTypeUser: boolean);
@@ -1 +1 @@
1
- {"version":3,"file":"ArkMetadata.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkMetadata.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,oBAAY,eAAe;IACvB,gBAAgB,IAAA;IAChB,iBAAiB,IAAA;IACjB,mBAAmB,IAAA;CACtB;AAED,MAAM,WAAW,eAAe;CAAI;AAEpC;;;;;;;;;GASG;AACH,qBAAa,WAAW;IACpB,SAAS,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IAEpD,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,GAAG,SAAS;IAI/D,WAAW,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,GAAG,IAAI;CAM1E;AAED,MAAM,MAAM,WAAW,GAAG;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,YAAY,CAAC;CAC1B,CAAC;AAEF,qBAAa,gBAAiB,YAAW,eAAe;IACpD,OAAO,CAAC,QAAQ,CAAqB;gBAEzB,QAAQ,EAAE,WAAW,EAAE;IAI5B,WAAW,IAAI,WAAW,EAAE;CAGtC;AAED,qBAAa,wBAAyB,YAAW,eAAe;IAC5D,OAAO,CAAC,cAAc,CAAU;gBAEpB,cAAc,EAAE,OAAO;IAI5B,aAAa,IAAI,OAAO;CAGlC"}
1
+ {"version":3,"file":"ArkMetadata.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkMetadata.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,oBAAY,eAAe;IACvB,gBAAgB,IAAA;IAChB,iBAAiB,IAAA;IACjB,KAAK,IAAA;IACL,mBAAmB,IAAA;CACtB;AAED,MAAM,WAAW,eAAe;CAAI;AAEpC;;;;;;;;;GASG;AACH,qBAAa,WAAW;IACpB,SAAS,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IAEpD,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,GAAG,SAAS;IAI/D,WAAW,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,GAAG,IAAI;CAM1E;AAED,MAAM,MAAM,WAAW,GAAG;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,YAAY,CAAC;CAC1B,CAAC;AAEF,qBAAa,gBAAiB,YAAW,eAAe;IACpD,OAAO,CAAC,QAAQ,CAAqB;gBAEzB,QAAQ,EAAE,WAAW,EAAE;IAI5B,WAAW,IAAI,WAAW,EAAE;CAGtC;AAED,MAAM,MAAM,cAAc,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,qBAAa,aAAc,YAAW,eAAe;IACjD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,IAAI,CAAiB;IAC7B,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,MAAM,CAAmB;gBAG7B,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,cAAc,EAAE,EACxB,IAAI,GAAE,YAAY,EAAO,EACzB,OAAO,GAAE,eAAe,EAAO,EAC/B,MAAM,GAAE,cAAc,EAAO;IAS1B,cAAc,IAAI,MAAM;IAIxB,SAAS,IAAI,cAAc,EAAE;IAI7B,OAAO,IAAI,YAAY,EAAE;IAIzB,UAAU,IAAI,eAAe,EAAE;IAI/B,SAAS,IAAI,cAAc,EAAE;CAGvC;AAED,qBAAa,wBAAyB,YAAW,eAAe;IAC5D,OAAO,CAAC,cAAc,CAAU;gBAEpB,cAAc,EAAE,OAAO;IAI5B,aAAa,IAAI,OAAO;CAGlC"}
@@ -14,12 +14,13 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.EnumInitTypeUserMetadata = exports.CommentsMetadata = exports.ArkMetadata = exports.ArkMetadataKind = void 0;
17
+ exports.EnumInitTypeUserMetadata = exports.JSDocMetadata = exports.CommentsMetadata = exports.ArkMetadata = exports.ArkMetadataKind = void 0;
18
18
  var ArkMetadataKind;
19
19
  (function (ArkMetadataKind) {
20
20
  ArkMetadataKind[ArkMetadataKind["LEADING_COMMENTS"] = 0] = "LEADING_COMMENTS";
21
21
  ArkMetadataKind[ArkMetadataKind["TRAILING_COMMENTS"] = 1] = "TRAILING_COMMENTS";
22
- ArkMetadataKind[ArkMetadataKind["ENUM_INIT_TYPE_USER"] = 2] = "ENUM_INIT_TYPE_USER";
22
+ ArkMetadataKind[ArkMetadataKind["JSDOC"] = 2] = "JSDOC";
23
+ ArkMetadataKind[ArkMetadataKind["ENUM_INIT_TYPE_USER"] = 3] = "ENUM_INIT_TYPE_USER";
23
24
  })(ArkMetadataKind = exports.ArkMetadataKind || (exports.ArkMetadataKind = {}));
24
25
  /**
25
26
  * ArkMetadata
@@ -54,6 +55,31 @@ class CommentsMetadata {
54
55
  }
55
56
  }
56
57
  exports.CommentsMetadata = CommentsMetadata;
58
+ class JSDocMetadata {
59
+ constructor(description, params, tags = [], returns = [], throws = []) {
60
+ this.description = description;
61
+ this.params = params;
62
+ this.tags = tags;
63
+ this.returns = returns;
64
+ this.throws = throws;
65
+ }
66
+ getDescription() {
67
+ return this.description;
68
+ }
69
+ getParams() {
70
+ return this.params;
71
+ }
72
+ getTags() {
73
+ return this.tags;
74
+ }
75
+ getReturns() {
76
+ return this.returns;
77
+ }
78
+ getThrows() {
79
+ return this.throws;
80
+ }
81
+ }
82
+ exports.JSDocMetadata = JSDocMetadata;
57
83
  class EnumInitTypeUserMetadata {
58
84
  constructor(originTypeUser) {
59
85
  this.originTypeUser = originTypeUser;
@@ -15,6 +15,7 @@ import { ArkError } from '../common/ArkError';
15
15
  import { Local } from '../base/Local';
16
16
  import { ArkFile, Language } from './ArkFile';
17
17
  import { MethodParameter } from './builder/ArkMethodBuilder';
18
+ import { CxxBodyBuilder } from '../../frontend/cppFrontend/model/builder/BodyBuilder';
18
19
  export declare const arkMethodNodeKind: string[];
19
20
  /**
20
21
  * @category core/model
@@ -31,6 +32,7 @@ export declare class ArkMethod extends ArkBaseModel implements ArkExport {
31
32
  private body?;
32
33
  private viewTree?;
33
34
  private bodyBuilder?;
35
+ private CxxBodyBuilder?;
34
36
  private isGeneratedFlag;
35
37
  private asteriskToken;
36
38
  private questionToken;
@@ -184,6 +186,7 @@ export declare class ArkMethod extends ArkBaseModel implements ArkExport {
184
186
  isGenericsMethod(): boolean;
185
187
  setGenericTypes(genericTypes: GenericType[]): void;
186
188
  getBodyBuilder(): BodyBuilder | undefined;
189
+ getCxxBodyBuilder(): CxxBodyBuilder | undefined;
187
190
  /**
188
191
  * Get {@link ArkBody} of a Method.
189
192
  * A {@link ArkBody} contains the CFG and actual instructions or operations to be executed for a method.
@@ -254,7 +257,9 @@ export declare class ArkMethod extends ArkBaseModel implements ArkExport {
254
257
  getViewTree(): ViewTree | undefined;
255
258
  hasViewTree(): boolean;
256
259
  setBodyBuilder(bodyBuilder: BodyBuilder): void;
260
+ setCxxBodyBuilder(bodyBuilder: CxxBodyBuilder): void;
257
261
  freeBodyBuilder(): void;
262
+ freeCxxBodyBuilder(): void;
258
263
  buildBody(): void;
259
264
  isGenerated(): boolean;
260
265
  setIsGeneratedFlag(isGeneratedFlag: boolean): void;
@@ -1 +1 @@
1
- {"version":3,"file":"ArkMethod.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkMethod.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ArkMethod.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkMethod.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ const Position_1 = require("../base/Position");
25
25
  const ArkBaseModel_1 = require("./ArkBaseModel");
26
26
  const ArkError_1 = require("../common/ArkError");
27
27
  const TSConst_1 = require("../common/TSConst");
28
+ const Type_2 = require("../../frontend/cppFrontend/base/Type");
28
29
  const ModelUtils_1 = require("../common/ModelUtils");
29
30
  exports.arkMethodNodeKind = [
30
31
  'MethodDeclaration',
@@ -324,6 +325,9 @@ class ArkMethod extends ArkBaseModel_1.ArkBaseModel {
324
325
  getBodyBuilder() {
325
326
  return this.bodyBuilder;
326
327
  }
328
+ getCxxBodyBuilder() {
329
+ return this.CxxBodyBuilder;
330
+ }
327
331
  /**
328
332
  * Get {@link ArkBody} of a Method.
329
333
  * A {@link ArkBody} contains the CFG and actual instructions or operations to be executed for a method.
@@ -477,9 +481,18 @@ class ArkMethod extends ArkBaseModel_1.ArkBaseModel {
477
481
  this.buildBody();
478
482
  }
479
483
  }
484
+ setCxxBodyBuilder(bodyBuilder) {
485
+ this.CxxBodyBuilder = bodyBuilder;
486
+ if (this.getDeclaringArkFile().getScene().buildClassDone()) {
487
+ this.buildBody();
488
+ }
489
+ }
480
490
  freeBodyBuilder() {
481
491
  this.bodyBuilder = undefined;
482
492
  }
493
+ freeCxxBodyBuilder() {
494
+ this.CxxBodyBuilder = undefined;
495
+ }
483
496
  buildBody() {
484
497
  if (this.bodyBuilder) {
485
498
  const arkBody = this.bodyBuilder.build();
@@ -491,6 +504,17 @@ class ArkMethod extends ArkBaseModel_1.ArkBaseModel {
491
504
  }
492
505
  }
493
506
  }
507
+ // CXXTodo: Building body for Cxx. After the BodyBuilder completes abstraction, this part needs to be refactored.
508
+ if (this.CxxBodyBuilder) {
509
+ const arkBody = this.CxxBodyBuilder.build();
510
+ if (arkBody) {
511
+ this.setBody(arkBody);
512
+ arkBody.getCfg().setDeclaringMethod(this);
513
+ if (this.getOuterMethod() === undefined) {
514
+ this.CxxBodyBuilder.handleGlobalAndClosure();
515
+ }
516
+ }
517
+ }
494
518
  }
495
519
  isGenerated() {
496
520
  return this.isGeneratedFlag;
@@ -557,7 +581,15 @@ class ArkMethod extends ArkBaseModel_1.ArkBaseModel {
557
581
  getFunctionLocal(name) {
558
582
  var _a;
559
583
  const local = (_a = this.getBody()) === null || _a === void 0 ? void 0 : _a.getLocals().get(name);
560
- return (local === null || local === void 0 ? void 0 : local.getType()) instanceof Type_1.FunctionType ? local : null;
584
+ // CXXTodo: The type of a function pointer in CXX is 'PointerType(FunctionType, 1)'
585
+ if (!local) {
586
+ return null;
587
+ }
588
+ const localType = local.getType();
589
+ if (localType instanceof Type_1.FunctionType || (localType instanceof Type_2.PointerType && localType.getBaseType() instanceof Type_1.FunctionType)) {
590
+ return local;
591
+ }
592
+ return null;
561
593
  }
562
594
  setQuestionToken(questionToken) {
563
595
  this.questionToken = questionToken;
@@ -20,6 +20,7 @@ export declare class ArkNamespace extends ArkBaseModel implements ArkExport {
20
20
  private classes;
21
21
  private namespaceSignature;
22
22
  private anonymousClassNumber;
23
+ private anonymousNamespaceNumber;
23
24
  constructor();
24
25
  /**
25
26
  * Returns the program language of the file where this namespace defined.
@@ -63,6 +64,7 @@ export declare class ArkNamespace extends ArkBaseModel implements ArkExport {
63
64
  getAllClassesUnderThisNamespace(): ArkClass[];
64
65
  getAllNamespacesUnderThisNamespace(): ArkNamespace[];
65
66
  getAnonymousClassNumber(): number;
67
+ getAnonymousNamespaceNumber(): number;
66
68
  getExportType(): ExportType;
67
69
  removeArkClass(arkClass: ArkClass): boolean;
68
70
  removeNamespace(namespace: ArkNamespace): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"ArkNamespace.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkNamespace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ArkNamespace.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkNamespace.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,7 @@ class ArkNamespace extends ArkBaseModel_1.ArkBaseModel {
36
36
  this.namespaces = new Map(); // don't contain nested namespace
37
37
  this.classes = new Map();
38
38
  this.anonymousClassNumber = 0;
39
+ this.anonymousNamespaceNumber = 0;
39
40
  }
40
41
  /**
41
42
  * Returns the program language of the file where this namespace defined.
@@ -44,6 +45,13 @@ class ArkNamespace extends ArkBaseModel_1.ArkBaseModel {
44
45
  return this.getDeclaringArkFile().getLanguage();
45
46
  }
46
47
  addNamespace(namespace) {
48
+ const existing = this.namespaces.get(namespace.getName());
49
+ if (existing) {
50
+ // Merge content of namespaces with the same name
51
+ namespace.getClasses().forEach(cls => existing.addArkClass(cls));
52
+ namespace.getNamespaces().forEach(ns => existing.addNamespace(ns));
53
+ return;
54
+ }
47
55
  this.namespaces.set(namespace.getName(), namespace);
48
56
  }
49
57
  getNamespace(namespaceSignature) {
@@ -210,6 +218,9 @@ class ArkNamespace extends ArkBaseModel_1.ArkBaseModel {
210
218
  getAnonymousClassNumber() {
211
219
  return this.anonymousClassNumber++;
212
220
  }
221
+ getAnonymousNamespaceNumber() {
222
+ return this.anonymousNamespaceNumber++;
223
+ }
213
224
  getExportType() {
214
225
  return ArkExport_1.ExportType.NAME_SPACE;
215
226
  }
@@ -104,7 +104,7 @@ export declare class MethodSubSignature {
104
104
  getReturnType(): Type;
105
105
  setReturnType(returnType: Type): void;
106
106
  isStatic(): boolean;
107
- toString(ptrName?: string): string;
107
+ toString(ptrName?: string, visited?: Set<Type>): string;
108
108
  }
109
109
  /**
110
110
  * @category core/model
@@ -140,7 +140,7 @@ export declare class MethodSignature {
140
140
  */
141
141
  getMethodSubSignature(): MethodSubSignature;
142
142
  getType(): Type;
143
- toString(ptrName?: string): string;
143
+ toString(ptrName?: string, visited?: Set<Type>): string;
144
144
  toMapKey(): string;
145
145
  isMatch(signature: MethodSignature): boolean;
146
146
  getParamLength(): number;
@@ -159,7 +159,7 @@ export declare class AliasTypeSignature {
159
159
  constructor(name: string, declaringMethodSignature: MethodSignature);
160
160
  getName(): string;
161
161
  getDeclaringMethodSignature(): MethodSignature;
162
- toString(): string;
162
+ toString(visited?: Set<Type>): string;
163
163
  }
164
164
  export declare function fieldSignatureCompare(leftSig: FieldSignature, rightSig: FieldSignature): boolean;
165
165
  export declare function methodSignatureCompare(leftSig: MethodSignature, rightSig: MethodSignature): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"ArkSignature.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkSignature.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAY7D,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,kBAAkB,GAAG,cAAc,GAAG,eAAe,GAAG,cAAc,GAAG,cAAc,GAAG,kBAAkB,CAAC;AAErJ,MAAM,WAAW,YAAY;IACzB,YAAY,IAAI,SAAS,CAAC;CAC7B;AAED;;GAEG;AACH,qBAAa,aAAa;IACtB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAS;IAEzB,gBAAuB,OAAO,EAAE,aAAa,CAA8D;gBAE/F,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAM1C,cAAc,IAAI,MAAM;IAIxB,WAAW,IAAI,MAAM;IAIrB,QAAQ,IAAI,MAAM;IAIlB,QAAQ,IAAI,MAAM;CAG5B;AAED,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,sBAAsB,CAAgB;IAC9C,OAAO,CAAC,2BAA2B,CAA4B;IAE/D,gBAAuB,OAAO,EAAE,kBAAkB,CAA+E;gBAErH,aAAa,EAAE,MAAM,EAAE,sBAAsB,EAAE,aAAa,EAAE,2BAA2B,GAAE,kBAAkB,GAAG,IAAW;IAMhI,gBAAgB,IAAI,MAAM;IAI1B,yBAAyB,IAAI,aAAa;IAI1C,8BAA8B,IAAI,kBAAkB,GAAG,IAAI;IAI3D,QAAQ,IAAI,MAAM;IAQlB,QAAQ,IAAI,MAAM;CAO5B;AAED,qBAAa,cAAc;IACvB,OAAO,CAAC,sBAAsB,CAAgB;IAC9C,OAAO,CAAC,2BAA2B,CAA4B;IAC/D,OAAO,CAAC,SAAS,CAAS;IAE1B,gBAAuB,OAAO,EAAE,cAAc,CAAuE;gBAEzG,SAAS,EAAE,MAAM,EAAE,sBAAsB,EAAE,aAAa,EAAE,2BAA2B,GAAE,kBAAkB,GAAG,IAAW;IAMnI;;;OAGG;IACI,yBAAyB,IAAI,aAAa;IAIjD;;;OAGG;IACI,8BAA8B,IAAI,kBAAkB,GAAG,IAAI;IAIlE;;;OAGG;IACI,YAAY,IAAI,MAAM;IAI7B;;;OAGG;IACI,qBAAqB,IAAI,MAAM;IAW/B,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIrC,OAAO,IAAI,SAAS;IAIpB,QAAQ,IAAI,MAAM;IAQlB,QAAQ,IAAI,MAAM;CAO5B;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,cAAc;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEvB,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc;IAKxD;;OAEG;IACI,YAAY,IAAI,MAAM;IAI7B;;OAEG;IACI,aAAa,IAAI,MAAM;CAGjC;AAED,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG,kBAAkB,CAAC;AAEhE,qBAAa,cAAc;IACvB,OAAO,CAAC,kBAAkB,CAAgB;IAC1C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,IAAI,CAAO;IACnB,OAAO,CAAC,UAAU,CAAU;gBAEhB,SAAS,EAAE,MAAM,EAAE,kBAAkB,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,GAAE,OAAe;IAOlG,qBAAqB,IAAI,aAAa;IAItC,WAAW,IAAI,MAAM;IAIrB,YAAY,IAAI,MAAM;IAItB,OAAO,IAAI,IAAI;IAIf,QAAQ,IAAI,OAAO;IAKnB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAKzB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAIlC,QAAQ,IAAI,MAAM;CAO5B;AAED,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,UAAU,CAAO;IACzB,OAAO,CAAC,UAAU,CAAU;gBAEhB,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,GAAE,OAAe;IAOrG,aAAa,IAAI,MAAM;IAIvB,aAAa,IAAI,eAAe,EAAE;IAIlC,iBAAiB,IAAI,IAAI,EAAE;IAQ3B,aAAa,IAAI,IAAI;IAIrB,aAAa,CAAC,UAAU,EAAE,IAAI,GAAG,IAAI;IAIrC,QAAQ,IAAI,OAAO;IAInB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM;CAY5C;AAED;;GAEG;AACH,qBAAa,eAAe;IACxB,OAAO,CAAC,uBAAuB,CAAiB;IAChD,OAAO,CAAC,kBAAkB,CAAqB;gBAEnC,uBAAuB,EAAE,cAAc,EAAE,kBAAkB,EAAE,kBAAkB;IAK3F;;;;;;;;;;;;;;;;;OAiBG;IACI,0BAA0B,IAAI,cAAc;IAInD;;;;;OAKG;IACI,qBAAqB,IAAI,kBAAkB;IAI3C,OAAO,IAAI,IAAI;IAIf,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM;IAIlC,QAAQ,IAAI,MAAM;IAIlB,OAAO,CAAC,SAAS,EAAE,eAAe,GAAG,OAAO;IAI5C,cAAc,IAAI,MAAM;CAGlC;AAED,qBAAa,cAAc;IACvB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,wBAAwB,CAAkB;gBAEtC,IAAI,EAAE,MAAM,EAAE,wBAAwB,EAAE,eAAe;IAK5D,OAAO,IAAI,MAAM;IAIjB,2BAA2B,IAAI,eAAe;IAI9C,QAAQ,IAAI,MAAM;CAG5B;AAED,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,wBAAwB,CAAkB;gBAEtC,IAAI,EAAE,MAAM,EAAE,wBAAwB,EAAE,eAAe;IAK5D,OAAO,IAAI,MAAM;IAIjB,2BAA2B,IAAI,eAAe;IAI9C,QAAQ,IAAI,MAAM;CAG5B;AAGD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAKhG;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,eAAe,GAAG,OAAO,CAQnG;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAS5G;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAKhG;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO,CAK7F;AAcD,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAE/F"}
1
+ {"version":3,"file":"ArkSignature.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkSignature.ts"],"names":[],"mappings":"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"}
@@ -237,15 +237,18 @@ class MethodSubSignature {
237
237
  isStatic() {
238
238
  return this.staticFlag;
239
239
  }
240
- toString(ptrName) {
240
+ toString(ptrName, visited) {
241
241
  let paraStr = '';
242
242
  this.getParameterTypes().forEach(parameterType => {
243
- paraStr += parameterType.toString() + ', ';
243
+ const typeStr = parameterType
244
+ ? (visited ? parameterType.toStringWithVisited(visited) : parameterType.toString())
245
+ : Type_1.UnknownType.getInstance().toString();
246
+ paraStr += typeStr + ', ';
244
247
  });
245
248
  paraStr = paraStr.replace(/, $/, '');
246
- let tmpSig = `${ptrName !== null && ptrName !== void 0 ? ptrName : this.getMethodName()}(${paraStr})`;
249
+ const tmpSig = `${ptrName !== null && ptrName !== void 0 ? ptrName : this.getMethodName()}(${paraStr})`;
247
250
  if (this.isStatic()) {
248
- tmpSig = '[static]' + tmpSig;
251
+ return '[static]' + tmpSig;
249
252
  }
250
253
  return tmpSig;
251
254
  }
@@ -292,8 +295,9 @@ class MethodSignature {
292
295
  getType() {
293
296
  return this.methodSubSignature.getReturnType();
294
297
  }
295
- toString(ptrName) {
296
- return this.declaringClassSignature.toString() + '.' + this.methodSubSignature.toString(ptrName);
298
+ toString(ptrName, visited) {
299
+ return this.declaringClassSignature.toString() + '.' +
300
+ this.methodSubSignature.toString(ptrName, visited);
297
301
  }
298
302
  toMapKey() {
299
303
  return this.declaringClassSignature.toMapKey() + '.' + this.methodSubSignature.toString();
@@ -333,8 +337,8 @@ class AliasTypeSignature {
333
337
  getDeclaringMethodSignature() {
334
338
  return this.declaringMethodSignature;
335
339
  }
336
- toString() {
337
- return this.declaringMethodSignature.toString() + '#' + this.name;
340
+ toString(visited) {
341
+ return this.declaringMethodSignature.toString(undefined, visited) + '#' + this.name;
338
342
  }
339
343
  }
340
344
  exports.AliasTypeSignature = AliasTypeSignature;
@@ -357,7 +361,8 @@ exports.methodSignatureCompare = methodSignatureCompare;
357
361
  function methodSubSignatureCompare(leftSig, rightSig) {
358
362
  if (leftSig.getMethodName() === rightSig.getMethodName() &&
359
363
  arrayCompare(leftSig.getParameterTypes(), rightSig.getParameterTypes()) &&
360
- leftSig.getReturnType() === rightSig.getReturnType()) {
364
+ leftSig.getReturnType() === rightSig.getReturnType() &&
365
+ leftSig.isStatic() === rightSig.isStatic()) {
361
366
  return true;
362
367
  }
363
368
  return false;
@@ -10,4 +10,6 @@ export declare function buildNormalArkClassFromArkMethod(clsNode: ClassLikeNode,
10
10
  export declare function buildNormalArkClassFromArkFile(clsNode: ClassLikeNode, arkFile: ArkFile, cls: ArkClass, sourceFile: ts.SourceFile, declaringMethod?: ArkMethod): void;
11
11
  export declare function buildNormalArkClassFromArkNamespace(clsNode: ClassLikeNode, arkNamespace: ArkNamespace, cls: ArkClass, sourceFile: ts.SourceFile, declaringMethod?: ArkMethod): void;
12
12
  export declare function buildNormalArkClass(clsNode: ClassLikeNode, cls: ArkClass, sourceFile: ts.SourceFile, declaringMethod?: ArkMethod): void;
13
+ export declare function init4InstanceInitMethod(cls: ArkClass): void;
14
+ export declare function init4StaticInitMethod(cls: ArkClass): void;
13
15
  //# sourceMappingURL=ArkClassBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ArkClassBuilder.d.ts","sourceRoot":"","sources":["../../../../src/core/model/builder/ArkClassBuilder.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAmE,MAAM,iBAAiB,CAAC;AAClG,OAAO,EAAE,QAAQ,EAAiB,MAAM,aAAa,CAAC;AA2CtD,MAAM,MAAM,aAAa,GACnB,EAAE,CAAC,gBAAgB,GACnB,EAAE,CAAC,oBAAoB,GACvB,EAAE,CAAC,eAAe,GAClB,EAAE,CAAC,eAAe,GAClB,EAAE,CAAC,eAAe,GAClB,EAAE,CAAC,iBAAiB,GACpB,EAAE,CAAC,uBAAuB,CAAC;AAUjC,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,UAAU,GAAG,IAAI,CAItH;AAED,wBAAgB,oCAAoC,CAChD,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,QAAQ,EACtB,MAAM,EAAE,EAAE,CAAC,iBAAiB,EAC5B,UAAU,EAAE,EAAE,CAAC,UAAU,GAC1B,IAAI,CAIN;AAED,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC,EAAE,SAAS,GAAG,IAAI,CAOpJ;AAED,wBAAgB,8BAA8B,CAC1C,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,QAAQ,EACb,UAAU,EAAE,EAAE,CAAC,UAAU,EACzB,eAAe,CAAC,EAAE,SAAS,GAC5B,IAAI,CASN;AAED,wBAAgB,mCAAmC,CAC/C,OAAO,EAAE,aAAa,EACtB,YAAY,EAAE,YAAY,EAC1B,GAAG,EAAE,QAAQ,EACb,UAAU,EAAE,EAAE,CAAC,UAAU,EACzB,eAAe,CAAC,EAAE,SAAS,GAC5B,IAAI,CAUN;AAmBD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC,EAAE,SAAS,GAAG,IAAI,CA0BvI"}
1
+ {"version":3,"file":"ArkClassBuilder.d.ts","sourceRoot":"","sources":["../../../../src/core/model/builder/ArkClassBuilder.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAmE,MAAM,iBAAiB,CAAC;AAClG,OAAO,EAAE,QAAQ,EAAiB,MAAM,aAAa,CAAC;AA2CtD,MAAM,MAAM,aAAa,GACnB,EAAE,CAAC,gBAAgB,GACnB,EAAE,CAAC,oBAAoB,GACvB,EAAE,CAAC,eAAe,GAClB,EAAE,CAAC,eAAe,GAClB,EAAE,CAAC,eAAe,GAClB,EAAE,CAAC,iBAAiB,GACpB,EAAE,CAAC,uBAAuB,CAAC;AAUjC,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,UAAU,GAAG,IAAI,CAItH;AAED,wBAAgB,oCAAoC,CAChD,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,QAAQ,EACtB,MAAM,EAAE,EAAE,CAAC,iBAAiB,EAC5B,UAAU,EAAE,EAAE,CAAC,UAAU,GAC1B,IAAI,CAIN;AAED,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC,EAAE,SAAS,GAAG,IAAI,CAOpJ;AAED,wBAAgB,8BAA8B,CAC1C,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,QAAQ,EACb,UAAU,EAAE,EAAE,CAAC,UAAU,EACzB,eAAe,CAAC,EAAE,SAAS,GAC5B,IAAI,CASN;AAED,wBAAgB,mCAAmC,CAC/C,OAAO,EAAE,aAAa,EACtB,YAAY,EAAE,YAAY,EAC1B,GAAG,EAAE,QAAQ,EACb,UAAU,EAAE,EAAE,CAAC,UAAU,EACzB,eAAe,CAAC,EAAE,SAAS,GAC5B,IAAI,CAUN;AAmBD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC,EAAE,SAAS,GAAG,IAAI,CA0BvI;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,CAa3D;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,CAgBzD"}
@@ -40,7 +40,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
40
40
  return (mod && mod.__esModule) ? mod : { "default": mod };
41
41
  };
42
42
  Object.defineProperty(exports, "__esModule", { value: true });
43
- exports.buildNormalArkClass = exports.buildNormalArkClassFromArkNamespace = exports.buildNormalArkClassFromArkFile = exports.buildNormalArkClassFromArkMethod = exports.buildDefaultArkClassFromArkNamespace = exports.buildDefaultArkClassFromArkFile = void 0;
43
+ exports.init4StaticInitMethod = exports.init4InstanceInitMethod = exports.buildNormalArkClass = exports.buildNormalArkClassFromArkNamespace = exports.buildNormalArkClassFromArkFile = exports.buildNormalArkClassFromArkMethod = exports.buildDefaultArkClassFromArkNamespace = exports.buildDefaultArkClassFromArkFile = void 0;
44
44
  const ArkField_1 = require("../ArkField");
45
45
  const ArkMethod_1 = require("../ArkMethod");
46
46
  const logger_1 = __importStar(require("../../../utils/logger"));
@@ -161,6 +161,7 @@ function init4InstanceInitMethod(cls) {
161
161
  cls.addMethod(instanceInit);
162
162
  cls.setInstanceInitMethod(instanceInit);
163
163
  }
164
+ exports.init4InstanceInitMethod = init4InstanceInitMethod;
164
165
  function init4StaticInitMethod(cls) {
165
166
  const staticInit = new ArkMethod_1.ArkMethod();
166
167
  staticInit.setDeclaringArkClass(cls);
@@ -175,6 +176,7 @@ function init4StaticInitMethod(cls) {
175
176
  cls.addMethod(staticInit);
176
177
  cls.setStaticInitMethod(staticInit);
177
178
  }
179
+ exports.init4StaticInitMethod = init4StaticInitMethod;
178
180
  function buildStruct2ArkClass(clsNode, cls, sourceFile, declaringMethod) {
179
181
  var _a;
180
182
  const className = genClassName(clsNode.name ? clsNode.name.text : '', cls, declaringMethod);
@@ -407,12 +409,10 @@ function buildParameterProperty2ArkField(params, cls, sourceFile) {
407
409
  fieldName = parameter.name.text;
408
410
  }
409
411
  else if (ohos_typescript_1.default.isObjectBindingPattern(parameter.name)) {
410
- // TODO
411
412
  logger.warn(`Need to support param property with ObjectBindingPattern node type: ${cls.getSignature().toString()}!`);
412
413
  return;
413
414
  }
414
415
  else if (ohos_typescript_1.default.isArrayBindingPattern(parameter.name)) {
415
- // TODO
416
416
  logger.warn(`Need to support param property with ArrayBindingPattern node type: ${cls.getSignature().toString()}!`);
417
417
  return;
418
418
  }
@@ -0,0 +1,21 @@
1
+ import ts from 'ohos-typescript';
2
+ import { SceneOptions } from '../../../Config';
3
+ import { Stmt } from '../../base/Stmt';
4
+ import { ArkBaseModel } from '../ArkBaseModel';
5
+ import { CommentsMetadata, JSDocMetadata } from '../ArkMetadata';
6
+ export declare class ArkMetadataBuilder {
7
+ private static readonly PARAM_TAG_REGEX;
8
+ private static readonly RETURNS_TAG_REGEX;
9
+ private static readonly THROWS_TAG_REGEX;
10
+ private static readonly GENERIC_TAG_REGEX;
11
+ static setComments(metadata: Stmt | ArkBaseModel, node: ts.Node, sourceFile: ts.SourceFile, options: SceneOptions): void;
12
+ static getCommentsMetadata(node: ts.Node, sourceFile: ts.SourceFile, options: SceneOptions, isLeading: boolean): CommentsMetadata;
13
+ static getJSDocMetadata(node: ts.Node, sourceFile: ts.SourceFile, options: SceneOptions): JSDocMetadata[];
14
+ private static parseJSDocContent;
15
+ private static parseJSDocLine;
16
+ private static tryParseParam;
17
+ private static tryParseReturns;
18
+ private static tryParseThrows;
19
+ private static tryParseGenericTag;
20
+ }
21
+ //# sourceMappingURL=ArkMetadataBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArkMetadataBuilder.d.ts","sourceRoot":"","sources":["../../../../src/core/model/builder/ArkMetadataBuilder.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAgC,gBAAgB,EAAE,aAAa,EAAiE,MAAM,gBAAgB,CAAC;AAG9J,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAA+D;IACtG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAkD;IAC3F,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAgD;IACxF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAwB;WAEnD,WAAW,CAAC,QAAQ,EAAE,IAAI,GAAG,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;WAiBjH,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,GAAG,gBAAgB;WAwB1H,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,YAAY,GAAG,aAAa,EAAE;IAmBhH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAmBhC,OAAO,CAAC,MAAM,CAAC,cAAc;IA4B7B,OAAO,CAAC,MAAM,CAAC,aAAa;IAa5B,OAAO,CAAC,MAAM,CAAC,eAAe;IAY9B,OAAO,CAAC,MAAM,CAAC,cAAc;IAY7B,OAAO,CAAC,MAAM,CAAC,kBAAkB;CAUpC"}