arkanalyzer 1.0.85 → 1.0.87

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 (400) 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 +32 -1
  34. package/lib/Config.d.ts.map +1 -1
  35. package/lib/Config.js +76 -2
  36. package/lib/Scene.d.ts +25 -2
  37. package/lib/Scene.d.ts.map +1 -1
  38. package/lib/Scene.js +148 -40
  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 +32 -0
  61. package/lib/cli/commands/cg.d.ts.map +1 -0
  62. package/lib/cli/commands/cg.js +401 -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 +144 -22
  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 +3 -0
  94. package/lib/core/common/Const.d.ts.map +1 -1
  95. package/lib/core/common/Const.js +4 -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 +5 -1
  104. package/lib/core/common/ModelUtils.d.ts +4 -7
  105. package/lib/core/common/ModelUtils.d.ts.map +1 -1
  106. package/lib/core/common/ModelUtils.js +77 -110
  107. package/lib/core/common/SdkUtils.d.ts +1 -1
  108. package/lib/core/common/SdkUtils.d.ts.map +1 -1
  109. package/lib/core/common/SdkUtils.js +14 -5
  110. package/lib/core/common/TypeInference.d.ts.map +1 -1
  111. package/lib/core/common/TypeInference.js +9 -3
  112. package/lib/core/graph/BaseExplicitGraph.d.ts +4 -4
  113. package/lib/core/graph/BaseExplicitGraph.d.ts.map +1 -1
  114. package/lib/core/graph/BaseExplicitGraph.js +15 -8
  115. package/lib/core/graph/BasicBlock.d.ts.map +1 -1
  116. package/lib/core/graph/Scc.d.ts.map +1 -1
  117. package/lib/core/graph/Scc.js +7 -2
  118. package/lib/core/graph/builder/CfgBuilder.d.ts +10 -7
  119. package/lib/core/graph/builder/CfgBuilder.d.ts.map +1 -1
  120. package/lib/core/graph/builder/CfgBuilder.js +12 -5
  121. package/lib/core/inference/Inference.d.ts.map +1 -1
  122. package/lib/core/inference/Inference.js +7 -0
  123. package/lib/core/inference/ModelInference.d.ts +1 -1
  124. package/lib/core/inference/ModelInference.d.ts.map +1 -1
  125. package/lib/core/inference/ValueInference.d.ts +3 -2
  126. package/lib/core/inference/ValueInference.d.ts.map +1 -1
  127. package/lib/core/inference/ValueInference.js +64 -12
  128. package/lib/core/inference/abc/AbcInference.d.ts +28 -2
  129. package/lib/core/inference/abc/AbcInference.d.ts.map +1 -1
  130. package/lib/core/inference/abc/AbcInference.js +105 -4
  131. package/lib/core/model/ArkBaseModel.d.ts +14 -1
  132. package/lib/core/model/ArkBaseModel.d.ts.map +1 -1
  133. package/lib/core/model/ArkBaseModel.js +61 -2
  134. package/lib/core/model/ArkBody.d.ts.map +1 -1
  135. package/lib/core/model/ArkBody.js +1 -3
  136. package/lib/core/model/ArkClass.d.ts +22 -2
  137. package/lib/core/model/ArkClass.d.ts.map +1 -1
  138. package/lib/core/model/ArkClass.js +59 -28
  139. package/lib/core/model/ArkField.d.ts.map +1 -1
  140. package/lib/core/model/ArkField.js +3 -1
  141. package/lib/core/model/ArkFile.d.ts +4 -1
  142. package/lib/core/model/ArkFile.d.ts.map +1 -1
  143. package/lib/core/model/ArkFile.js +44 -3
  144. package/lib/core/model/ArkImport.d.ts.map +1 -1
  145. package/lib/core/model/ArkImport.js +9 -1
  146. package/lib/core/model/ArkMethod.d.ts +5 -0
  147. package/lib/core/model/ArkMethod.d.ts.map +1 -1
  148. package/lib/core/model/ArkMethod.js +33 -1
  149. package/lib/core/model/ArkNamespace.d.ts +2 -0
  150. package/lib/core/model/ArkNamespace.d.ts.map +1 -1
  151. package/lib/core/model/ArkNamespace.js +11 -0
  152. package/lib/core/model/ArkSignature.d.ts +3 -3
  153. package/lib/core/model/ArkSignature.d.ts.map +1 -1
  154. package/lib/core/model/ArkSignature.js +14 -9
  155. package/lib/core/model/builder/ArkClassBuilder.d.ts +2 -0
  156. package/lib/core/model/builder/ArkClassBuilder.d.ts.map +1 -1
  157. package/lib/core/model/builder/ArkClassBuilder.js +3 -3
  158. package/lib/core/model/builder/ArkMethodBuilder.d.ts +4 -1
  159. package/lib/core/model/builder/ArkMethodBuilder.d.ts.map +1 -1
  160. package/lib/core/model/builder/ArkMethodBuilder.js +19 -6
  161. package/lib/core/model/builder/ArkNamespaceBuilder.d.ts +1 -0
  162. package/lib/core/model/builder/ArkNamespaceBuilder.d.ts.map +1 -1
  163. package/lib/core/model/builder/ArkNamespaceBuilder.js +2 -1
  164. package/lib/core/model/builder/BodyBuilder.d.ts +4 -0
  165. package/lib/core/model/builder/BodyBuilder.d.ts.map +1 -1
  166. package/lib/core/model/builder/builderUtils.d.ts +1 -0
  167. package/lib/core/model/builder/builderUtils.d.ts.map +1 -1
  168. package/lib/core/model/builder/builderUtils.js +7 -3
  169. package/lib/frontend/cppFrontend/ast/ArkCxxAstNode.d.ts +296 -0
  170. package/lib/frontend/cppFrontend/ast/ArkCxxAstNode.d.ts.map +1 -0
  171. package/lib/frontend/cppFrontend/ast/ArkCxxAstNode.js +145 -0
  172. package/lib/frontend/cppFrontend/ast/astUtils.d.ts +51 -0
  173. package/lib/frontend/cppFrontend/ast/astUtils.d.ts.map +1 -0
  174. package/lib/frontend/cppFrontend/ast/astUtils.js +470 -0
  175. package/lib/frontend/cppFrontend/ast/const.d.ts +30 -0
  176. package/lib/frontend/cppFrontend/ast/const.d.ts.map +1 -0
  177. package/lib/frontend/cppFrontend/ast/const.js +134 -0
  178. package/lib/frontend/cppFrontend/base/Constant.d.ts +9 -0
  179. package/lib/frontend/cppFrontend/base/Constant.d.ts.map +1 -0
  180. package/lib/frontend/cppFrontend/base/Constant.js +33 -0
  181. package/lib/frontend/cppFrontend/base/Expr.d.ts +174 -0
  182. package/lib/frontend/cppFrontend/base/Expr.d.ts.map +1 -0
  183. package/lib/frontend/cppFrontend/base/Expr.js +530 -0
  184. package/lib/frontend/cppFrontend/base/Ref.d.ts +25 -0
  185. package/lib/frontend/cppFrontend/base/Ref.d.ts.map +1 -0
  186. package/lib/frontend/cppFrontend/base/Ref.js +53 -0
  187. package/lib/frontend/cppFrontend/base/Trap.d.ts +8 -0
  188. package/lib/frontend/cppFrontend/base/Trap.d.ts.map +1 -0
  189. package/lib/frontend/cppFrontend/base/Trap.js +28 -0
  190. package/lib/frontend/cppFrontend/base/Type.d.ts +264 -0
  191. package/lib/frontend/cppFrontend/base/Type.d.ts.map +1 -0
  192. package/lib/frontend/cppFrontend/base/Type.js +600 -0
  193. package/lib/frontend/cppFrontend/common/ArkIRTransformer.d.ts +109 -0
  194. package/lib/frontend/cppFrontend/common/ArkIRTransformer.d.ts.map +1 -0
  195. package/lib/frontend/cppFrontend/common/ArkIRTransformer.js +925 -0
  196. package/lib/frontend/cppFrontend/common/ArkValueTransformer.d.ts +477 -0
  197. package/lib/frontend/cppFrontend/common/ArkValueTransformer.d.ts.map +1 -0
  198. package/lib/frontend/cppFrontend/common/ArkValueTransformer.js +2746 -0
  199. package/lib/frontend/cppFrontend/common/Builtin.d.ts +57 -0
  200. package/lib/frontend/cppFrontend/common/Builtin.d.ts.map +1 -0
  201. package/lib/frontend/cppFrontend/common/Builtin.js +106 -0
  202. package/lib/frontend/cppFrontend/common/IRInference.d.ts +94 -0
  203. package/lib/frontend/cppFrontend/common/IRInference.d.ts.map +1 -0
  204. package/lib/frontend/cppFrontend/common/IRInference.js +1087 -0
  205. package/lib/frontend/cppFrontend/common/IRUtils.d.ts +23 -0
  206. package/lib/frontend/cppFrontend/common/IRUtils.d.ts.map +1 -0
  207. package/lib/frontend/cppFrontend/common/IRUtils.js +168 -0
  208. package/lib/frontend/cppFrontend/common/ModelUtils.d.ts +44 -0
  209. package/lib/frontend/cppFrontend/common/ModelUtils.d.ts.map +1 -0
  210. package/lib/frontend/cppFrontend/common/ModelUtils.js +567 -0
  211. package/lib/frontend/cppFrontend/common/TypeInference.d.ts +278 -0
  212. package/lib/frontend/cppFrontend/common/TypeInference.d.ts.map +1 -0
  213. package/lib/frontend/cppFrontend/common/TypeInference.js +1354 -0
  214. package/lib/frontend/cppFrontend/common/ValueUtil.d.ts +16 -0
  215. package/lib/frontend/cppFrontend/common/ValueUtil.d.ts.map +1 -0
  216. package/lib/frontend/cppFrontend/common/ValueUtil.js +61 -0
  217. package/lib/frontend/cppFrontend/graph/builder/CfgBuilder.d.ts +182 -0
  218. package/lib/frontend/cppFrontend/graph/builder/CfgBuilder.d.ts.map +1 -0
  219. package/lib/frontend/cppFrontend/graph/builder/CfgBuilder.js +1435 -0
  220. package/lib/frontend/cppFrontend/graph/builder/ConditionBuilder.d.ts +21 -0
  221. package/lib/frontend/cppFrontend/graph/builder/ConditionBuilder.d.ts.map +1 -0
  222. package/lib/frontend/cppFrontend/graph/builder/ConditionBuilder.js +303 -0
  223. package/lib/frontend/cppFrontend/graph/builder/IfBuilder.d.ts +15 -0
  224. package/lib/frontend/cppFrontend/graph/builder/IfBuilder.d.ts.map +1 -0
  225. package/lib/frontend/cppFrontend/graph/builder/IfBuilder.js +161 -0
  226. package/lib/frontend/cppFrontend/graph/builder/LoopBuilder.d.ts +21 -0
  227. package/lib/frontend/cppFrontend/graph/builder/LoopBuilder.d.ts.map +1 -0
  228. package/lib/frontend/cppFrontend/graph/builder/LoopBuilder.js +261 -0
  229. package/lib/frontend/cppFrontend/graph/builder/SwitchBuilder.d.ts +12 -0
  230. package/lib/frontend/cppFrontend/graph/builder/SwitchBuilder.d.ts.map +1 -0
  231. package/lib/frontend/cppFrontend/graph/builder/SwitchBuilder.js +155 -0
  232. package/lib/frontend/cppFrontend/graph/builder/TrapBuilder.d.ts +29 -0
  233. package/lib/frontend/cppFrontend/graph/builder/TrapBuilder.d.ts.map +1 -0
  234. package/lib/frontend/cppFrontend/graph/builder/TrapBuilder.js +302 -0
  235. package/lib/frontend/cppFrontend/inference/CxxInference.d.ts +10 -0
  236. package/lib/frontend/cppFrontend/inference/CxxInference.d.ts.map +1 -0
  237. package/lib/frontend/cppFrontend/inference/CxxInference.js +41 -0
  238. package/lib/frontend/cppFrontend/inference/CxxModelInference.d.ts +28 -0
  239. package/lib/frontend/cppFrontend/inference/CxxModelInference.d.ts.map +1 -0
  240. package/lib/frontend/cppFrontend/inference/CxxModelInference.js +98 -0
  241. package/lib/frontend/cppFrontend/inference/CxxValueInference.d.ts +20 -0
  242. package/lib/frontend/cppFrontend/inference/CxxValueInference.d.ts.map +1 -0
  243. package/lib/frontend/cppFrontend/inference/CxxValueInference.js +128 -0
  244. package/lib/frontend/cppFrontend/model/builder/ArkClassBuilder.d.ts +11 -0
  245. package/lib/frontend/cppFrontend/model/builder/ArkClassBuilder.d.ts.map +1 -0
  246. package/lib/frontend/cppFrontend/model/builder/ArkClassBuilder.js +413 -0
  247. package/lib/frontend/cppFrontend/model/builder/ArkFieldBuilder.d.ts +5 -0
  248. package/lib/frontend/cppFrontend/model/builder/ArkFieldBuilder.d.ts.map +1 -0
  249. package/lib/frontend/cppFrontend/model/builder/ArkFieldBuilder.js +61 -0
  250. package/lib/frontend/cppFrontend/model/builder/ArkFileBuilder.d.ts +17 -0
  251. package/lib/frontend/cppFrontend/model/builder/ArkFileBuilder.d.ts.map +1 -0
  252. package/lib/frontend/cppFrontend/model/builder/ArkFileBuilder.js +285 -0
  253. package/lib/frontend/cppFrontend/model/builder/ArkImportBuilder.d.ts +6 -0
  254. package/lib/frontend/cppFrontend/model/builder/ArkImportBuilder.d.ts.map +1 -0
  255. package/lib/frontend/cppFrontend/model/builder/ArkImportBuilder.js +57 -0
  256. package/lib/frontend/cppFrontend/model/builder/ArkMethodBuilder.d.ts +14 -0
  257. package/lib/frontend/cppFrontend/model/builder/ArkMethodBuilder.d.ts.map +1 -0
  258. package/lib/frontend/cppFrontend/model/builder/ArkMethodBuilder.js +422 -0
  259. package/lib/frontend/cppFrontend/model/builder/ArkNamespaceBuilder.d.ts +8 -0
  260. package/lib/frontend/cppFrontend/model/builder/ArkNamespaceBuilder.d.ts.map +1 -0
  261. package/lib/frontend/cppFrontend/model/builder/ArkNamespaceBuilder.js +194 -0
  262. package/lib/frontend/cppFrontend/model/builder/BodyBuilder.d.ts +59 -0
  263. package/lib/frontend/cppFrontend/model/builder/BodyBuilder.d.ts.map +1 -0
  264. package/lib/frontend/cppFrontend/model/builder/BodyBuilder.js +605 -0
  265. package/lib/frontend/cppFrontend/model/builder/builderUtils.d.ts +46 -0
  266. package/lib/frontend/cppFrontend/model/builder/builderUtils.d.ts.map +1 -0
  267. package/lib/frontend/cppFrontend/model/builder/builderUtils.js +499 -0
  268. package/lib/frontend/cppFrontend/utils/cmakeUtils.d.ts +44 -0
  269. package/lib/frontend/cppFrontend/utils/cmakeUtils.d.ts.map +1 -0
  270. package/lib/frontend/cppFrontend/utils/cmakeUtils.js +240 -0
  271. package/lib/index.d.ts +1 -0
  272. package/lib/index.d.ts.map +1 -1
  273. package/lib/index.js +7 -1
  274. package/lib/node_modules/ohos-typescript/.ohos-typescript-version +1 -0
  275. package/{node_modules → lib/node_modules}/ohos-typescript/package.json +2 -1
  276. package/lib/save/CGJsonPrinter.d.ts +8 -0
  277. package/lib/save/CGJsonPrinter.d.ts.map +1 -0
  278. package/lib/save/CGJsonPrinter.js +41 -0
  279. package/lib/save/GraphPrinter.js +2 -2
  280. package/lib/save/json/JsonDto.d.ts +86 -2
  281. package/lib/save/json/JsonDto.d.ts.map +1 -1
  282. package/lib/save/json/JsonSerialization.d.ts +1 -1
  283. package/lib/save/json/JsonSerialization.d.ts.map +1 -1
  284. package/lib/save/json/JsonSerialization.js +235 -145
  285. package/lib/save/source/SourceTransformer.d.ts.map +1 -1
  286. package/lib/save/source/SourceTransformer.js +0 -3
  287. package/lib/utils/CxxSceneUtils.d.ts +11 -0
  288. package/lib/utils/CxxSceneUtils.d.ts.map +1 -0
  289. package/lib/utils/CxxSceneUtils.js +178 -0
  290. package/lib/utils/FileUtils.d.ts +7 -8
  291. package/lib/utils/FileUtils.d.ts.map +1 -1
  292. package/lib/utils/FileUtils.js +27 -45
  293. package/lib/utils/LRUCacheDecorator.d.ts +20 -0
  294. package/lib/utils/LRUCacheDecorator.d.ts.map +1 -0
  295. package/lib/utils/LRUCacheDecorator.js +89 -0
  296. package/lib/utils/ModuleUtils.d.ts +39 -0
  297. package/lib/utils/ModuleUtils.d.ts.map +1 -0
  298. package/lib/utils/ModuleUtils.js +261 -0
  299. package/package.json +15 -12
  300. /package/{node_modules → lib/node_modules}/ohos-typescript/LICENSE +0 -0
  301. /package/{node_modules → lib/node_modules}/ohos-typescript/README.OpenSource +0 -0
  302. /package/{node_modules → lib/node_modules}/ohos-typescript/README.md +0 -0
  303. /package/{node_modules → lib/node_modules}/ohos-typescript/SECURITY.md +0 -0
  304. /package/{node_modules → lib/node_modules}/ohos-typescript/ThirdPartyNoticeText.txt +0 -0
  305. /package/{node_modules → lib/node_modules}/ohos-typescript/bin/tsc +0 -0
  306. /package/{node_modules → lib/node_modules}/ohos-typescript/bin/tsserver +0 -0
  307. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/README.md +0 -0
  308. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/cancellationToken.js +0 -0
  309. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/cs/diagnosticMessages.generated.json +0 -0
  310. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/de/diagnosticMessages.generated.json +0 -0
  311. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/es/diagnosticMessages.generated.json +0 -0
  312. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/fr/diagnosticMessages.generated.json +0 -0
  313. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/it/diagnosticMessages.generated.json +0 -0
  314. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/ja/diagnosticMessages.generated.json +0 -0
  315. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/ko/diagnosticMessages.generated.json +0 -0
  316. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.d.ts +0 -0
  317. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.dom.d.ts +0 -0
  318. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.dom.iterable.d.ts +0 -0
  319. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2015.collection.d.ts +0 -0
  320. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2015.core.d.ts +0 -0
  321. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2015.d.ts +0 -0
  322. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2015.generator.d.ts +0 -0
  323. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2015.iterable.d.ts +0 -0
  324. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2015.promise.d.ts +0 -0
  325. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2015.proxy.d.ts +0 -0
  326. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2015.reflect.d.ts +0 -0
  327. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2015.symbol.d.ts +0 -0
  328. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2015.symbol.wellknown.d.ts +0 -0
  329. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2016.array.include.d.ts +0 -0
  330. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2016.d.ts +0 -0
  331. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2016.full.d.ts +0 -0
  332. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2017.d.ts +0 -0
  333. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2017.full.d.ts +0 -0
  334. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2017.intl.d.ts +0 -0
  335. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2017.object.d.ts +0 -0
  336. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2017.sharedmemory.d.ts +0 -0
  337. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2017.string.d.ts +0 -0
  338. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2017.typedarrays.d.ts +0 -0
  339. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2018.asyncgenerator.d.ts +0 -0
  340. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2018.asynciterable.d.ts +0 -0
  341. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2018.d.ts +0 -0
  342. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2018.full.d.ts +0 -0
  343. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2018.intl.d.ts +0 -0
  344. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2018.promise.d.ts +0 -0
  345. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2018.regexp.d.ts +0 -0
  346. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2019.array.d.ts +0 -0
  347. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2019.d.ts +0 -0
  348. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2019.full.d.ts +0 -0
  349. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2019.intl.d.ts +0 -0
  350. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2019.object.d.ts +0 -0
  351. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2019.string.d.ts +0 -0
  352. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2019.symbol.d.ts +0 -0
  353. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2020.bigint.d.ts +0 -0
  354. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2020.d.ts +0 -0
  355. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2020.date.d.ts +0 -0
  356. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2020.full.d.ts +0 -0
  357. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2020.intl.d.ts +0 -0
  358. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2020.number.d.ts +0 -0
  359. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2020.promise.d.ts +0 -0
  360. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2020.sharedmemory.d.ts +0 -0
  361. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2020.string.d.ts +0 -0
  362. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2020.symbol.wellknown.d.ts +0 -0
  363. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2021.d.ts +0 -0
  364. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2021.full.d.ts +0 -0
  365. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2021.intl.d.ts +0 -0
  366. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2021.promise.d.ts +0 -0
  367. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2021.string.d.ts +0 -0
  368. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2021.weakref.d.ts +0 -0
  369. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2022.array.d.ts +0 -0
  370. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2022.d.ts +0 -0
  371. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2022.error.d.ts +0 -0
  372. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2022.full.d.ts +0 -0
  373. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2022.intl.d.ts +0 -0
  374. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2022.object.d.ts +0 -0
  375. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2022.sharedmemory.d.ts +0 -0
  376. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2022.string.d.ts +0 -0
  377. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es5.d.ts +0 -0
  378. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es6.d.ts +0 -0
  379. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.esnext.d.ts +0 -0
  380. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.esnext.full.d.ts +0 -0
  381. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.esnext.intl.d.ts +0 -0
  382. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.scripthost.d.ts +0 -0
  383. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.webworker.d.ts +0 -0
  384. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.webworker.importscripts.d.ts +0 -0
  385. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.webworker.iterable.d.ts +0 -0
  386. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/pl/diagnosticMessages.generated.json +0 -0
  387. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/pt-br/diagnosticMessages.generated.json +0 -0
  388. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/ru/diagnosticMessages.generated.json +0 -0
  389. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/tr/diagnosticMessages.generated.json +0 -0
  390. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/tsc.js +0 -0
  391. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/tsserver.js +0 -0
  392. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/tsserverlibrary.d.ts +0 -0
  393. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/tsserverlibrary.js +0 -0
  394. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/typesMap.json +0 -0
  395. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/typescript.d.ts +0 -0
  396. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/typescript.js +0 -0
  397. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/typingsInstaller.js +0 -0
  398. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/watchGuard.js +0 -0
  399. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/zh-cn/diagnosticMessages.generated.json +0 -0
  400. /package/{node_modules → lib/node_modules}/ohos-typescript/lib/zh-tw/diagnosticMessages.generated.json +0 -0
