arkanalyzer 1.0.93 → 2.0.0-beta1

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 (326) hide show
  1. package/lib/Config.d.ts +7 -0
  2. package/lib/Config.d.ts.map +1 -1
  3. package/lib/Scene.d.ts +134 -170
  4. package/lib/Scene.d.ts.map +1 -1
  5. package/lib/Scene.js +412 -976
  6. package/lib/callgraph/algorithm/AbstractAnalysis.js +3 -2
  7. package/lib/callgraph/algorithm/RapidTypeAnalysis.d.ts.map +1 -1
  8. package/lib/callgraph/algorithm/RapidTypeAnalysis.js +2 -3
  9. package/lib/callgraph/model/CallGraph.js +1 -1
  10. package/lib/callgraph/pointerAnalysis/PTAUtils.d.ts +1 -3
  11. package/lib/callgraph/pointerAnalysis/PTAUtils.d.ts.map +1 -1
  12. package/lib/callgraph/pointerAnalysis/PTAUtils.js +17 -7
  13. package/lib/callgraph/pointerAnalysis/Pag.d.ts.map +1 -1
  14. package/lib/callgraph/pointerAnalysis/Pag.js +4 -14
  15. package/lib/callgraph/pointerAnalysis/PagBuilder.d.ts.map +1 -1
  16. package/lib/callgraph/pointerAnalysis/PagBuilder.js +2 -1
  17. package/lib/callgraph/pointerAnalysis/PointerAnalysis.d.ts.map +1 -1
  18. package/lib/callgraph/pointerAnalysis/PointerAnalysis.js +1 -2
  19. package/lib/callgraph/pointerAnalysis/plugins/WorkerPlugin.d.ts.map +1 -1
  20. package/lib/callgraph/pointerAnalysis/plugins/WorkerPlugin.js +0 -1
  21. package/lib/cli/commands/cg.d.ts +1 -0
  22. package/lib/cli/commands/cg.d.ts.map +1 -1
  23. package/lib/cli/commands/cg.js +22 -18
  24. package/lib/cli/commands/ir.d.ts +1 -0
  25. package/lib/cli/commands/ir.d.ts.map +1 -1
  26. package/lib/cli/commands/ir.js +5 -2
  27. package/lib/core/base/Constant.d.ts +5 -5
  28. package/lib/core/base/Constant.d.ts.map +1 -1
  29. package/lib/core/base/Constant.js +12 -9
  30. package/lib/core/base/Expr.d.ts +36 -20
  31. package/lib/core/base/Expr.d.ts.map +1 -1
  32. package/lib/core/base/Expr.js +206 -94
  33. package/lib/core/base/Local.d.ts +10 -20
  34. package/lib/core/base/Local.d.ts.map +1 -1
  35. package/lib/core/base/Local.js +25 -28
  36. package/lib/core/base/Position.d.ts +6 -0
  37. package/lib/core/base/Position.d.ts.map +1 -1
  38. package/lib/core/base/Position.js +37 -11
  39. package/lib/core/base/Ref.d.ts +45 -33
  40. package/lib/core/base/Ref.d.ts.map +1 -1
  41. package/lib/core/base/Ref.js +225 -51
  42. package/lib/core/base/Stmt.d.ts +19 -9
  43. package/lib/core/base/Stmt.d.ts.map +1 -1
  44. package/lib/core/base/Stmt.js +135 -52
  45. package/lib/core/base/Type.d.ts +67 -4
  46. package/lib/core/base/Type.d.ts.map +1 -1
  47. package/lib/core/base/Type.js +391 -20
  48. package/lib/core/base/TypeExpr.d.ts +6 -4
  49. package/lib/core/base/TypeExpr.d.ts.map +1 -1
  50. package/lib/core/base/TypeExpr.js +34 -10
  51. package/lib/core/base/Value.d.ts +20 -2
  52. package/lib/core/base/Value.d.ts.map +1 -1
  53. package/lib/core/base/Value.js +12 -0
  54. package/lib/core/common/ArkIRTransformer.d.ts +18 -0
  55. package/lib/core/common/ArkIRTransformer.d.ts.map +1 -1
  56. package/lib/core/common/ArkIRTransformer.js +94 -75
  57. package/lib/core/common/ArkValueTransformer.d.ts +21 -3
  58. package/lib/core/common/ArkValueTransformer.d.ts.map +1 -1
  59. package/lib/core/common/ArkValueTransformer.js +458 -266
  60. package/lib/core/common/Builtin.d.ts +48 -24
  61. package/lib/core/common/Builtin.d.ts.map +1 -1
  62. package/lib/core/common/Builtin.js +90 -52
  63. package/lib/core/common/CanonicalizerValidator.d.ts +308 -0
  64. package/lib/core/common/CanonicalizerValidator.d.ts.map +1 -0
  65. package/lib/core/common/CanonicalizerValidator.js +888 -0
  66. package/lib/core/common/Const.d.ts +3 -3
  67. package/lib/core/common/Const.d.ts.map +1 -1
  68. package/lib/core/common/Const.js +3 -3
  69. package/lib/core/common/DummyMainCreater.d.ts +2 -21
  70. package/lib/core/common/DummyMainCreater.d.ts.map +1 -1
  71. package/lib/core/common/DummyMainCreater.js +8 -105
  72. package/lib/core/common/IRInference.d.ts +55 -3
  73. package/lib/core/common/IRInference.d.ts.map +1 -1
  74. package/lib/core/common/IRInference.js +407 -126
  75. package/lib/core/common/IRUtils.d.ts +1 -0
  76. package/lib/core/common/IRUtils.d.ts.map +1 -1
  77. package/lib/core/common/IRUtils.js +44 -13
  78. package/lib/core/common/ModelUtils.d.ts +44 -20
  79. package/lib/core/common/ModelUtils.d.ts.map +1 -1
  80. package/lib/core/common/ModelUtils.js +378 -208
  81. package/lib/core/common/SdkUtils.d.ts +35 -5
  82. package/lib/core/common/SdkUtils.d.ts.map +1 -1
  83. package/lib/core/common/SdkUtils.js +203 -59
  84. package/lib/core/common/SignatureCanonicalizer.d.ts +95 -0
  85. package/lib/core/common/SignatureCanonicalizer.d.ts.map +1 -0
  86. package/lib/core/common/SignatureCanonicalizer.js +116 -0
  87. package/lib/core/common/SignatureCanonicalizerRegistry.d.ts +176 -0
  88. package/lib/core/common/SignatureCanonicalizerRegistry.d.ts.map +1 -0
  89. package/lib/core/common/SignatureCanonicalizerRegistry.js +343 -0
  90. package/lib/core/common/SignatureModelCanonicalizer.d.ts +69 -0
  91. package/lib/core/common/SignatureModelCanonicalizer.d.ts.map +1 -0
  92. package/lib/core/common/SignatureModelCanonicalizer.js +109 -0
  93. package/lib/core/common/StmtUseReplacer.d.ts +1 -0
  94. package/lib/core/common/StmtUseReplacer.d.ts.map +1 -1
  95. package/lib/core/common/StmtUseReplacer.js +9 -0
  96. package/lib/core/common/StringUtils.d.ts +12 -1
  97. package/lib/core/common/StringUtils.d.ts.map +1 -1
  98. package/lib/core/common/StringUtils.js +36 -17
  99. package/lib/core/common/TempSignatureCanonicalizer.d.ts +82 -0
  100. package/lib/core/common/TempSignatureCanonicalizer.d.ts.map +1 -0
  101. package/lib/core/common/TempSignatureCanonicalizer.js +177 -0
  102. package/lib/core/common/TypeInference.d.ts +24 -6
  103. package/lib/core/common/TypeInference.d.ts.map +1 -1
  104. package/lib/core/common/TypeInference.js +243 -117
  105. package/lib/core/common/ValueUtil.d.ts +2 -1
  106. package/lib/core/common/ValueUtil.d.ts.map +1 -1
  107. package/lib/core/common/ValueUtil.js +4 -1
  108. package/lib/core/graph/Cfg.d.ts.map +1 -1
  109. package/lib/core/graph/Cfg.js +21 -6
  110. package/lib/core/graph/builder/CfgBuilder.d.ts.map +1 -1
  111. package/lib/core/graph/builder/CfgBuilder.js +46 -33
  112. package/lib/core/graph/builder/IfBuilder.d.ts.map +1 -1
  113. package/lib/core/graph/builder/IfBuilder.js +6 -2
  114. package/lib/core/graph/builder/ViewTreeBuilder.d.ts.map +1 -1
  115. package/lib/core/graph/builder/ViewTreeBuilder.js +6 -2
  116. package/lib/core/inference/ModelInference.d.ts +24 -4
  117. package/lib/core/inference/ModelInference.d.ts.map +1 -1
  118. package/lib/core/inference/ModelInference.js +273 -79
  119. package/lib/core/inference/ValueInference.d.ts +3 -2
  120. package/lib/core/inference/ValueInference.d.ts.map +1 -1
  121. package/lib/core/inference/ValueInference.js +90 -40
  122. package/lib/core/inference/abc/AbcInference.d.ts.map +1 -1
  123. package/lib/core/inference/abc/AbcInference.js +28 -15
  124. package/lib/core/inference/arkts/ArkTsInference.d.ts +9 -3
  125. package/lib/core/inference/arkts/ArkTsInference.d.ts.map +1 -1
  126. package/lib/core/inference/arkts/ArkTsInference.js +54 -16
  127. package/lib/core/model/ArkClass.d.ts +192 -18
  128. package/lib/core/model/ArkClass.d.ts.map +1 -1
  129. package/lib/core/model/ArkClass.js +852 -122
  130. package/lib/core/model/ArkExport.d.ts.map +1 -1
  131. package/lib/core/model/ArkExport.js +1 -2
  132. package/lib/core/model/ArkField.d.ts +34 -2
  133. package/lib/core/model/ArkField.d.ts.map +1 -1
  134. package/lib/core/model/ArkField.js +89 -14
  135. package/lib/core/model/ArkFile.d.ts +72 -12
  136. package/lib/core/model/ArkFile.d.ts.map +1 -1
  137. package/lib/core/model/ArkFile.js +275 -65
  138. package/lib/core/model/ArkImport.d.ts.map +1 -1
  139. package/lib/core/model/ArkImport.js +1 -2
  140. package/lib/core/model/ArkMethod.d.ts +101 -15
  141. package/lib/core/model/ArkMethod.d.ts.map +1 -1
  142. package/lib/core/model/ArkMethod.js +252 -39
  143. package/lib/core/model/ArkModule.d.ts +1 -1
  144. package/lib/core/model/ArkModule.js +1 -1
  145. package/lib/core/model/ArkNamespace.d.ts +80 -10
  146. package/lib/core/model/ArkNamespace.d.ts.map +1 -1
  147. package/lib/core/model/ArkNamespace.js +309 -76
  148. package/lib/core/model/ArkSignature.d.ts +242 -18
  149. package/lib/core/model/ArkSignature.d.ts.map +1 -1
  150. package/lib/core/model/ArkSignature.js +725 -95
  151. package/lib/core/model/builder/ArkClassBuilder.d.ts +6 -3
  152. package/lib/core/model/builder/ArkClassBuilder.d.ts.map +1 -1
  153. package/lib/core/model/builder/ArkClassBuilder.js +119 -73
  154. package/lib/core/model/builder/ArkExportBuilder.d.ts +1 -1
  155. package/lib/core/model/builder/ArkExportBuilder.d.ts.map +1 -1
  156. package/lib/core/model/builder/ArkExportBuilder.js +1 -1
  157. package/lib/core/model/builder/ArkFieldBuilder.d.ts +0 -2
  158. package/lib/core/model/builder/ArkFieldBuilder.d.ts.map +1 -1
  159. package/lib/core/model/builder/ArkFieldBuilder.js +9 -43
  160. package/lib/core/model/builder/ArkFileBuilder.d.ts.map +1 -1
  161. package/lib/core/model/builder/ArkFileBuilder.js +32 -33
  162. package/lib/core/model/builder/ArkMethodBuilder.d.ts +10 -3
  163. package/lib/core/model/builder/ArkMethodBuilder.d.ts.map +1 -1
  164. package/lib/core/model/builder/ArkMethodBuilder.js +40 -26
  165. package/lib/core/model/builder/ArkNamespaceBuilder.d.ts +3 -2
  166. package/lib/core/model/builder/ArkNamespaceBuilder.d.ts.map +1 -1
  167. package/lib/core/model/builder/ArkNamespaceBuilder.js +45 -77
  168. package/lib/core/model/builder/ArkSignatureBuilder.d.ts +9 -0
  169. package/lib/core/model/builder/ArkSignatureBuilder.d.ts.map +1 -1
  170. package/lib/core/model/builder/ArkSignatureBuilder.js +26 -3
  171. package/lib/core/model/builder/BodyBuilder.d.ts +1 -0
  172. package/lib/core/model/builder/BodyBuilder.d.ts.map +1 -1
  173. package/lib/core/model/builder/BodyBuilder.js +37 -11
  174. package/lib/core/model/builder/builderUtils.d.ts +11 -1
  175. package/lib/core/model/builder/builderUtils.d.ts.map +1 -1
  176. package/lib/core/model/builder/builderUtils.js +124 -90
  177. package/lib/frontend/FrontendBuilder.d.ts +10 -6
  178. package/lib/frontend/FrontendBuilder.d.ts.map +1 -1
  179. package/lib/frontend/FrontendBuilder.js +19 -45
  180. package/lib/frontend/ModuleScene.d.ts +43 -0
  181. package/lib/frontend/ModuleScene.d.ts.map +1 -0
  182. package/lib/frontend/ModuleScene.js +143 -0
  183. package/lib/frontend/SceneBuildStage.d.ts +15 -0
  184. package/lib/frontend/SceneBuildStage.d.ts.map +1 -0
  185. package/lib/frontend/SceneBuildStage.js +32 -0
  186. package/lib/frontend/SceneBuilder.d.ts +153 -0
  187. package/lib/frontend/SceneBuilder.d.ts.map +1 -0
  188. package/lib/frontend/SceneBuilder.js +859 -0
  189. package/lib/frontend/arktsFrontend/ArktsFrontend.d.ts +0 -2
  190. package/lib/frontend/arktsFrontend/ArktsFrontend.d.ts.map +1 -1
  191. package/lib/frontend/arktsFrontend/ArktsFrontend.js +0 -18
  192. package/lib/frontend/arktsFrontend/FileBodyRemount.d.ts +17 -0
  193. package/lib/frontend/arktsFrontend/FileBodyRemount.d.ts.map +1 -0
  194. package/lib/frontend/arktsFrontend/FileBodyRemount.js +187 -0
  195. package/lib/frontend/common/ModuleBuilder.d.ts +4 -2
  196. package/lib/frontend/common/ModuleBuilder.d.ts.map +1 -1
  197. package/lib/frontend/common/ModuleBuilder.js +19 -9
  198. package/lib/frontend/cppFrontend/CppFrontend.d.ts +0 -6
  199. package/lib/frontend/cppFrontend/CppFrontend.d.ts.map +1 -1
  200. package/lib/frontend/cppFrontend/CppFrontend.js +0 -56
  201. package/lib/frontend/cppFrontend/base/Type.d.ts +7 -0
  202. package/lib/frontend/cppFrontend/base/Type.d.ts.map +1 -1
  203. package/lib/frontend/cppFrontend/base/Type.js +29 -0
  204. package/lib/frontend/cppFrontend/common/ArkIRTransformer.d.ts.map +1 -1
  205. package/lib/frontend/cppFrontend/common/ArkIRTransformer.js +56 -56
  206. package/lib/frontend/cppFrontend/common/ArkValueTransformer.d.ts +1 -1
  207. package/lib/frontend/cppFrontend/common/ArkValueTransformer.d.ts.map +1 -1
  208. package/lib/frontend/cppFrontend/common/ArkValueTransformer.js +124 -113
  209. package/lib/frontend/cppFrontend/common/Builtin.d.ts +29 -19
  210. package/lib/frontend/cppFrontend/common/Builtin.d.ts.map +1 -1
  211. package/lib/frontend/cppFrontend/common/Builtin.js +56 -35
  212. package/lib/frontend/cppFrontend/common/IRInference.d.ts +7 -2
  213. package/lib/frontend/cppFrontend/common/IRInference.d.ts.map +1 -1
  214. package/lib/frontend/cppFrontend/common/IRInference.js +61 -28
  215. package/lib/frontend/cppFrontend/common/IRUtils.d.ts +1 -0
  216. package/lib/frontend/cppFrontend/common/IRUtils.d.ts.map +1 -1
  217. package/lib/frontend/cppFrontend/common/IRUtils.js +22 -10
  218. package/lib/frontend/cppFrontend/common/ModelUtils.d.ts +19 -0
  219. package/lib/frontend/cppFrontend/common/ModelUtils.d.ts.map +1 -1
  220. package/lib/frontend/cppFrontend/common/ModelUtils.js +84 -3
  221. package/lib/frontend/cppFrontend/common/TypeInference.d.ts.map +1 -1
  222. package/lib/frontend/cppFrontend/common/TypeInference.js +44 -54
  223. package/lib/frontend/cppFrontend/graph/builder/CfgBuilder.d.ts.map +1 -1
  224. package/lib/frontend/cppFrontend/graph/builder/CfgBuilder.js +2 -1
  225. package/lib/frontend/cppFrontend/inference/CxxModelInference.d.ts +1 -1
  226. package/lib/frontend/cppFrontend/inference/CxxModelInference.d.ts.map +1 -1
  227. package/lib/frontend/cppFrontend/inference/CxxValueInference.d.ts.map +1 -1
  228. package/lib/frontend/cppFrontend/inference/CxxValueInference.js +41 -5
  229. package/lib/frontend/cppFrontend/model/builder/ArkClassBuilder.d.ts.map +1 -1
  230. package/lib/frontend/cppFrontend/model/builder/ArkClassBuilder.js +18 -28
  231. package/lib/frontend/cppFrontend/model/builder/ArkFieldBuilder.d.ts.map +1 -1
  232. package/lib/frontend/cppFrontend/model/builder/ArkFieldBuilder.js +2 -3
  233. package/lib/frontend/cppFrontend/model/builder/ArkFileBuilder.d.ts +2 -2
  234. package/lib/frontend/cppFrontend/model/builder/ArkFileBuilder.d.ts.map +1 -1
  235. package/lib/frontend/cppFrontend/model/builder/ArkFileBuilder.js +31 -24
  236. package/lib/frontend/cppFrontend/model/builder/ArkMethodBuilder.d.ts.map +1 -1
  237. package/lib/frontend/cppFrontend/model/builder/ArkMethodBuilder.js +10 -16
  238. package/lib/frontend/cppFrontend/model/builder/ArkNamespaceBuilder.d.ts +0 -2
  239. package/lib/frontend/cppFrontend/model/builder/ArkNamespaceBuilder.d.ts.map +1 -1
  240. package/lib/frontend/cppFrontend/model/builder/ArkNamespaceBuilder.js +19 -37
  241. package/lib/frontend/cppFrontend/model/builder/BodyBuilder.d.ts +1 -0
  242. package/lib/frontend/cppFrontend/model/builder/BodyBuilder.d.ts.map +1 -1
  243. package/lib/frontend/cppFrontend/model/builder/BodyBuilder.js +30 -3
  244. package/lib/frontend/cppFrontend/model/builder/builderUtils.d.ts.map +1 -1
  245. package/lib/frontend/cppFrontend/model/builder/builderUtils.js +8 -4
  246. package/lib/index.d.ts +3 -0
  247. package/lib/index.d.ts.map +1 -1
  248. package/lib/index.js +10 -2
  249. package/lib/save/json/JsonSerialization.js +2 -2
  250. package/lib/save/source/SourceStmt.js +1 -1
  251. package/lib/save/source/SourceTransformer.d.ts.map +1 -1
  252. package/lib/save/source/SourceTransformer.js +0 -9
  253. package/lib/statistics/StageStatistics.d.ts +195 -0
  254. package/lib/statistics/StageStatistics.d.ts.map +1 -0
  255. package/lib/statistics/StageStatistics.js +346 -0
  256. package/lib/statistics/StageStatisticsReporter.d.ts +58 -0
  257. package/lib/statistics/StageStatisticsReporter.d.ts.map +1 -0
  258. package/lib/statistics/StageStatisticsReporter.js +255 -0
  259. package/lib/utils/Canonicalizer.d.ts +9 -2
  260. package/lib/utils/Canonicalizer.d.ts.map +1 -1
  261. package/lib/utils/Canonicalizer.js +19 -2
  262. package/lib/utils/CxxSceneUtils.d.ts +7 -0
  263. package/lib/utils/CxxSceneUtils.d.ts.map +1 -1
  264. package/lib/utils/CxxSceneUtils.js +10 -1
  265. package/lib/utils/FileUtils.d.ts +0 -1
  266. package/lib/utils/FileUtils.d.ts.map +1 -1
  267. package/lib/utils/FileUtils.js +1 -9
  268. package/lib/utils/HashUtils.d.ts +9 -0
  269. package/lib/utils/HashUtils.d.ts.map +1 -0
  270. package/lib/utils/HashUtils.js +65 -0
  271. package/lib/utils/ModuleUtils.d.ts.map +1 -1
  272. package/lib/utils/ModuleUtils.js +24 -5
  273. package/lib/utils/VisitedSegment.d.ts +23 -0
  274. package/lib/utils/VisitedSegment.d.ts.map +1 -0
  275. package/lib/utils/VisitedSegment.js +64 -0
  276. package/lib/utils/callGraphUtils.d.ts.map +1 -1
  277. package/lib/utils/callGraphUtils.js +7 -7
  278. package/lib/utils/getAllFiles.d.ts.map +1 -1
  279. package/lib/utils/getAllFiles.js +11 -8
  280. package/lib/utils/logger.d.ts +4 -0
  281. package/lib/utils/logger.d.ts.map +1 -1
  282. package/lib/utils/logger.js +16 -0
  283. package/lib/utils/parseArkSourceFile.d.ts +33 -0
  284. package/lib/utils/parseArkSourceFile.d.ts.map +1 -0
  285. package/lib/utils/parseArkSourceFile.js +131 -0
  286. package/package.json +1 -1
  287. package/lib/node_modules/ohos-typescript/README.OpenSource +0 -11
  288. package/lib/node_modules/ohos-typescript/README.md +0 -81
  289. package/lib/node_modules/ohos-typescript/SECURITY.md +0 -41
  290. package/lib/node_modules/ohos-typescript/ThirdPartyNoticeText.txt +0 -193
  291. package/lib/node_modules/ohos-typescript/bin/tsc +0 -2
  292. package/lib/node_modules/ohos-typescript/bin/tsserver +0 -2
  293. package/lib/node_modules/ohos-typescript/lib/README.md +0 -5
  294. package/lib/node_modules/ohos-typescript/lib/cancellationToken.js +0 -86
  295. package/lib/node_modules/ohos-typescript/lib/cs/diagnosticMessages.generated.json +0 -1880
  296. package/lib/node_modules/ohos-typescript/lib/de/diagnosticMessages.generated.json +0 -1880
  297. package/lib/node_modules/ohos-typescript/lib/es/diagnosticMessages.generated.json +0 -1880
  298. package/lib/node_modules/ohos-typescript/lib/fr/diagnosticMessages.generated.json +0 -1880
  299. package/lib/node_modules/ohos-typescript/lib/it/diagnosticMessages.generated.json +0 -1880
  300. package/lib/node_modules/ohos-typescript/lib/ja/diagnosticMessages.generated.json +0 -1880
  301. package/lib/node_modules/ohos-typescript/lib/ko/diagnosticMessages.generated.json +0 -1880
  302. package/lib/node_modules/ohos-typescript/lib/lib.dom.d.ts +0 -18505
  303. package/lib/node_modules/ohos-typescript/lib/lib.dom.iterable.d.ts +0 -341
  304. package/lib/node_modules/ohos-typescript/lib/lib.scripthost.d.ts +0 -327
  305. package/lib/node_modules/ohos-typescript/lib/lib.webworker.d.ts +0 -6192
  306. package/lib/node_modules/ohos-typescript/lib/lib.webworker.importscripts.d.ts +0 -26
  307. package/lib/node_modules/ohos-typescript/lib/lib.webworker.iterable.d.ts +0 -175
  308. package/lib/node_modules/ohos-typescript/lib/pl/diagnosticMessages.generated.json +0 -1880
  309. package/lib/node_modules/ohos-typescript/lib/pt-br/diagnosticMessages.generated.json +0 -1880
  310. package/lib/node_modules/ohos-typescript/lib/ru/diagnosticMessages.generated.json +0 -1880
  311. package/lib/node_modules/ohos-typescript/lib/tr/diagnosticMessages.generated.json +0 -1880
  312. package/lib/node_modules/ohos-typescript/lib/tsc.js +0 -114551
  313. package/lib/node_modules/ohos-typescript/lib/tsserver.js +0 -179691
  314. package/lib/node_modules/ohos-typescript/lib/tsserverlibrary.d.ts +0 -13648
  315. package/lib/node_modules/ohos-typescript/lib/tsserverlibrary.js +0 -178688
  316. package/lib/node_modules/ohos-typescript/lib/typesMap.json +0 -497
  317. package/lib/node_modules/ohos-typescript/lib/typingsInstaller.js +0 -39871
  318. package/lib/node_modules/ohos-typescript/lib/watchGuard.js +0 -49
  319. package/lib/node_modules/ohos-typescript/lib/zh-cn/diagnosticMessages.generated.json +0 -1880
  320. package/lib/node_modules/ohos-typescript/lib/zh-tw/diagnosticMessages.generated.json +0 -1880
  321. package/lib/utils/DependenciesSort.d.ts +0 -3
  322. package/lib/utils/DependenciesSort.d.ts.map +0 -1
  323. package/lib/utils/DependenciesSort.js +0 -72
  324. package/lib/utils/crypto_utils.d.ts +0 -6
  325. package/lib/utils/crypto_utils.d.ts.map +0 -1
  326. package/lib/utils/crypto_utils.js +0 -57