@@ -0,0 +1,296 @@
1
+ /** Position information (line/column/offset/length) */
2
+ export interface CxxPosition {
3
+ line: number;
4
+ col: number;
5
+ offset?: number;
6
+ tokLen?: number;
7
+ }
8
+ /** Source code range */
9
+ export interface CxxRange {
10
+ begin: CxxPosition;
11
+ end: CxxPosition;
12
+ spellingLoc?: SpellingLoc;
13
+ expansionLoc?: CxxPosition;
14
+ }
15
+ /** Type information */
16
+ export interface CxxTypeInfo {
17
+ type?: string;
18
+ qualType: string;
19
+ desugaredQualType?: string;
20
+ typeAliasDeclId?: number;
21
+ typeAliasDeclQualifiedName?: string;
22
+ }
23
+ export interface CxxAliasInfo {
24
+ declCode?: string;
25
+ range?: CxxRange;
26
+ }
27
+ /** Target information for DeclRef */
28
+ export interface CxxReferencedDecl {
29
+ kind?: string;
30
+ name?: string;
31
+ type?: CxxTypeInfo;
32
+ alias?: CxxAliasInfo;
33
+ }
34
+ /** Target information for CXXCtorInitializer */
35
+ export interface CxxCtorAnyInit {
36
+ kind: 'FieldDecl';
37
+ name: string;
38
+ type?: CxxTypeInfo;
39
+ }
40
+ /** Target information for enclosingFunction */
41
+ export interface CxxEnclosingFunction {
42
+ id?: number;
43
+ kind?: string;
44
+ name?: string;
45
+ range?: CxxRange;
46
+ }
47
+ /** Spelling Location related to macros or inclusion directive */
48
+ export interface SpellingLoc extends CxxPosition {
49
+ file?: string;
50
+ }
51
+ /** Target information for UsingDirectiveDecl */
52
+ export interface NominatedNamespace {
53
+ id: number;
54
+ kind: string;
55
+ name: string;
56
+ }
57
+ /** Target information for dtor */
58
+ export interface DtorType {
59
+ id?: number;
60
+ kind?: string;
61
+ name?: string;
62
+ type?: CxxTypeInfo;
63
+ }
64
+ /** Target information for Inclusion Directive */
65
+ export interface CxxIncludeInfo {
66
+ code: string;
67
+ fileName?: string;
68
+ includeName: string;
69
+ includedFrom: string;
70
+ isAngled: boolean;
71
+ kind: string;
72
+ loc: SpellingLoc;
73
+ relativePath: string;
74
+ searchPath: string;
75
+ }
76
+ export type CxxAstNodeLite = Omit<CxxAstNode, 'inner'>;
77
+ /** General C++ AST node (compatible with Clang JSON) */
78
+ export interface CxxAstNode {
79
+ /** Unique node ID */
80
+ id?: string;
81
+ /** Unique node ID */
82
+ originalId?: string;
83
+ /** Is there any initialization of member variables */
84
+ hasInClassInitializer?: boolean;
85
+ /** Node kind (e.g., "TranslationUnit", "FunctionDecl", "CXXConstructExpr", etc.) */
86
+ kind: string;
87
+ /** Node name (function/variable/type/operator name, etc.) */
88
+ name: string;
89
+ /** Source code snippet */
90
+ code: string;
91
+ /** Type information */
92
+ type: CxxTypeInfo;
93
+ /** Mangled name (injected by getMemberInClassName for methods/constructors/destructors) */
94
+ mangledName?: string;
95
+ /** Tag: class/struct/union/enum (injected by fillNodeKindTag) */
96
+ tagUsed?: string;
97
+ /** Stores implicit markers such as UsingDirective */
98
+ isImplicit?: boolean;
99
+ /** Storage class (e.g., "static" for member VarDecl) */
100
+ storageClass?: string;
101
+ /** The access modifier of class member stored in 'AccessSpecDecl' node. (e.g., public or private)*/
102
+ access?: string;
103
+ /** Target information parsed from DeclRef */
104
+ referencedDecl?: CxxReferencedDecl;
105
+ /** Literal value (IntegerLiteral/StringLiteral/BoolLiteral) */
106
+ value?: string;
107
+ /** Value category ("prvalue"/"lvalue"... default is "prvalue") */
108
+ valueCategory?: string;
109
+ /** Derived information: unary/binary operator */
110
+ opcode?: string;
111
+ op?: string;
112
+ isPostfix?: boolean;
113
+ /** Whether MemberExpr is accessed via -> */
114
+ isArrow?: boolean;
115
+ /** Annotation for new[] */
116
+ isArray?: boolean;
117
+ arraySizes?: string[];
118
+ /** Special expression annotations (trait/noexcept/typeid/atomic) */
119
+ traitFunc?: string;
120
+ traitArgs?: string;
121
+ noexceptArg?: string;
122
+ typeArg?: CxxTypeInfo;
123
+ atomicFunc?: string;
124
+ /** Annotation for pseudo-destructor expression */
125
+ pseudoDestructorType?: string;
126
+ /** Result of goto -> label resolution */
127
+ targetLabelId?: number;
128
+ /** Specific to CXXCtorInitializer */
129
+ anyInit?: CxxCtorAnyInit;
130
+ baseInit?: CxxTypeInfo;
131
+ /** Specific to UsingDirectiveDecl */
132
+ nominatedNamespace?: NominatedNamespace;
133
+ /** Header/include relationship related */
134
+ includes?: CxxIncludeInfo[];
135
+ /** Simple location (line/column); some nodes may not have this */
136
+ loc?: {
137
+ file?: string;
138
+ line?: number;
139
+ col?: number;
140
+ spellingLoc?: SpellingLoc;
141
+ expansionLoc?: CxxPosition;
142
+ };
143
+ /** Precise range (begin/end includes offset and tokLen) */
144
+ range?: CxxRange;
145
+ /** Child nodes */
146
+ inner: CxxAstNode[];
147
+ /**
148
+ * Root node may additionally carry: nodes from user includes aggregated here
149
+ * (filled by filterToMainFileOnly(); also present in sample JSON)
150
+ */
151
+ headerUnits?: CxxAstNode[];
152
+ typeArguments?: string[];
153
+ default?: string;
154
+ parent?: CxxAstNode;
155
+ getParent?: {
156
+ (isNeedInner: true): CxxAstNode;
157
+ (isNeedInner?: false): CxxAstNodeLite;
158
+ };
159
+ modifiers?: string[];
160
+ enclosingFunction?: CxxEnclosingFunction;
161
+ /** Reserved for future fields */
162
+ [key: string]: unknown;
163
+ defaultArg?: defaultArg;
164
+ bases?: classBase[];
165
+ dtor?: DtorType;
166
+ }
167
+ /** root type */
168
+ export interface CxxTranslationUnit extends CxxAstNode {
169
+ kind: 'TranslationUnit' | 'TranslationUnitDecl';
170
+ fileName?: string;
171
+ headerUnits?: CxxAstNode[];
172
+ projectName?: string;
173
+ }
174
+ export declare function getNodeAt(node: CxxAstNode, index: number): CxxAstNode | undefined;
175
+ /** Get the starting line and column numbers of the ast node, Default LineColPosition is (0, 0). */
176
+ export declare function getNodeStartLineAndCol(node: CxxAstNode): CxxPosition;
177
+ export interface defaultArg {
178
+ kind: string;
179
+ type: CxxTypeInfo;
180
+ }
181
+ export interface classBase {
182
+ access: string;
183
+ type: CxxTypeInfo;
184
+ isVirtual?: boolean;
185
+ writtenAccess?: string;
186
+ }
187
+ export declare enum astKind {
188
+ ArraySubscriptExpr = "ArraySubscriptExpr",
189
+ ArrayTypeTraitExpr = "ArrayTypeTraitExpr",
190
+ AtomicCallExpr = "AtomicCallExpr",
191
+ BinaryConditionalOperator = "BinaryConditionalOperator",
192
+ BinaryOperator = "BinaryOperator",
193
+ BindingDecl = "BindingDecl",
194
+ BreakStmt = "BreakStmt",
195
+ CallExpr = "CallExpr",
196
+ CaseStmt = "CaseStmt",
197
+ CharacterLiteral = "CharacterLiteral",
198
+ ClassTemplateDecl = "ClassTemplateDecl",
199
+ CompoundAssignOperator = "CompoundAssignOperator",
200
+ CompoundLiteralExpr = "CompoundLiteralExpr",
201
+ CompoundStmt = "CompoundStmt",
202
+ ConditionalOperator = "ConditionalOperator",
203
+ ConstantExpr = "ConstantExpr",
204
+ ContinueStmt = "ContinueStmt",
205
+ CStyleCastExpr = "CStyleCastExpr",
206
+ CXXBindTemporaryExpr = "CXXBindTemporaryExpr",
207
+ CXXBoolLiteralExpr = "CXXBoolLiteralExpr",
208
+ CXXCatchStmt = "CXXCatchStmt",
209
+ CXXConstCastExpr = "CXXConstCastExpr",
210
+ CXXConstructorDecl = "CXXConstructorDecl",
211
+ CXXConstructExpr = "CXXConstructExpr",
212
+ CXXCtorInitializer = "CXXCtorInitializer",
213
+ CXXDefaultArgExpr = "CXXDefaultArgExpr",
214
+ CXXDeleteExpr = "CXXDeleteExpr",
215
+ CXXDestructorDecl = "CXXDestructorDecl",
216
+ CXXDynamicCastExpr = "CXXDynamicCastExpr",
217
+ CXXFoldExpr = "CXXFoldExpr",
218
+ CXXForRangeStmt = "CXXForRangeStmt",
219
+ CXXFunctionalCastExpr = "CXXFunctionalCastExpr",
220
+ CXXInheritedCtorInitExpr = "CXXInheritedCtorInitExpr",
221
+ CXXMemberCallExpr = "CXXMemberCallExpr",
222
+ CXXMethodDecl = "CXXMethodDecl",
223
+ CXXNewExpr = "CXXNewExpr",
224
+ CXXNoexceptExpr = "CXXNoexceptExpr",
225
+ CXXNullPtrLiteralExpr = "CXXNullPtrLiteralExpr",
226
+ CXXOperatorCallExpr = "CXXOperatorCallExpr",
227
+ CXXPseudoDestructorExpression = "CXXPseudoDestructorExpression",
228
+ CXXRecordDecl = "CXXRecordDecl",
229
+ CXXReinterpretCastExpr = "CXXReinterpretCastExpr",
230
+ CXXRewrittenBinaryOperator = "CXXRewrittenBinaryOperator",
231
+ CXXScalarValueInitExpr = "CXXScalarValueInitExpr",
232
+ CXXStaticCastExpr = "CXXStaticCastExpr",
233
+ CXXStdInitializerListExpr = "CXXStdInitializerListExpr",
234
+ CXXTemporaryObjectExpr = "CXXTemporaryObjectExpr",
235
+ CXXThisExpr = "CXXThisExpr",
236
+ CXXThrowExpr = "CXXThrowExpr",
237
+ CXXTryStmt = "CXXTryStmt",
238
+ CXXTypeidExpr = "CXXTypeidExpr",
239
+ DeclRefExpr = "DeclRefExpr",
240
+ DeclStmt = "DeclStmt",
241
+ DecompositionDecl = "DecompositionDecl",
242
+ DefaultStmt = "DefaultStmt",
243
+ DesignatedInitExpr = "DesignatedInitExpr",
244
+ DoStmt = "DoStmt",
245
+ EnumDecl = "EnumDecl",
246
+ EnumConstantDecl = "EnumConstantDecl",
247
+ ExprWithCleanups = "ExprWithCleanups",
248
+ FloatingLiteral = "FloatingLiteral",
249
+ ForStmt = "ForStmt",
250
+ FriendDecl = "FriendDecl",
251
+ FunctionDecl = "FunctionDecl",
252
+ FunctionTemplateDecl = "FunctionTemplateDecl",
253
+ GotoStmt = "GotoStmt",
254
+ IfStmt = "IfStmt",
255
+ ImplicitCastExpr = "ImplicitCastExpr",
256
+ IndirectGotoStmt = "IndirectGotoStmt",
257
+ InitListExpr = "InitListExpr",
258
+ IntegerLiteral = "IntegerLiteral",
259
+ LabelStmt = "LabelStmt",
260
+ LambdaExpr = "LambdaExpr",
261
+ LinkageSpecDecl = "LinkageSpecDecl",
262
+ MaterializeTemporaryExpr = "MaterializeTemporaryExpr",
263
+ MemberExpr = "MemberExpr",
264
+ MemberRef = "MemberRef",
265
+ NamespaceRef = "NamespaceRef",
266
+ NamespaceDecl = "NamespaceDecl",
267
+ NonTypeTemplateParmDecl = "NonTypeTemplateParmDecl",
268
+ NullStmt = "NullStmt",
269
+ OverloadedDeclRef = "OverloadedDeclRef",
270
+ ParenExpr = "ParenExpr",
271
+ ParenListExpr = "ParenListExpr",
272
+ ParentExpr = "ParentExpr",
273
+ ParmVarDecl = "ParmVarDecl",
274
+ RecordDecl = "RecordDecl",
275
+ RecoveryExpr = "RecoveryExpr",
276
+ ReturnStmt = "ReturnStmt",
277
+ StringLiteral = "StringLiteral",
278
+ SwitchStmt = "SwitchStmt",
279
+ TemplateRef = "TemplateRef",
280
+ TemplateTypeParmDecl = "TemplateTypeParmDecl",
281
+ TranslationUnitDecl = "TranslationUnitDecl",
282
+ TypeAliasDecl = "TypeAliasDecl",
283
+ TypeAliasTemplateDecl = "TypeAliasTemplateDecl",
284
+ TypedefDecl = "TypedefDecl",
285
+ TypeRef = "TypeRef",
286
+ UnaryExprOrTypeTraitExpr = "UnaryExprOrTypeTraitExpr",
287
+ UnaryOperator = "UnaryOperator",
288
+ UnexposedExpr = "UnexposedExpr",
289
+ UnresolvedLookupExpr = "UnresolvedLookupExpr",
290
+ unsupported_kind = "unsupported kind",
291
+ UserDefinedLiteral = "UserDefinedLiteral",
292
+ UsingDirectiveDecl = "UsingDirectiveDecl",
293
+ VarDecl = "VarDecl",
294
+ WhileStmt = "WhileStmt"
295
+ }
296
+ //# sourceMappingURL=ArkCxxAstNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArkCxxAstNode.d.ts","sourceRoot":"","sources":["../../../../src/frontend/cppFrontend/ast/ArkCxxAstNode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2025 Huawei Device Co., Ltd.
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.astKind = exports.getNodeStartLineAndCol = exports.getNodeAt = void 0;
18
+ function getNodeAt(node, index) {
19
+ var _a;
20
+ // Unified Border Protection Inspection
21
+ if (!((_a = node === null || node === void 0 ? void 0 : node.inner) === null || _a === void 0 ? void 0 : _a.length) || index < 0 || index >= node.inner.length) {
22
+ return undefined;
23
+ }
24
+ return node.inner[index];
25
+ }
26
+ exports.getNodeAt = getNodeAt;
27
+ /** Get the starting line and column numbers of the ast node, Default LineColPosition is (0, 0). */
28
+ function getNodeStartLineAndCol(node) {
29
+ var _a, _b, _c, _d, _e, _f, _g, _h;
30
+ if (((_a = node.loc) === null || _a === void 0 ? void 0 : _a.line) && ((_b = node.loc) === null || _b === void 0 ? void 0 : _b.col)) {
31
+ return { line: node.loc.line, col: node.loc.col };
32
+ }
33
+ return (_h = (_f = (_d = (_c = node.loc) === null || _c === void 0 ? void 0 : _c.expansionLoc) !== null && _d !== void 0 ? _d : (_e = node.range) === null || _e === void 0 ? void 0 : _e.begin) !== null && _f !== void 0 ? _f : (_g = node.range) === null || _g === void 0 ? void 0 : _g.expansionLoc) !== null && _h !== void 0 ? _h : { line: 0, col: 0 };
34
+ }
35
+ exports.getNodeStartLineAndCol = getNodeStartLineAndCol;
36
+ var astKind;
37
+ (function (astKind) {
38
+ astKind["ArraySubscriptExpr"] = "ArraySubscriptExpr";
39
+ astKind["ArrayTypeTraitExpr"] = "ArrayTypeTraitExpr";
40
+ astKind["AtomicCallExpr"] = "AtomicCallExpr";
41
+ astKind["BinaryConditionalOperator"] = "BinaryConditionalOperator";
42
+ astKind["BinaryOperator"] = "BinaryOperator";
43
+ astKind["BindingDecl"] = "BindingDecl";
44
+ astKind["BreakStmt"] = "BreakStmt";
45
+ astKind["CallExpr"] = "CallExpr";
46
+ astKind["CaseStmt"] = "CaseStmt";
47
+ astKind["CharacterLiteral"] = "CharacterLiteral";
48
+ astKind["ClassTemplateDecl"] = "ClassTemplateDecl";
49
+ astKind["CompoundAssignOperator"] = "CompoundAssignOperator";
50
+ astKind["CompoundLiteralExpr"] = "CompoundLiteralExpr";
51
+ astKind["CompoundStmt"] = "CompoundStmt";
52
+ astKind["ConditionalOperator"] = "ConditionalOperator";
53
+ astKind["ConstantExpr"] = "ConstantExpr";
54
+ astKind["ContinueStmt"] = "ContinueStmt";
55
+ astKind["CStyleCastExpr"] = "CStyleCastExpr";
56
+ astKind["CXXBindTemporaryExpr"] = "CXXBindTemporaryExpr";
57
+ astKind["CXXBoolLiteralExpr"] = "CXXBoolLiteralExpr";
58
+ astKind["CXXCatchStmt"] = "CXXCatchStmt";
59
+ astKind["CXXConstCastExpr"] = "CXXConstCastExpr";
60
+ astKind["CXXConstructorDecl"] = "CXXConstructorDecl";
61
+ astKind["CXXConstructExpr"] = "CXXConstructExpr";
62
+ astKind["CXXCtorInitializer"] = "CXXCtorInitializer";
63
+ astKind["CXXDefaultArgExpr"] = "CXXDefaultArgExpr";
64
+ astKind["CXXDeleteExpr"] = "CXXDeleteExpr";
65
+ astKind["CXXDestructorDecl"] = "CXXDestructorDecl";
66
+ astKind["CXXDynamicCastExpr"] = "CXXDynamicCastExpr";
67
+ astKind["CXXFoldExpr"] = "CXXFoldExpr";
68
+ astKind["CXXForRangeStmt"] = "CXXForRangeStmt";
69
+ astKind["CXXFunctionalCastExpr"] = "CXXFunctionalCastExpr";
70
+ astKind["CXXInheritedCtorInitExpr"] = "CXXInheritedCtorInitExpr";
71
+ astKind["CXXMemberCallExpr"] = "CXXMemberCallExpr";
72
+ astKind["CXXMethodDecl"] = "CXXMethodDecl";
73
+ astKind["CXXNewExpr"] = "CXXNewExpr";
74
+ astKind["CXXNoexceptExpr"] = "CXXNoexceptExpr";
75
+ astKind["CXXNullPtrLiteralExpr"] = "CXXNullPtrLiteralExpr";
76
+ astKind["CXXOperatorCallExpr"] = "CXXOperatorCallExpr";
77
+ astKind["CXXPseudoDestructorExpression"] = "CXXPseudoDestructorExpression";
78
+ astKind["CXXRecordDecl"] = "CXXRecordDecl";
79
+ astKind["CXXReinterpretCastExpr"] = "CXXReinterpretCastExpr";
80
+ astKind["CXXRewrittenBinaryOperator"] = "CXXRewrittenBinaryOperator";
81
+ astKind["CXXScalarValueInitExpr"] = "CXXScalarValueInitExpr";
82
+ astKind["CXXStaticCastExpr"] = "CXXStaticCastExpr";
83
+ astKind["CXXStdInitializerListExpr"] = "CXXStdInitializerListExpr";
84
+ astKind["CXXTemporaryObjectExpr"] = "CXXTemporaryObjectExpr";
85
+ astKind["CXXThisExpr"] = "CXXThisExpr";
86
+ astKind["CXXThrowExpr"] = "CXXThrowExpr";
87
+ astKind["CXXTryStmt"] = "CXXTryStmt";
88
+ astKind["CXXTypeidExpr"] = "CXXTypeidExpr";
89
+ astKind["DeclRefExpr"] = "DeclRefExpr";
90
+ astKind["DeclStmt"] = "DeclStmt";
91
+ astKind["DecompositionDecl"] = "DecompositionDecl";
92
+ astKind["DefaultStmt"] = "DefaultStmt";
93
+ astKind["DesignatedInitExpr"] = "DesignatedInitExpr";
94
+ astKind["DoStmt"] = "DoStmt";
95
+ astKind["EnumDecl"] = "EnumDecl";
96
+ astKind["EnumConstantDecl"] = "EnumConstantDecl";
97
+ astKind["ExprWithCleanups"] = "ExprWithCleanups";
98
+ astKind["FloatingLiteral"] = "FloatingLiteral";
99
+ astKind["ForStmt"] = "ForStmt";
100
+ astKind["FriendDecl"] = "FriendDecl";
101
+ astKind["FunctionDecl"] = "FunctionDecl";
102
+ astKind["FunctionTemplateDecl"] = "FunctionTemplateDecl";
103
+ astKind["GotoStmt"] = "GotoStmt";
104
+ astKind["IfStmt"] = "IfStmt";
105
+ astKind["ImplicitCastExpr"] = "ImplicitCastExpr";
106
+ astKind["IndirectGotoStmt"] = "IndirectGotoStmt";
107
+ astKind["InitListExpr"] = "InitListExpr";
108
+ astKind["IntegerLiteral"] = "IntegerLiteral";
109
+ astKind["LabelStmt"] = "LabelStmt";
110
+ astKind["LambdaExpr"] = "LambdaExpr";
111
+ astKind["LinkageSpecDecl"] = "LinkageSpecDecl";
112
+ astKind["MaterializeTemporaryExpr"] = "MaterializeTemporaryExpr";
113
+ astKind["MemberExpr"] = "MemberExpr";
114
+ astKind["MemberRef"] = "MemberRef";
115
+ astKind["NamespaceRef"] = "NamespaceRef";
116
+ astKind["NamespaceDecl"] = "NamespaceDecl";
117
+ astKind["NonTypeTemplateParmDecl"] = "NonTypeTemplateParmDecl";
118
+ astKind["NullStmt"] = "NullStmt";
119
+ astKind["OverloadedDeclRef"] = "OverloadedDeclRef";
120
+ astKind["ParenExpr"] = "ParenExpr";
121
+ astKind["ParenListExpr"] = "ParenListExpr";
122
+ astKind["ParentExpr"] = "ParentExpr";
123
+ astKind["ParmVarDecl"] = "ParmVarDecl";
124
+ astKind["RecordDecl"] = "RecordDecl";
125
+ astKind["RecoveryExpr"] = "RecoveryExpr";
126
+ astKind["ReturnStmt"] = "ReturnStmt";
127
+ astKind["StringLiteral"] = "StringLiteral";
128
+ astKind["SwitchStmt"] = "SwitchStmt";
129
+ astKind["TemplateRef"] = "TemplateRef";
130
+ astKind["TemplateTypeParmDecl"] = "TemplateTypeParmDecl";
131
+ astKind["TranslationUnitDecl"] = "TranslationUnitDecl";
132
+ astKind["TypeAliasDecl"] = "TypeAliasDecl";
133
+ astKind["TypeAliasTemplateDecl"] = "TypeAliasTemplateDecl";
134
+ astKind["TypedefDecl"] = "TypedefDecl";
135
+ astKind["TypeRef"] = "TypeRef";
136
+ astKind["UnaryExprOrTypeTraitExpr"] = "UnaryExprOrTypeTraitExpr";
137
+ astKind["UnaryOperator"] = "UnaryOperator";
138
+ astKind["UnexposedExpr"] = "UnexposedExpr";
139
+ astKind["UnresolvedLookupExpr"] = "UnresolvedLookupExpr";
140
+ astKind["unsupported_kind"] = "unsupported kind";
141
+ astKind["UserDefinedLiteral"] = "UserDefinedLiteral";
142
+ astKind["UsingDirectiveDecl"] = "UsingDirectiveDecl";
143
+ astKind["VarDecl"] = "VarDecl";
144
+ astKind["WhileStmt"] = "WhileStmt";
145
+ })(astKind = exports.astKind || (exports.astKind = {}));
@@ -0,0 +1,51 @@
1
+ import { CxxAstNode, CxxAstNodeLite } from './ArkCxxAstNode';
2
+ export type GetParentFn = {
3
+ (isNeedInner: true): CxxAstNode;
4
+ (isNeedInner?: false): CxxAstNodeLite;
5
+ };
6
+ export declare class AstUtils {
7
+ private static currentAccess;
8
+ private static deleteFileSync;
9
+ static parse(sourceFile: string, ccJsonPath: string | null, includeDirs: string[] | null, llvmPath: string, cppAstPath: string): CxxAstNode;
10
+ /**
11
+ * Auxiliary method: Try to find and return the root directory of src/main/cpp
12
+ */
13
+ private static resolveProjectRoot;
14
+ /**
15
+ * Auxiliary method: Determine Work Catalog (CWD)
16
+ */
17
+ private static getWorkingDir;
18
+ /**
19
+ * Auxiliary method: Execute Clang process and print debugging logs
20
+ */
21
+ private static runClang;
22
+ /**
23
+ * Auxiliary method: Read and parse the generated AST JSON file
24
+ */
25
+ private static processAstFile;
26
+ private static createEmptyNode;
27
+ private static updateInner;
28
+ private static filter;
29
+ private static filterChildren;
30
+ private static makeGetParent;
31
+ private static fullInfo;
32
+ static extractAllCppModifiers(code: string): string[];
33
+ private static processAccess;
34
+ private static getCodeForExtractModifiers;
35
+ private static stripFucntionParams;
36
+ private static getAstOutputPath;
37
+ private static ensureOutputDir;
38
+ private static getPlatformClang;
39
+ }
40
+ /**
41
+ * Find the absolute path of compile_commands.json starting from a file path.
42
+ * Strict logic: Only traverses upward (ancestors) to find a ".cxx" directory.
43
+ * Does NOT search sibling/uncle directories.
44
+ * Caches the result based on the project root (the directory containing .cxx).
45
+ * CxxTodo :Further confirmation can be made on whether there is a summary of the entire project's ccjson,
46
+ * which only needs to be provided once in the scene build,(the directory containing ./.idea/.deveco/cxx/.cache)
47
+ * * @param filePath Absolute path of the input file
48
+ * @returns Absolute path of compile_commands.json if found, otherwise empty string
49
+ */
50
+ export declare function findCompileCommands(filePath: string): string;
51
+ //# sourceMappingURL=astUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"astUtils.d.ts","sourceRoot":"","sources":["../../../../src/frontend/cppFrontend/ast/astUtils.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAW,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAMtE,MAAM,MAAM,WAAW,GAAG;IACtB,CAAC,WAAW,EAAE,IAAI,GAAG,UAAU,CAAC;IAChC,CAAC,WAAW,CAAC,EAAE,KAAK,GAAG,cAAc,CAAC;CACzC,CAAC;AAEF,qBAAa,QAAQ;IACjB,OAAO,CAAC,MAAM,CAAC,aAAa,CAAc;IAE1C,OAAO,CAAC,MAAM,CAAC,cAAc;WAQf,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,UAAU;IAuClJ;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAoBjC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAa5B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ;IAwBvB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAsB7B,OAAO,CAAC,MAAM,CAAC,eAAe;IAI9B,OAAO,CAAC,MAAM,CAAC,WAAW;IAc1B,OAAO,CAAC,MAAM,CAAC,MAAM;IAYrB,OAAO,CAAC,MAAM,CAAC,cAAc;IAU7B,OAAO,CAAC,MAAM,CAAC,aAAa;IAgB5B,OAAO,CAAC,MAAM,CAAC,QAAQ;IAkCvB,MAAM,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAyBrD,OAAO,CAAC,MAAM,CAAC,aAAa;IAiB5B,OAAO,CAAC,MAAM,CAAC,0BAA0B;IAUzC,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAyBlC,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAQ/B,OAAO,CAAC,MAAM,CAAC,eAAe;IAM9B,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAYlC;AAeD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA+C5D"}