@@ -1,6 +1,5 @@
1
1
  import { Scene } from '../../Scene';
2
2
  import { ArkFile } from '../../core/model/ArkFile';
3
- import { FrontendParseResult } from '../FrontendBuilder';
4
3
  /**
5
4
  * ArkTS/TS/JS: builds {@link ArkFile}s using the core TS/ArkTS pipeline (see {@link buildArkFileFromFile}).
6
5
  */
@@ -22,6 +21,5 @@ export declare class ArktsFrontend {
22
21
  * Non-project SDK file load (e.g. OpenHarmony SDK sources); mirrors the former {@link Scene} path for SDK files.
23
22
  */
24
23
  static buildArkFileFromSdkPath(absoluteFilePath: string, sdkPath: string, arkFile: ArkFile, sdkName: string): void;
25
- buildProjectFiles(scene: Scene, filePaths: string[]): FrontendParseResult;
26
24
  }
27
25
  //# sourceMappingURL=ArktsFrontend.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ArktsFrontend.d.ts","sourceRoot":"","sources":["../../../src/frontend/arktsFrontend/ArktsFrontend.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,EAAwB,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAG/E;;GAEG;AACH,qBAAa,aAAa;IACtB,qGAAqG;IAC9F,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAI/E;;;OAGG;IACI,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIzD;;;;OAIG;IACI,6BAA6B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAI5D;;OAEG;WACW,uBAAuB,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAIlH,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,mBAAmB;CAenF"}
1
+ {"version":3,"file":"ArktsFrontend.d.ts","sourceRoot":"","sources":["../../../src/frontend/arktsFrontend/ArktsFrontend.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAGnD;;GAEG;AACH,qBAAa,aAAa;IACtB,qGAAqG;IAC9F,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAI/E;;;OAGG;IACI,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIzD;;;;OAIG;IACI,6BAA6B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAI5D;;OAEG;WACW,uBAAuB,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;CAG5H"}
@@ -15,9 +15,7 @@
15
15
  */
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.ArktsFrontend = void 0;
18
- const ArkFile_1 = require("../../core/model/ArkFile");
19
18
  const ArkFileBuilder_1 = require("../../core/model/builder/ArkFileBuilder");
20
- const FileUtils_1 = require("../../utils/FileUtils");
21
19
  /**
22
20
  * ArkTS/TS/JS: builds {@link ArkFile}s using the core TS/ArkTS pipeline (see {@link buildArkFileFromFile}).
23
21
  */
@@ -47,21 +45,5 @@ class ArktsFrontend {
47
45
  static buildArkFileFromSdkPath(absoluteFilePath, sdkPath, arkFile, sdkName) {
48
46
  (0, ArkFileBuilder_1.buildArkFileFromFile)(absoluteFilePath, sdkPath, arkFile, sdkName);
49
47
  }
50
- buildProjectFiles(scene, filePaths) {
51
- const arkFiles = [];
52
- const failedFiles = [];
53
- for (const filePath of filePaths) {
54
- try {
55
- const arkFile = new ArkFile_1.ArkFile(FileUtils_1.FileUtils.getFileLanguage(filePath, scene.getFileLanguages()));
56
- arkFile.setScene(scene);
57
- this.buildProjectFile(scene, filePath, arkFile);
58
- arkFiles.push(arkFile);
59
- }
60
- catch (error) {
61
- failedFiles.push({ filePath, reason: error });
62
- }
63
- }
64
- return { arkFiles, failedFiles };
65
- }
66
48
  }
67
49
  exports.ArktsFrontend = ArktsFrontend;
@@ -0,0 +1,17 @@
1
+ import { ArkFile } from '../../core/model/ArkFile';
2
+ /**
3
+ * Build a file's method bodies from a fresh parse of the file, so the signature round does not
4
+ * have to keep every file's AST (and the BodyBuilders mounted on it) alive until the body phase.
5
+ *
6
+ * The signature round records each implementation method's source position on its ArkMethod
7
+ * (`implOriginFullPosition`), so a re-parsed tree can be indexed by position and every builder
8
+ * reconstructed exactly as the signature round built it.
9
+ *
10
+ * `implOriginFullPosition` is 1-based (FullPosition) while `getLineAndCharacterOfPosition` is
11
+ * 0-based: the +1 belongs on both sides of the packed key or nothing matches. Methods whose
12
+ * position is absent or synthetic (0,0,0,0) never had a builder in the signature round - %dflt
13
+ * (built with the signature round's AST), instanceInit/staticInit and generated constructors -
14
+ * and are skipped; static blocks are generated but carry a real position and are re-built here.
15
+ */
16
+ export declare function buildFileBodies(arkFile: ArkFile): void;
17
+ //# sourceMappingURL=FileBodyRemount.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileBodyRemount.d.ts","sourceRoot":"","sources":["../../../src/frontend/arktsFrontend/FileBodyRemount.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAWnD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0CtD"}
@@ -0,0 +1,187 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2026 Huawei Device Co., Ltd.
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ var desc = Object.getOwnPropertyDescriptor(m, k);
19
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
20
+ desc = { enumerable: true, get: function() { return m[k]; } };
21
+ }
22
+ Object.defineProperty(o, k2, desc);
23
+ }) : (function(o, m, k, k2) {
24
+ if (k2 === undefined) k2 = k;
25
+ o[k2] = m[k];
26
+ }));
27
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
28
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
29
+ }) : function(o, v) {
30
+ o["default"] = v;
31
+ });
32
+ var __importStar = (this && this.__importStar) || function (mod) {
33
+ if (mod && mod.__esModule) return mod;
34
+ var result = {};
35
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
36
+ __setModuleDefault(result, mod);
37
+ return result;
38
+ };
39
+ var __importDefault = (this && this.__importDefault) || function (mod) {
40
+ return (mod && mod.__esModule) ? mod : { "default": mod };
41
+ };
42
+ Object.defineProperty(exports, "__esModule", { value: true });
43
+ exports.buildFileBodies = void 0;
44
+ const fs_1 = __importDefault(require("fs"));
45
+ const ohos_typescript_1 = __importDefault(require("ohos-typescript"));
46
+ const Position_1 = require("../../core/base/Position");
47
+ const BodyBuilder_1 = require("../../core/model/builder/BodyBuilder");
48
+ const ModelUtils_1 = require("../../core/common/ModelUtils");
49
+ const EtsConst_1 = require("../../core/common/EtsConst");
50
+ const StringUtils_1 = require("../../core/common/StringUtils");
51
+ const parseArkSourceFile_1 = require("../../utils/parseArkSourceFile");
52
+ const logger_1 = __importStar(require("../../utils/logger"));
53
+ const logger = logger_1.default.getLogger(logger_1.LOG_MODULE_TYPE.ARKANALYZER, 'FileBodyRemount');
54
+ /**
55
+ * Build a file's method bodies from a fresh parse of the file, so the signature round does not
56
+ * have to keep every file's AST (and the BodyBuilders mounted on it) alive until the body phase.
57
+ *
58
+ * The signature round records each implementation method's source position on its ArkMethod
59
+ * (`implOriginFullPosition`), so a re-parsed tree can be indexed by position and every builder
60
+ * reconstructed exactly as the signature round built it.
61
+ *
62
+ * `implOriginFullPosition` is 1-based (FullPosition) while `getLineAndCharacterOfPosition` is
63
+ * 0-based: the +1 belongs on both sides of the packed key or nothing matches. Methods whose
64
+ * position is absent or synthetic (0,0,0,0) never had a builder in the signature round - %dflt
65
+ * (built with the signature round's AST), instanceInit/staticInit and generated constructors -
66
+ * and are skipped; static blocks are generated but carry a real position and are re-built here.
67
+ */
68
+ function buildFileBodies(arkFile) {
69
+ let sourceText;
70
+ try {
71
+ sourceText = fs_1.default.readFileSync(arkFile.getFilePath(), 'utf8');
72
+ }
73
+ catch (error) {
74
+ logger.error(`Failed to read file for body build: ${arkFile.getFilePath()} ${error}`);
75
+ return;
76
+ }
77
+ const sourceFile = (0, parseArkSourceFile_1.parseArkSourceFile)(arkFile.getName(), sourceText, true, EtsConst_1.ETS_COMPILER_OPTIONS);
78
+ const nodesByPosition = new Map();
79
+ collectBuilderNodes(sourceFile, nodesByPosition);
80
+ // Generated methods are included on purpose: static blocks are generated but carry a real
81
+ // position and had a builder, unlike instanceInit/staticInit (synthetic (0,0,0,0) position).
82
+ for (const cls of ModelUtils_1.ModelUtils.getAllClassesInFile(arkFile)) {
83
+ for (const method of cls.getMethods(true)) {
84
+ const position = method.getImplOriginFullPosition();
85
+ if (!position || position.getFirstLine() === 0) {
86
+ continue;
87
+ }
88
+ if (!method.isGenerated() && !method.getImplementationSignature()) {
89
+ continue;
90
+ }
91
+ const node = nodesByPosition.get(positionKey(position));
92
+ if (!node) {
93
+ logger.warn(`Body build missed a method (position not found in the fresh parse): ` +
94
+ `${arkFile.getName()}#${method.getName()}@${position.getFirstLine()}:${position.getFirstCol()}`);
95
+ continue;
96
+ }
97
+ try {
98
+ const builder = new BodyBuilder_1.BodyBuilder(method.getSignature(), node, method, sourceFile);
99
+ builder.setParamsPositions(buildParamsPositions(node, sourceFile));
100
+ method.setBodyBuilder(builder);
101
+ method.buildBody();
102
+ }
103
+ catch (error) {
104
+ logger.error('Error building body:', method.getSignature(), error);
105
+ }
106
+ finally {
107
+ method.freeBodyBuilder();
108
+ }
109
+ }
110
+ }
111
+ }
112
+ exports.buildFileBodies = buildFileBodies;
113
+ function positionKey(position) {
114
+ return position.getFirstLine() * 0x100000 + position.getFirstCol();
115
+ }
116
+ const remountStack = [];
117
+ const remountChildren = [];
118
+ let remountStackTop = 0;
119
+ let remountChildCount = 0;
120
+ const collectRemountChild = (child) => {
121
+ remountChildren[remountChildCount++] = child;
122
+ };
123
+ /**
124
+ * Explicit-stack replacement for the former closure recursion, which allocated one
125
+ * `child => collectBuilderNodes(child, ...)` closure per AST node of every remounted file.
126
+ * Children are staged in a cursor-reset scratch and pushed reversed so the walk reproduces
127
+ * the exact DFS pre-order of the recursion - the position map's insertion order and its
128
+ * last-write-wins outcome for duplicate keys stay identical.
129
+ */
130
+ function collectBuilderNodes(sourceFile, into) {
131
+ remountStack[remountStackTop++] = sourceFile;
132
+ let stackHighWater = remountStackTop;
133
+ let childHighWater = 0;
134
+ while (remountStackTop > 0) {
135
+ const node = remountStack[--remountStackTop];
136
+ if (ohos_typescript_1.default.isFunctionDeclaration(node) ||
137
+ ohos_typescript_1.default.isMethodDeclaration(node) ||
138
+ ohos_typescript_1.default.isConstructorDeclaration(node) ||
139
+ ohos_typescript_1.default.isGetAccessorDeclaration(node) ||
140
+ ohos_typescript_1.default.isSetAccessorDeclaration(node) ||
141
+ ohos_typescript_1.default.isArrowFunction(node) ||
142
+ ohos_typescript_1.default.isFunctionExpression(node) ||
143
+ ohos_typescript_1.default.isClassStaticBlockDeclaration(node)) {
144
+ const { line, character } = ohos_typescript_1.default.getLineAndCharacterOfPosition(sourceFile, node.getStart(sourceFile));
145
+ into.set((line + 1) * 0x100000 + (character + 1), node);
146
+ }
147
+ remountChildCount = 0;
148
+ ohos_typescript_1.default.forEachChild(node, collectRemountChild);
149
+ if (remountChildCount > childHighWater) {
150
+ childHighWater = remountChildCount;
151
+ }
152
+ for (let i = remountChildCount - 1; i >= 0; i--) {
153
+ remountStack[remountStackTop++] = remountChildren[i];
154
+ }
155
+ if (remountStackTop > stackHighWater) {
156
+ stackHighWater = remountStackTop;
157
+ }
158
+ }
159
+ const nullNode = null;
160
+ for (let i = 0; i < stackHighWater; i++) {
161
+ remountStack[i] = nullNode;
162
+ }
163
+ for (let i = 0; i < childHighWater; i++) {
164
+ remountChildren[i] = nullNode;
165
+ }
166
+ remountStackTop = 0;
167
+ remountChildCount = 0;
168
+ }
169
+ function buildParamsPositions(node, sourceFile) {
170
+ const map = new Map();
171
+ const parameters = node.parameters;
172
+ if (!parameters) {
173
+ return map;
174
+ }
175
+ for (const parameter of parameters) {
176
+ if (ohos_typescript_1.default.isIdentifier(parameter.name)) {
177
+ map.set((0, StringUtils_1.cloneText)(parameter.name.text), Position_1.FullPosition.buildFromNode(parameter.name, sourceFile));
178
+ }
179
+ else if (ohos_typescript_1.default.isObjectBindingPattern(parameter.name)) {
180
+ map.set('ObjectBindingPattern', Position_1.FullPosition.buildFromNode(parameter.name, sourceFile));
181
+ }
182
+ else if (ohos_typescript_1.default.isArrayBindingPattern(parameter.name)) {
183
+ map.set('ArrayBindingPattern', Position_1.FullPosition.buildFromNode(parameter.name, sourceFile));
184
+ }
185
+ }
186
+ return map;
187
+ }
@@ -302,8 +302,10 @@ export declare class ModuleBuilder {
302
302
  * types, parameter types, signature return types, import/export resolution). At BODIES level,
303
303
  * full type inference runs (including stmt-level propagation and return type aggregation).
304
304
  *
305
- * Does NOT call {@link Scene.getMethodsMap}(true): rebuilding the global index would clear
306
- * caches for other modules. Does NOT set {@link Scene.buildStage} to TYPE_INFERRED: that is a
305
+ * Does NOT rebuild the global method index (the former Scene.getMethodsMap(true) was
306
+ * removed with the registry refactor — methodSigCanonicalizer is now the single source
307
+ * of truth): rebuilding would clear caches for other modules. Does NOT set {@link Scene.buildStage}
308
+ * to TYPE_INFERRED: that is a
307
309
  * whole-scene flag. Does NOT call {@link SdkUtils.dispose} / {@link ModuleUtils.dispose} /
308
310
  * {@link ValueUtil.dispose}: the global caches are shared across modules and should be
309
311
  * released by the caller after all modules are processed.
@@ -1 +1 @@
1
- {"version":3,"file":"ModuleBuilder.d.ts","sourceRoot":"","sources":["../../../src/frontend/common/ModuleBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ModuleBuilder.d.ts","sourceRoot":"","sources":["../../../src/frontend/common/ModuleBuilder.ts"],"names":[],"mappings":"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"}
@@ -67,7 +67,8 @@ const ArkClass_1 = require("../../core/model/ArkClass");
67
67
  const ArkMethod_1 = require("../../core/model/ArkMethod");
68
68
  const ArkNamespace_1 = require("../../core/model/ArkNamespace");
69
69
  const ModuleUtils_1 = require("../../utils/ModuleUtils");
70
- const Scene_1 = require("../../Scene");
70
+ const SceneBuildStage_1 = require("../SceneBuildStage");
71
+ const SignatureCanonicalizerRegistry_1 = require("../../core/common/SignatureCanonicalizerRegistry");
71
72
  const logger = logger_1.default.getLogger(logger_1.LOG_MODULE_TYPE.ARKANALYZER, 'ModuleBuilder');
72
73
  /**
73
74
  * ModuleBuilder holds the build logic for module-level analysis embedded in {@link Scene}.
@@ -266,7 +267,7 @@ class ModuleBuilder {
266
267
  * Idempotent: guarded by {@link SceneBuildStage.SDK_INFERRED}.
267
268
  */
268
269
  buildSdkModules() {
269
- if (this.scene.getBuildStage() >= Scene_1.SceneBuildStage.SDK_INFERRED) {
270
+ if (this.scene.getBuildStage() >= SceneBuildStage_1.SceneBuildStage.SDK_INFERRED) {
270
271
  return;
271
272
  }
272
273
  this.setEsVersionFromBuildProfile();
@@ -292,7 +293,7 @@ class ModuleBuilder {
292
293
  }
293
294
  // SDK type inference + global API merge
294
295
  const sdkArkFiles = this.scene.getSdkArkFiles();
295
- const sdkGlobalMap = this.scene.getSdkGlobalMap();
296
+ const sdkGlobalMap = SignatureCanonicalizerRegistry_1.SignatureCanonicalizerRegistry.getInstance().sdkGlobalMap;
296
297
  for (const file of sdkArkFiles) {
297
298
  if (file.getLanguage() === ArkFile_1.Language.CXX) {
298
299
  continue;
@@ -303,7 +304,7 @@ class ModuleBuilder {
303
304
  for (const file of sdkArkFiles) {
304
305
  SdkUtils_1.SdkUtils.postInferredSdk(file, sdkGlobalMap);
305
306
  }
306
- this.scene.setBuildStage(Scene_1.SceneBuildStage.SDK_INFERRED);
307
+ this.scene.setBuildStage(SceneBuildStage_1.SceneBuildStage.SDK_INFERRED);
307
308
  SdkUtils_1.SdkUtils.extendArkUI(this.scene);
308
309
  }
309
310
  /**
@@ -371,7 +372,7 @@ class ModuleBuilder {
371
372
  module.addFile(arkFile);
372
373
  this.scene.addSdkArkFile(arkFile);
373
374
  SdkUtils_1.SdkUtils.buildSdkImportMap(arkFile);
374
- SdkUtils_1.SdkUtils.loadGlobalAPI(arkFile, this.scene.getSdkGlobalMap());
375
+ SdkUtils_1.SdkUtils.loadGlobalAPI(arkFile, SignatureCanonicalizerRegistry_1.SignatureCanonicalizerRegistry.getInstance().sdkGlobalMap);
375
376
  }
376
377
  catch (error) {
377
378
  logger.error('Error parsing file:', file, error);
@@ -835,8 +836,10 @@ class ModuleBuilder {
835
836
  * types, parameter types, signature return types, import/export resolution). At BODIES level,
836
837
  * full type inference runs (including stmt-level propagation and return type aggregation).
837
838
  *
838
- * Does NOT call {@link Scene.getMethodsMap}(true): rebuilding the global index would clear
839
- * caches for other modules. Does NOT set {@link Scene.buildStage} to TYPE_INFERRED: that is a
839
+ * Does NOT rebuild the global method index (the former Scene.getMethodsMap(true) was
840
+ * removed with the registry refactor — methodSigCanonicalizer is now the single source
841
+ * of truth): rebuilding would clear caches for other modules. Does NOT set {@link Scene.buildStage}
842
+ * to TYPE_INFERRED: that is a
840
843
  * whole-scene flag. Does NOT call {@link SdkUtils.dispose} / {@link ModuleUtils.dispose} /
841
844
  * {@link ValueUtil.dispose}: the global caches are shared across modules and should be
842
845
  * released by the caller after all modules are processed.
@@ -920,6 +923,10 @@ class ModuleBuilder {
920
923
  if (module.getLoadState() === ArkModule_1.ModuleLoadState.INDEX) {
921
924
  this.resetModuleIrForRebuild(module);
922
925
  }
926
+ // 模块化按需加载 project 模块前锁定 project/SDK FileSigID 边界(幂等:首次为准)。
927
+ // 覆盖不经 buildBasicInfo 的直用场景(loadModule API);此时 SDK 段已结束,
928
+ // 此后将注册的都是 project 文件。
929
+ SignatureCanonicalizerRegistry_1.SignatureCanonicalizerRegistry.getInstance().markProjectFileBoundary();
923
930
  // Record heapUsed before actual build (for heapUsed table population)
924
931
  const recordHeapUsed = (_c = (_b = this.monitor) === null || _b === void 0 ? void 0 : _b.isEnabled()) !== null && _c !== void 0 ? _c : false;
925
932
  const heapUsedBefore = recordHeapUsed ? this.monitor.getCurrentHeapUsed() : 0;
@@ -1278,12 +1285,15 @@ class ModuleBuilder {
1278
1285
  continue;
1279
1286
  }
1280
1287
  for (const base of cls.getAllHeritageClasses()) {
1281
- base.getExtendedClasses().delete(cls.getName());
1288
+ base.removeExtendedClass(cls);
1282
1289
  }
1283
1290
  for (const mtd of cls.getMethods(true)) {
1284
- this.scene.removeMethod(mtd);
1291
+ SignatureCanonicalizerRegistry_1.SignatureCanonicalizerRegistry.getInstance().removeMethod(mtd);
1285
1292
  mtd.clearBodyAndSupplementary();
1286
1293
  }
1294
+ for (const fld of cls.getFields()) {
1295
+ SignatureCanonicalizerRegistry_1.SignatureCanonicalizerRegistry.getInstance().removeField(fld);
1296
+ }
1287
1297
  const ns = cls.getDeclaringArkNamespace();
1288
1298
  if (ns) {
1289
1299
  ns.removeArkClass(cls);
@@ -1,23 +1,17 @@
1
1
  import { Scene } from '../../Scene';
2
2
  import { ArkFile } from '../../core/model/ArkFile';
3
- import { FrontendParseResult } from '../FrontendBuilder';
4
3
  /**
5
4
  * C++ language frontend. Matches the former {@link Scene} branches for {@link Language#CXX}.
6
5
  */
7
6
  export declare class CppFrontend {
8
- private static readonly AUTO_MAX_PARALLEL_PROCESSES;
9
- private static readonly AUTO_MAX_PENDING_AST_RESULTS;
10
7
  buildProjectFile(scene: Scene, filePath: string, arkFile: ArkFile): void;
11
8
  /**
12
9
  * Imports-only build for a single C++ file: parses #include directives and fills
13
10
  * ImportInfo without building ArkClass/ArkMethod/ArkBody.
14
11
  */
15
12
  buildProjectFileForImports(arkFile: ArkFile): void;
16
- buildProjectFiles(scene: Scene, filePaths: string[]): FrontendParseResult;
17
13
  /** Returns true if astJsonDumper and cxx-ast-parser are available; otherwise logs a warning. */
18
14
  private requireAstJsonDumper;
19
- private resolveMaxParallelProcesses;
20
- private resolveMaxPendingAstResults;
21
15
  private resolveLogAstInfo;
22
16
  }
23
17
  //# sourceMappingURL=CppFrontend.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CppFrontend.d.ts","sourceRoot":"","sources":["../../../src/frontend/cppFrontend/CppFrontend.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAGnD,OAAO,EAAwB,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAK/E;;GAEG;AACH,qBAAa,WAAW;IACpB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,2BAA2B,CAAM;IACzD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,4BAA4B,CAAM;IAEnD,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAO/E;;;OAGG;IACI,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAOlD,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,mBAAmB;IAYhF,gGAAgG;IAChG,OAAO,CAAC,oBAAoB;IAgB5B,OAAO,CAAC,2BAA2B;IAsBnC,OAAO,CAAC,2BAA2B;IAoBnC,OAAO,CAAC,iBAAiB;CAG5B"}
1
+ {"version":3,"file":"CppFrontend.d.ts","sourceRoot":"","sources":["../../../src/frontend/cppFrontend/CppFrontend.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAOnD;;GAEG;AACH,qBAAa,WAAW;IACb,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAO/E;;;OAGG;IACI,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAOzD,gGAAgG;IAChG,OAAO,CAAC,oBAAoB;IAgB5B,OAAO,CAAC,iBAAiB;CAG5B"}
@@ -36,12 +36,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
36
36
  __setModuleDefault(result, mod);
37
37
  return result;
38
38
  };
39
- var __importDefault = (this && this.__importDefault) || function (mod) {
40
- return (mod && mod.__esModule) ? mod : { "default": mod };
41
- };
42
39
  Object.defineProperty(exports, "__esModule", { value: true });
43
40
  exports.CppFrontend = void 0;
44
- const os_1 = __importDefault(require("os"));
45
41
  const logger_1 = __importStar(require("../../utils/logger"));
46
42
  const ArkFileBuilder_1 = require("./model/builder/ArkFileBuilder");
47
43
  const cxxAstParserTypes_1 = require("./utils/cxxAstParserTypes");
@@ -66,17 +62,6 @@ class CppFrontend {
66
62
  }
67
63
  (0, ArkFileBuilder_1.buildImportExportInfoFromFile)(arkFile);
68
64
  }
69
- buildProjectFiles(scene, filePaths) {
70
- if (!this.requireAstJsonDumper()) {
71
- return { arkFiles: [], failedFiles: [] };
72
- }
73
- const maxParallelProcesses = this.resolveMaxParallelProcesses(scene);
74
- const maxPendingAstResults = this.resolveMaxPendingAstResults(scene, maxParallelProcesses);
75
- const logAstInfo = this.resolveLogAstInfo(scene);
76
- const result = (0, ArkFileBuilder_1.prepareArkFiles)(scene, filePaths, maxParallelProcesses, maxPendingAstResults, logAstInfo);
77
- const failedFiles = result.failedFiles;
78
- return { arkFiles: result.arkFiles, failedFiles };
79
- }
80
65
  /** Returns true if astJsonDumper and cxx-ast-parser are available; otherwise logs a warning. */
81
66
  requireAstJsonDumper() {
82
67
  try {
@@ -92,50 +77,9 @@ class CppFrontend {
92
77
  return false;
93
78
  }
94
79
  }
95
- resolveMaxParallelProcesses(scene) {
96
- var _a, _b, _c, _d;
97
- const configured = (_b = (_a = scene.getOptions().languages) === null || _a === void 0 ? void 0 : _a.cpp) === null || _b === void 0 ? void 0 : _b.maxParallelProcesses;
98
- if (configured === CppFrontend.AUTO_MAX_PARALLEL_PROCESSES) {
99
- try {
100
- const cpuCount = (_d = (_c = os_1.default.cpus()) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0;
101
- return Math.max(1, cpuCount - 1);
102
- }
103
- catch (_e) {
104
- return 1;
105
- }
106
- }
107
- if (configured !== undefined && !Number.isInteger(configured)) {
108
- logger.warn(`languages.cpp.maxParallelProcesses must be a positive integer or ` +
109
- `${CppFrontend.AUTO_MAX_PARALLEL_PROCESSES} for auto; got ${JSON.stringify(configured)}, using 1.`);
110
- }
111
- if (Number.isInteger(configured) && configured !== undefined && configured > 0) {
112
- return configured;
113
- }
114
- return 1;
115
- }
116
- resolveMaxPendingAstResults(scene, maxParallelProcesses) {
117
- var _a, _b;
118
- const configured = (_b = (_a = scene.getOptions().languages) === null || _a === void 0 ? void 0 : _a.cpp) === null || _b === void 0 ? void 0 : _b.maxPendingAstResults;
119
- const fallback = Math.max(1, maxParallelProcesses * 2);
120
- if (configured === CppFrontend.AUTO_MAX_PENDING_AST_RESULTS || configured === undefined) {
121
- return fallback;
122
- }
123
- if (!Number.isInteger(configured)) {
124
- logger.warn(`languages.cpp.maxPendingAstResults must be a positive integer or ` +
125
- `${CppFrontend.AUTO_MAX_PENDING_AST_RESULTS} for auto; got ${JSON.stringify(configured)}, using ` +
126
- `${fallback}.`);
127
- return fallback;
128
- }
129
- if (configured > 0) {
130
- return configured;
131
- }
132
- return fallback;
133
- }
134
80
  resolveLogAstInfo(scene) {
135
81
  var _a, _b;
136
82
  return ((_b = (_a = scene.getOptions().languages) === null || _a === void 0 ? void 0 : _a.cpp) === null || _b === void 0 ? void 0 : _b.logAstInfo) === true;
137
83
  }
138
84
  }
139
85
  exports.CppFrontend = CppFrontend;
140
- CppFrontend.AUTO_MAX_PARALLEL_PROCESSES = -1;
141
- CppFrontend.AUTO_MAX_PENDING_AST_RESULTS = -1;
@@ -144,6 +144,7 @@ export declare class CxxCharType extends Type {
144
144
  getSignType(): CxxTypeSigned;
145
145
  getBitWidth(): CxxTypeBitWidth;
146
146
  getOriTypeName(): CxxStdTypeName | undefined;
147
+ isUnclearWithVisited(_visited: Set<Type>): boolean;
147
148
  getTypeString(): string;
148
149
  }
149
150
  /**
@@ -169,6 +170,7 @@ export declare class PointerType extends Type {
169
170
  getBaseType(): Type;
170
171
  setBaseType(newBaseType: Type): void;
171
172
  getLevel(): number;
173
+ isUnclearWithVisited(visited: Set<Type>): boolean;
172
174
  getTypeString(): string;
173
175
  getIsConstPointer(): boolean;
174
176
  setIsConstPointer(isConstPointer: boolean): void;
@@ -215,6 +217,7 @@ export declare class ReferenceType extends Type {
215
217
  getBaseType(): Type;
216
218
  setBaseType(newBaseType: Type): void;
217
219
  getCategory(): ReferCategory;
220
+ isUnclearWithVisited(visited: Set<Type>): boolean;
218
221
  setSourceValue(sourceValue: Value): void;
219
222
  getSourceValue(): Value | undefined;
220
223
  getTypeString(): string;
@@ -225,6 +228,7 @@ export declare class ReferenceType extends Type {
225
228
  */
226
229
  export declare class Thread extends Type {
227
230
  constructor();
231
+ isUnclearWithVisited(_visited: Set<Type>): boolean;
228
232
  getTypeString(): string;
229
233
  }
230
234
  export declare class TypeInfo extends Type {
@@ -233,6 +237,7 @@ export declare class TypeInfo extends Type {
233
237
  constructor(name: string, type: Type);
234
238
  getName(): string;
235
239
  getType(): Type;
240
+ isUnclearWithVisited(_visited: Set<Type>): boolean;
236
241
  getTypeString(): string;
237
242
  }
238
243
  export declare class CxxNonType extends GenericType {
@@ -249,6 +254,7 @@ export declare class CxxArrayType extends Type {
249
254
  */
250
255
  getBaseType(): Type;
251
256
  setBaseType(newType: Type): void;
257
+ isUnclearWithVisited(visited: Set<Type>): boolean;
252
258
  getDimension(): number;
253
259
  getDimensionSizes(): number[];
254
260
  setDimensionSizes(sizes: number[]): void;
@@ -259,6 +265,7 @@ export declare class AutoType extends Type {
259
265
  private static readonly INSTANCE;
260
266
  static getInstance(): AutoType;
261
267
  private constructor();
268
+ isUnclearWithVisited(_visited: Set<Type>): boolean;
262
269
  getTypeString(): string;
263
270
  }
264
271
  //# sourceMappingURL=Type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Type.d.ts","sourceRoot":"","sources":["../../../../src/frontend/cppFrontend/base/Type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Type.d.ts","sourceRoot":"","sources":["../../../../src/frontend/cppFrontend/base/Type.ts"],"names":[],"mappings":"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"}