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
@@ -3,13 +3,16 @@ import { ArkMethod } from '../ArkMethod';
3
3
  import { ArkNamespace } from '../ArkNamespace';
4
4
  import ts from 'ohos-typescript';
5
5
  import { ArkClass } from '../ArkClass';
6
+ import { ClassSignature } from '../ArkSignature';
6
7
  export type ClassLikeNode = ts.ClassDeclaration | ts.InterfaceDeclaration | ts.EnumDeclaration | ts.ClassExpression | ts.TypeLiteralNode | ts.StructDeclaration | ts.ObjectLiteralExpression;
7
- export declare function buildDefaultArkClassFromArkFile(arkFile: ArkFile, defaultClass: ArkClass, astRoot: ts.SourceFile): void;
8
- export declare function buildDefaultArkClassFromArkNamespace(arkNamespace: ArkNamespace, defaultClass: ArkClass, nsNode: ts.ModuleDeclaration, sourceFile: ts.SourceFile): void;
8
+ export declare function buildClassSignature(node: ClassLikeNode, declaringInstance: ArkFile | ArkNamespace | ArkMethod): ClassSignature;
9
+ export declare function buildDefaultArkClassFromArkFile(defaultClass: ArkClass, astRoot: ts.SourceFile): void;
9
10
  export declare function buildNormalArkClassFromArkMethod(clsNode: ClassLikeNode, cls: ArkClass, sourceFile: ts.SourceFile, declaringMethod?: ArkMethod): void;
10
11
  export declare function buildNormalArkClassFromArkFile(clsNode: ClassLikeNode, arkFile: ArkFile, cls: ArkClass, sourceFile: ts.SourceFile, declaringMethod?: ArkMethod): void;
11
- export declare function buildNormalArkClassFromArkNamespace(clsNode: ClassLikeNode, arkNamespace: ArkNamespace, cls: ArkClass, sourceFile: ts.SourceFile, declaringMethod?: ArkMethod): void;
12
+ export declare function buildNormalArkClassFromArkNamespace(clsNode: ClassLikeNode, cls: ArkClass, sourceFile: ts.SourceFile, declaringMethod?: ArkMethod): void;
13
+ export declare function buildDefaultArkClass(cls: ArkClass, sourceFile: ts.SourceFile, node?: ts.ModuleDeclaration): void;
12
14
  export declare function buildNormalArkClass(clsNode: ClassLikeNode, cls: ArkClass, sourceFile: ts.SourceFile, declaringMethod?: ArkMethod): void;
13
15
  export declare function init4InstanceInitMethod(cls: ArkClass): void;
14
16
  export declare function init4StaticInitMethod(cls: ArkClass): void;
17
+ export declare function registerTypeAliasTypeLiteral(node: ts.TypeAliasDeclaration): void;
15
18
  //# sourceMappingURL=ArkClassBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ArkClassBuilder.d.ts","sourceRoot":"","sources":["../../../../src/core/model/builder/ArkClassBuilder.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAmE,MAAM,iBAAiB,CAAC;AAClG,OAAO,EAAE,QAAQ,EAAiB,MAAM,aAAa,CAAC;AA4CtD,MAAM,MAAM,aAAa,GACnB,EAAE,CAAC,gBAAgB,GACnB,EAAE,CAAC,oBAAoB,GACvB,EAAE,CAAC,eAAe,GAClB,EAAE,CAAC,eAAe,GAClB,EAAE,CAAC,eAAe,GAClB,EAAE,CAAC,iBAAiB,GACpB,EAAE,CAAC,uBAAuB,CAAC;AAUjC,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,UAAU,GAAG,IAAI,CAItH;AAED,wBAAgB,oCAAoC,CAChD,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,QAAQ,EACtB,MAAM,EAAE,EAAE,CAAC,iBAAiB,EAC5B,UAAU,EAAE,EAAE,CAAC,UAAU,GAC1B,IAAI,CAIN;AAED,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC,EAAE,SAAS,GAAG,IAAI,CAOpJ;AAED,wBAAgB,8BAA8B,CAC1C,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,QAAQ,EACb,UAAU,EAAE,EAAE,CAAC,UAAU,EACzB,eAAe,CAAC,EAAE,SAAS,GAC5B,IAAI,CAQN;AAED,wBAAgB,mCAAmC,CAC/C,OAAO,EAAE,aAAa,EACtB,YAAY,EAAE,YAAY,EAC1B,GAAG,EAAE,QAAQ,EACb,UAAU,EAAE,EAAE,CAAC,UAAU,EACzB,eAAe,CAAC,EAAE,SAAS,GAC5B,IAAI,CASN;AAmBD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC,EAAE,SAAS,GAAG,IAAI,CA0BvI;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,CAa3D;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,CAgBzD"}
1
+ {"version":3,"file":"ArkClassBuilder.d.ts","sourceRoot":"","sources":["../../../../src/core/model/builder/ArkClassBuilder.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAmE,MAAM,iBAAiB,CAAC;AAClG,OAAO,EAAE,QAAQ,EAAiB,MAAM,aAAa,CAAC;AAkBtD,OAAO,EAAE,cAAc,EAAuD,MAAM,iBAAiB,CAAC;AAgBtG,MAAM,MAAM,aAAa,GACnB,EAAE,CAAC,gBAAgB,GACnB,EAAE,CAAC,oBAAoB,GACvB,EAAE,CAAC,eAAe,GAClB,EAAE,CAAC,eAAe,GAClB,EAAE,CAAC,eAAe,GAClB,EAAE,CAAC,iBAAiB,GACpB,EAAE,CAAC,uBAAuB,CAAC;AA+BjC,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,aAAa,EAAE,iBAAiB,EAAE,OAAO,GAAG,YAAY,GAAG,SAAS,GAAG,cAAc,CAmB9H;AAED,wBAAgB,+BAA+B,CAAC,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,UAAU,GAAG,IAAI,CAGpG;AAED,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC,EAAE,SAAS,GAAG,IAAI,CAQpJ;AAED,wBAAgB,8BAA8B,CAC1C,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,QAAQ,EACb,UAAU,EAAE,EAAE,CAAC,UAAU,EACzB,eAAe,CAAC,EAAE,SAAS,GAC5B,IAAI,CAON;AAED,wBAAgB,mCAAmC,CAC/C,OAAO,EAAE,aAAa,EACtB,GAAG,EAAE,QAAQ,EACb,UAAU,EAAE,EAAE,CAAC,UAAU,EACzB,eAAe,CAAC,EAAE,SAAS,GAC5B,IAAI,CAMN;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,GAAG,IAAI,CAKhH;AAQD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC,EAAE,SAAS,GAAG,IAAI,CA0BvI;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,CAW3D;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,CAYzD;AA+GD,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,GAAG,IAAI,CAIhF"}
@@ -40,9 +40,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
40
40
  return (mod && mod.__esModule) ? mod : { "default": mod };
41
41
  };
42
42
  Object.defineProperty(exports, "__esModule", { value: true });
43
- exports.init4StaticInitMethod = exports.init4InstanceInitMethod = exports.buildNormalArkClass = exports.buildNormalArkClassFromArkNamespace = exports.buildNormalArkClassFromArkFile = exports.buildNormalArkClassFromArkMethod = exports.buildDefaultArkClassFromArkNamespace = exports.buildDefaultArkClassFromArkFile = void 0;
43
+ exports.registerTypeAliasTypeLiteral = exports.init4StaticInitMethod = exports.init4InstanceInitMethod = exports.buildNormalArkClass = exports.buildDefaultArkClass = exports.buildNormalArkClassFromArkNamespace = exports.buildNormalArkClassFromArkFile = exports.buildNormalArkClassFromArkMethod = exports.buildDefaultArkClassFromArkFile = exports.buildClassSignature = void 0;
44
44
  const ArkField_1 = require("../ArkField");
45
+ const ArkFile_1 = require("../ArkFile");
45
46
  const ArkMethod_1 = require("../ArkMethod");
47
+ const ArkNamespace_1 = require("../ArkNamespace");
46
48
  const logger_1 = __importStar(require("../../../utils/logger"));
47
49
  const ohos_typescript_1 = __importDefault(require("ohos-typescript"));
48
50
  const ArkClass_1 = require("../ArkClass");
@@ -66,23 +68,63 @@ const Constant_1 = require("../../base/Constant");
66
68
  const ValueUtil_1 = require("../../common/ValueUtil");
67
69
  const Local_1 = require("../../base/Local");
68
70
  const ArkMetadata_1 = require("../ArkMetadata");
71
+ const SignatureCanonicalizerRegistry_1 = require("../../common/SignatureCanonicalizerRegistry");
69
72
  const logger = logger_1.default.getLogger(logger_1.LOG_MODULE_TYPE.ARKANALYZER, 'ArkClassBuilder');
70
- function buildDefaultArkClassFromArkFile(arkFile, defaultClass, astRoot) {
71
- defaultClass.setDeclaringArkFile(arkFile);
73
+ function newGenClassName(declaringName, declaringInstance) {
74
+ if (!declaringName) {
75
+ let num;
76
+ if (declaringInstance instanceof ArkFile_1.ArkFile) {
77
+ num = declaringInstance.getAnonymousClassNumber();
78
+ }
79
+ else if (declaringInstance instanceof ArkNamespace_1.ArkNamespace) {
80
+ num = declaringInstance.getAnonymousClassNumber();
81
+ }
82
+ else {
83
+ num = declaringInstance.getDeclaringArkFile().getAnonymousClassNumber();
84
+ }
85
+ declaringName = Const_1.ANONYMOUS_CLASS_PREFIX + num;
86
+ }
87
+ let suffix = '';
88
+ if (declaringInstance instanceof ArkMethod_1.ArkMethod) {
89
+ const methodClass = declaringInstance.getDeclaringArkClass().getName();
90
+ const methodName = declaringInstance.getName();
91
+ suffix = `${Const_1.ANONYMOUS_CLASS_DELIMITER}${methodClass}${Const_1.NESTED_CLASS_METHOD_DELIMITER}${methodName}`;
92
+ }
93
+ return declaringName + suffix;
94
+ }
95
+ function buildClassSignature(node, declaringInstance) {
96
+ let className;
97
+ if (ohos_typescript_1.default.isTypeLiteralNode(node) || ohos_typescript_1.default.isObjectLiteralExpression(node)) {
98
+ className = '';
99
+ }
100
+ else {
101
+ className = newGenClassName(node.name ? (0, StringUtils_1.cloneText)(node.name.text) : '', declaringInstance);
102
+ }
103
+ let declaringFileID;
104
+ let declaringNsID;
105
+ if (declaringInstance instanceof ArkFile_1.ArkFile) {
106
+ declaringFileID = declaringInstance.getFileSigID();
107
+ }
108
+ else if (declaringInstance instanceof ArkNamespace_1.ArkNamespace) {
109
+ declaringFileID = declaringInstance.getDeclaringFileID();
110
+ declaringNsID = declaringInstance.getNamespaceSigID();
111
+ }
112
+ else {
113
+ declaringFileID = declaringInstance.getDeclaringArkFileID();
114
+ }
115
+ return new ArkSignature_1.ClassSignature(className, declaringFileID, declaringNsID);
116
+ }
117
+ exports.buildClassSignature = buildClassSignature;
118
+ function buildDefaultArkClassFromArkFile(defaultClass, astRoot) {
72
119
  defaultClass.setCategory(ArkClass_1.ClassCategory.CLASS);
73
120
  buildDefaultArkClass(defaultClass, astRoot);
74
121
  }
75
122
  exports.buildDefaultArkClassFromArkFile = buildDefaultArkClassFromArkFile;
76
- function buildDefaultArkClassFromArkNamespace(arkNamespace, defaultClass, nsNode, sourceFile) {
77
- defaultClass.setDeclaringArkNamespace(arkNamespace);
78
- defaultClass.setDeclaringArkFile(arkNamespace.getDeclaringArkFile());
79
- buildDefaultArkClass(defaultClass, sourceFile, nsNode);
80
- }
81
- exports.buildDefaultArkClassFromArkNamespace = buildDefaultArkClassFromArkNamespace;
82
123
  function buildNormalArkClassFromArkMethod(clsNode, cls, sourceFile, declaringMethod) {
83
124
  const namespace = cls.getDeclaringArkNamespace();
84
125
  if (namespace) {
85
- buildNormalArkClassFromArkNamespace(clsNode, namespace, cls, sourceFile, declaringMethod);
126
+ buildNormalArkClassFromArkNamespace(clsNode, cls, sourceFile, declaringMethod);
127
+ namespace.addArkClass(cls);
86
128
  }
87
129
  else {
88
130
  buildNormalArkClassFromArkFile(clsNode, cls.getDeclaringArkFile(), cls, sourceFile, declaringMethod);
@@ -90,7 +132,6 @@ function buildNormalArkClassFromArkMethod(clsNode, cls, sourceFile, declaringMet
90
132
  }
91
133
  exports.buildNormalArkClassFromArkMethod = buildNormalArkClassFromArkMethod;
92
134
  function buildNormalArkClassFromArkFile(clsNode, arkFile, cls, sourceFile, declaringMethod) {
93
- cls.setDeclaringArkFile(arkFile);
94
135
  const { line, character } = ohos_typescript_1.default.getLineAndCharacterOfPosition(sourceFile, clsNode.getStart(sourceFile));
95
136
  const endPos = ohos_typescript_1.default.getLineAndCharacterOfPosition(sourceFile, clsNode.getEnd());
96
137
  cls.setOriginFullPosition(new Position_1.FullPosition(line + 1, character + 1, endPos.line + 1, endPos.character + 1));
@@ -98,25 +139,22 @@ function buildNormalArkClassFromArkFile(clsNode, arkFile, cls, sourceFile, decla
98
139
  arkFile.addArkClass(cls);
99
140
  }
100
141
  exports.buildNormalArkClassFromArkFile = buildNormalArkClassFromArkFile;
101
- function buildNormalArkClassFromArkNamespace(clsNode, arkNamespace, cls, sourceFile, declaringMethod) {
102
- cls.setDeclaringArkNamespace(arkNamespace);
103
- cls.setDeclaringArkFile(arkNamespace.getDeclaringArkFile());
142
+ function buildNormalArkClassFromArkNamespace(clsNode, cls, sourceFile, declaringMethod) {
104
143
  const { line, character } = ohos_typescript_1.default.getLineAndCharacterOfPosition(sourceFile, clsNode.getStart(sourceFile));
105
144
  const endPos = ohos_typescript_1.default.getLineAndCharacterOfPosition(sourceFile, clsNode.getEnd());
106
145
  cls.setOriginFullPosition(new Position_1.FullPosition(line + 1, character + 1, endPos.line + 1, endPos.character + 1));
107
146
  buildNormalArkClass(clsNode, cls, sourceFile, declaringMethod);
108
- arkNamespace.addArkClass(cls);
109
147
  }
110
148
  exports.buildNormalArkClassFromArkNamespace = buildNormalArkClassFromArkNamespace;
111
149
  function buildDefaultArkClass(cls, sourceFile, node) {
112
- var _a;
113
- const defaultArkClassSignature = new ArkSignature_1.ClassSignature(Const_1.DEFAULT_ARK_CLASS_NAME, cls.getDeclaringArkFile().getFileSignature(), ((_a = cls.getDeclaringArkNamespace()) === null || _a === void 0 ? void 0 : _a.getSignature()) || null);
150
+ const defaultArkClassSignature = new ArkSignature_1.ClassSignature(Const_1.DEFAULT_ARK_CLASS_NAME, cls.getDeclaringFileID(), cls.getDeclaringArkNamespaceID());
114
151
  cls.setSignature(defaultArkClassSignature);
115
152
  genDefaultArkMethod(cls, sourceFile, node);
116
153
  }
154
+ exports.buildDefaultArkClass = buildDefaultArkClass;
117
155
  function genDefaultArkMethod(cls, sourceFile, node) {
118
- let defaultMethod = new ArkMethod_1.ArkMethod();
119
- (0, ArkMethodBuilder_1.buildDefaultArkMethodFromArkClass)(cls, defaultMethod, sourceFile, node);
156
+ let defaultMethod = new ArkMethod_1.ArkMethod(cls.getClassSigID());
157
+ (0, ArkMethodBuilder_1.buildDefaultArkMethodFromArkClass)(defaultMethod, sourceFile, node);
120
158
  cls.setDefaultArkMethod(defaultMethod);
121
159
  }
122
160
  function buildNormalArkClass(clsNode, cls, sourceFile, declaringMethod) {
@@ -148,13 +186,11 @@ function buildNormalArkClass(clsNode, cls, sourceFile, declaringMethod) {
148
186
  }
149
187
  exports.buildNormalArkClass = buildNormalArkClass;
150
188
  function init4InstanceInitMethod(cls) {
151
- const instanceInit = new ArkMethod_1.ArkMethod();
152
- instanceInit.setDeclaringArkClass(cls);
153
- instanceInit.setIsGeneratedFlag(true);
154
189
  const methodSubSignature = ArkSignatureBuilder_1.ArkSignatureBuilder.buildMethodSubSignatureFromMethodName(Const_1.INSTANCE_INIT_METHOD_NAME);
155
190
  methodSubSignature.setReturnType(Type_1.VoidType.getInstance());
156
- const methodSignature = new ArkSignature_1.MethodSignature(instanceInit.getDeclaringArkClass().getSignature(), methodSubSignature);
157
- instanceInit.setImplementationSignature(methodSignature);
191
+ const methodSignature = new ArkSignature_1.MethodSignature(cls.getClassSigID(), methodSubSignature);
192
+ const instanceInit = new ArkMethod_1.ArkMethod(cls.getClassSigID(), methodSignature);
193
+ instanceInit.setIsGeneratedFlag(true);
158
194
  instanceInit.setImplOriginFullPosition(new Position_1.FullPosition(0, 0, 0, 0));
159
195
  (0, ArkMethodBuilder_1.checkAndUpdateMethod)(instanceInit, cls);
160
196
  cls.addMethod(instanceInit);
@@ -162,14 +198,12 @@ function init4InstanceInitMethod(cls) {
162
198
  }
163
199
  exports.init4InstanceInitMethod = init4InstanceInitMethod;
164
200
  function init4StaticInitMethod(cls) {
165
- const staticInit = new ArkMethod_1.ArkMethod();
166
- staticInit.setDeclaringArkClass(cls);
167
- staticInit.setIsGeneratedFlag(true);
168
- staticInit.setModifiers(ArkBaseModel_1.ModifierType.STATIC);
169
201
  const methodSubSignature = ArkSignatureBuilder_1.ArkSignatureBuilder.buildMethodSubSignatureFromMethodName(Const_1.STATIC_INIT_METHOD_NAME);
170
202
  methodSubSignature.setReturnType(Type_1.VoidType.getInstance());
171
- const methodSignature = new ArkSignature_1.MethodSignature(staticInit.getDeclaringArkClass().getSignature(), methodSubSignature);
172
- staticInit.setImplementationSignature(methodSignature);
203
+ const methodSignature = new ArkSignature_1.MethodSignature(cls.getClassSigID(), methodSubSignature);
204
+ const staticInit = new ArkMethod_1.ArkMethod(cls.getClassSigID(), methodSignature);
205
+ staticInit.setIsGeneratedFlag(true);
206
+ staticInit.setModifiers(ArkBaseModel_1.ModifierType.STATIC);
173
207
  staticInit.setImplOriginFullPosition(new Position_1.FullPosition(0, 0, 0, 0));
174
208
  (0, ArkMethodBuilder_1.checkAndUpdateMethod)(staticInit, cls);
175
209
  cls.addMethod(staticInit);
@@ -177,16 +211,15 @@ function init4StaticInitMethod(cls) {
177
211
  }
178
212
  exports.init4StaticInitMethod = init4StaticInitMethod;
179
213
  function buildStruct2ArkClass(clsNode, cls, sourceFile, declaringMethod) {
180
- var _a;
181
214
  const className = genClassName(clsNode.name ? (0, StringUtils_1.cloneText)(clsNode.name.text) : '', cls, declaringMethod);
182
- const classSignature = new ArkSignature_1.ClassSignature(className, cls.getDeclaringArkFile().getFileSignature(), ((_a = cls.getDeclaringArkNamespace()) === null || _a === void 0 ? void 0 : _a.getSignature()) || null);
215
+ const classSignature = new ArkSignature_1.ClassSignature(className, cls.getDeclaringFileID(), cls.getDeclaringArkNamespaceID());
183
216
  cls.setSignature(classSignature);
184
217
  if (clsNode.typeParameters) {
185
218
  (0, builderUtils_1.buildTypeParameters)(clsNode.typeParameters, sourceFile, cls).forEach(typeParameter => {
186
219
  cls.addGenericType(typeParameter);
187
220
  });
188
221
  }
189
- initHeritage((0, builderUtils_1.buildHeritageClauses)(clsNode.heritageClauses), cls);
222
+ initHeritage((0, builderUtils_1.buildHeritageClauses)(clsNode.heritageClauses, sourceFile), cls);
190
223
  cls.setModifiers((0, builderUtils_1.buildModifiers)(clsNode));
191
224
  cls.setDecorators((0, builderUtils_1.buildDecorators)(clsNode, sourceFile));
192
225
  registerCustomComponentIfNeeded(cls);
@@ -196,16 +229,17 @@ function buildStruct2ArkClass(clsNode, cls, sourceFile, declaringMethod) {
196
229
  buildArkClassMembers(clsNode, cls, sourceFile);
197
230
  }
198
231
  function buildClass2ArkClass(clsNode, cls, sourceFile, declaringMethod) {
199
- var _a;
200
- const className = genClassName(clsNode.name ? (0, StringUtils_1.cloneText)(clsNode.name.text) : '', cls, declaringMethod);
201
- const classSignature = new ArkSignature_1.ClassSignature(className, cls.getDeclaringArkFile().getFileSignature(), ((_a = cls.getDeclaringArkNamespace()) === null || _a === void 0 ? void 0 : _a.getSignature()) || null);
202
- cls.setSignature(classSignature);
232
+ if (!cls.getSignature()) {
233
+ const className = genClassName(clsNode.name ? (0, StringUtils_1.cloneText)(clsNode.name.text) : '', cls, declaringMethod);
234
+ const classSignature = new ArkSignature_1.ClassSignature(className, cls.getDeclaringFileID(), cls.getDeclaringArkNamespaceID());
235
+ cls.setSignature(classSignature);
236
+ }
203
237
  if (clsNode.typeParameters) {
204
238
  (0, builderUtils_1.buildTypeParameters)(clsNode.typeParameters, sourceFile, cls).forEach(typeParameter => {
205
239
  cls.addGenericType(typeParameter);
206
240
  });
207
241
  }
208
- initHeritage((0, builderUtils_1.buildHeritageClauses)(clsNode.heritageClauses), cls);
242
+ initHeritage((0, builderUtils_1.buildHeritageClauses)(clsNode.heritageClauses, sourceFile), cls);
209
243
  cls.setModifiers((0, builderUtils_1.buildModifiers)(clsNode));
210
244
  cls.setDecorators((0, builderUtils_1.buildDecorators)(clsNode, sourceFile));
211
245
  registerCustomComponentIfNeeded(cls);
@@ -227,30 +261,28 @@ function initHeritage(heritageClauses, cls) {
227
261
  cls.addHeritageClassName(key);
228
262
  }
229
263
  }
230
- /** Register @Component into Scene.customComponentMap while the class is being built. */
264
+ /** Register @Component into customComponentMap while the class is being built. */
231
265
  function registerCustomComponentIfNeeded(cls) {
232
- cls.getDeclaringArkFile().getScene().registerCustomComponent(cls);
266
+ SignatureCanonicalizerRegistry_1.SignatureCanonicalizerRegistry.getInstance().registerCustomComponent(cls);
233
267
  }
234
268
  function buildInterface2ArkClass(clsNode, cls, sourceFile, declaringMethod) {
235
- var _a;
236
269
  const className = genClassName(clsNode.name ? (0, StringUtils_1.cloneText)(clsNode.name.text) : '', cls, declaringMethod);
237
- const classSignature = new ArkSignature_1.ClassSignature(className, cls.getDeclaringArkFile().getFileSignature(), ((_a = cls.getDeclaringArkNamespace()) === null || _a === void 0 ? void 0 : _a.getSignature()) || null);
270
+ const classSignature = new ArkSignature_1.ClassSignature(className, cls.getDeclaringFileID(), cls.getDeclaringArkNamespaceID());
238
271
  cls.setSignature(classSignature);
239
272
  if (clsNode.typeParameters) {
240
273
  (0, builderUtils_1.buildTypeParameters)(clsNode.typeParameters, sourceFile, cls).forEach(typeParameter => {
241
274
  cls.addGenericType(typeParameter);
242
275
  });
243
276
  }
244
- initHeritage((0, builderUtils_1.buildHeritageClauses)(clsNode.heritageClauses), cls);
277
+ initHeritage((0, builderUtils_1.buildHeritageClauses)(clsNode.heritageClauses, sourceFile), cls);
245
278
  cls.setModifiers((0, builderUtils_1.buildModifiers)(clsNode));
246
279
  cls.setDecorators((0, builderUtils_1.buildDecorators)(clsNode, sourceFile));
247
280
  cls.setCategory(ArkClass_1.ClassCategory.INTERFACE);
248
281
  buildArkClassMembers(clsNode, cls, sourceFile);
249
282
  }
250
283
  function buildEnum2ArkClass(clsNode, cls, sourceFile, declaringMethod) {
251
- var _a;
252
284
  const className = genClassName(clsNode.name ? (0, StringUtils_1.cloneText)(clsNode.name.text) : '', cls, declaringMethod);
253
- const classSignature = new ArkSignature_1.ClassSignature(className, cls.getDeclaringArkFile().getFileSignature(), ((_a = cls.getDeclaringArkNamespace()) === null || _a === void 0 ? void 0 : _a.getSignature()) || null);
285
+ const classSignature = new ArkSignature_1.ClassSignature(className, cls.getDeclaringFileID(), cls.getDeclaringArkNamespaceID());
254
286
  cls.setSignature(classSignature);
255
287
  cls.setModifiers((0, builderUtils_1.buildModifiers)(clsNode));
256
288
  cls.setDecorators((0, builderUtils_1.buildDecorators)(clsNode, sourceFile));
@@ -258,40 +290,52 @@ function buildEnum2ArkClass(clsNode, cls, sourceFile, declaringMethod) {
258
290
  init4StaticInitMethod(cls);
259
291
  buildArkClassMembers(clsNode, cls, sourceFile);
260
292
  }
293
+ /**
294
+ * The type alias a type literal is the direct type of, recorded where the declaration is met.
295
+ * Signature building parses without parent pointers, so the relation cannot be read back off the
296
+ * tree there; the body build keeps its pointers and falls back to `parent` below.
297
+ */
298
+ const typeAliasOfTypeLiteral = new WeakMap();
299
+ function registerTypeAliasTypeLiteral(node) {
300
+ if (ohos_typescript_1.default.isTypeLiteralNode(node.type)) {
301
+ typeAliasOfTypeLiteral.set(node.type, node);
302
+ }
303
+ }
304
+ exports.registerTypeAliasTypeLiteral = registerTypeAliasTypeLiteral;
261
305
  function buildTypeLiteralNode2ArkClass(clsNode, cls, sourceFile, declaringMethod) {
262
306
  var _a;
263
307
  const className = genClassName('', cls, declaringMethod);
264
- const classSignature = new ArkSignature_1.ClassSignature(className, cls.getDeclaringArkFile().getFileSignature(), ((_a = cls.getDeclaringArkNamespace()) === null || _a === void 0 ? void 0 : _a.getSignature()) || null);
308
+ const classSignature = new ArkSignature_1.ClassSignature(className, cls.getDeclaringFileID(), cls.getDeclaringArkNamespaceID());
265
309
  cls.setSignature(classSignature);
266
310
  cls.setCategory(ArkClass_1.ClassCategory.TYPE_LITERAL);
267
- if (ohos_typescript_1.default.isTypeAliasDeclaration(clsNode.parent) && clsNode.parent.typeParameters) {
268
- (0, builderUtils_1.buildTypeParameters)(clsNode.parent.typeParameters, sourceFile, cls).forEach(typeParameter => {
311
+ const enclosingAlias = (_a = typeAliasOfTypeLiteral.get(clsNode)) !== null && _a !== void 0 ? _a : (clsNode.parent !== undefined && ohos_typescript_1.default.isTypeAliasDeclaration(clsNode.parent) ? clsNode.parent : undefined);
312
+ if (enclosingAlias === null || enclosingAlias === void 0 ? void 0 : enclosingAlias.typeParameters) {
313
+ (0, builderUtils_1.buildTypeParameters)(enclosingAlias.typeParameters, sourceFile, cls).forEach(typeParameter => {
269
314
  cls.addGenericType(typeParameter);
270
315
  });
271
316
  }
272
317
  buildArkClassMembers(clsNode, cls, sourceFile);
273
318
  }
274
319
  function buildObjectLiteralExpression2ArkClass(clsNode, cls, sourceFile, declaringMethod) {
275
- var _a;
276
320
  const className = genClassName('', cls, declaringMethod);
277
- const classSignature = new ArkSignature_1.ClassSignature(className, cls.getDeclaringArkFile().getFileSignature(), ((_a = cls.getDeclaringArkNamespace()) === null || _a === void 0 ? void 0 : _a.getSignature()) || null);
321
+ const classSignature = new ArkSignature_1.ClassSignature(className, cls.getDeclaringFileID(), cls.getDeclaringArkNamespaceID());
278
322
  cls.setSignature(classSignature);
279
323
  cls.setCategory(ArkClass_1.ClassCategory.OBJECT);
280
324
  let arkMethods = [];
281
325
  init4InstanceInitMethod(cls);
282
- const instanceIRTransformer = new ArkIRTransformer_1.ArkIRTransformer(sourceFile, cls.getInstanceInitMethod());
326
+ const instanceIRTransformer = new ArkIRTransformer_1.ArkIRTransformer(sourceFile, cls.getInstanceInitMethodOrNull());
283
327
  const instanceFieldInitializerStmts = [];
284
328
  clsNode.properties.forEach(property => {
285
329
  if (ohos_typescript_1.default.isPropertyAssignment(property) || ohos_typescript_1.default.isShorthandPropertyAssignment(property) || ohos_typescript_1.default.isSpreadAssignment(property)) {
286
330
  (0, ArkFieldBuilder_1.buildProperty2ArkField)(property, sourceFile, cls);
287
331
  }
288
332
  else {
289
- let arkMethod = new ArkMethod_1.ArkMethod();
290
- arkMethod.setDeclaringArkClass(cls);
333
+ const arkMethod = new ArkMethod_1.ArkMethod(cls.getClassSigID());
291
334
  (0, ArkMethodBuilder_1.buildArkMethodFromArkClass)(property, cls, arkMethod, sourceFile);
335
+ arkMethods.push(arkMethod);
292
336
  }
293
337
  });
294
- (0, ArkMethodBuilder_1.buildInitMethod)(cls.getInstanceInitMethod(), instanceFieldInitializerStmts, instanceIRTransformer.getThisLocal(), instanceIRTransformer.getGlobals());
338
+ (0, ArkMethodBuilder_1.buildInitMethod)(cls.getInstanceInitMethodOrNull(), instanceFieldInitializerStmts, instanceIRTransformer.getThisLocal(), instanceIRTransformer.getGlobals());
295
339
  arkMethods.forEach(mtd => {
296
340
  (0, ArkMethodBuilder_1.checkAndUpdateMethod)(mtd, cls);
297
341
  cls.addMethod(mtd);
@@ -320,11 +364,11 @@ function buildArkClassMembers(clsNode, cls, sourceFile) {
320
364
  let instanceIRTransformer;
321
365
  let staticIRTransformer;
322
366
  if (ohos_typescript_1.default.isClassDeclaration(clsNode) || ohos_typescript_1.default.isClassExpression(clsNode) || ohos_typescript_1.default.isStructDeclaration(clsNode)) {
323
- instanceIRTransformer = new ArkIRTransformer_1.ArkIRTransformer(sourceFile, cls.getInstanceInitMethod());
324
- staticIRTransformer = new ArkIRTransformer_1.ArkIRTransformer(sourceFile, cls.getStaticInitMethod());
367
+ instanceIRTransformer = new ArkIRTransformer_1.ArkIRTransformer(sourceFile, cls.getInstanceInitMethodOrNull());
368
+ staticIRTransformer = new ArkIRTransformer_1.ArkIRTransformer(sourceFile, cls.getStaticInitMethodOrNull());
325
369
  }
326
370
  if (ohos_typescript_1.default.isEnumDeclaration(clsNode)) {
327
- staticIRTransformer = new ArkIRTransformer_1.ArkIRTransformer(sourceFile, cls.getStaticInitMethod());
371
+ staticIRTransformer = new ArkIRTransformer_1.ArkIRTransformer(sourceFile, cls.getStaticInitMethodOrNull());
328
372
  }
329
373
  const staticInitStmts = [];
330
374
  const instanceInitStmts = [];
@@ -369,15 +413,15 @@ function buildArkClassMembers(clsNode, cls, sourceFile) {
369
413
  logger.trace('Skip these members.');
370
414
  }
371
415
  else {
372
- logger.warn(`Please contact developers to support new member in class: ${cls.getSignature().toString()}, member: ${(0, StringUtils_1.cloneText)(member.getText())}!`);
416
+ logger.warn(`Please contact developers to support new member in class: ${cls.getSignature().toString()}, member: ${(0, StringUtils_1.cloneText)(member.getText(sourceFile))}!`);
373
417
  }
374
418
  });
375
419
  if (ohos_typescript_1.default.isClassDeclaration(clsNode) || ohos_typescript_1.default.isClassExpression(clsNode) || ohos_typescript_1.default.isStructDeclaration(clsNode)) {
376
- (0, ArkMethodBuilder_1.buildInitMethod)(cls.getInstanceInitMethod(), instanceInitStmts, instanceIRTransformer.getThisLocal(), instanceIRTransformer.getGlobals());
377
- (0, ArkMethodBuilder_1.buildInitMethod)(cls.getStaticInitMethod(), staticInitStmts, staticIRTransformer.getThisLocal(), staticIRTransformer.getGlobals());
420
+ (0, ArkMethodBuilder_1.buildInitMethod)(cls.getInstanceInitMethodOrNull(), instanceInitStmts, instanceIRTransformer.getThisLocal(), instanceIRTransformer.getGlobals());
421
+ (0, ArkMethodBuilder_1.buildInitMethod)(cls.getStaticInitMethodOrNull(), staticInitStmts, staticIRTransformer.getThisLocal(), staticIRTransformer.getGlobals());
378
422
  }
379
423
  if (ohos_typescript_1.default.isEnumDeclaration(clsNode)) {
380
- (0, ArkMethodBuilder_1.buildInitMethod)(cls.getStaticInitMethod(), staticInitStmts, staticIRTransformer.getThisLocal(), staticIRTransformer.getGlobals());
424
+ (0, ArkMethodBuilder_1.buildInitMethod)(cls.getStaticInitMethodOrNull(), staticInitStmts, staticIRTransformer.getThisLocal(), staticIRTransformer.getGlobals());
381
425
  }
382
426
  }
383
427
  function isClassMethod(member) {
@@ -396,7 +440,7 @@ function buildMethodsForClass(clsNode, cls, sourceFile) {
396
440
  ohos_typescript_1.default.isConstructSignatureDeclaration(member) ||
397
441
  ohos_typescript_1.default.isAccessor(member) ||
398
442
  ohos_typescript_1.default.isCallSignatureDeclaration(member)) {
399
- let mthd = new ArkMethod_1.ArkMethod();
443
+ let mthd = new ArkMethod_1.ArkMethod(cls.getClassSigID());
400
444
  (0, ArkMethodBuilder_1.buildArkMethodFromArkClass)(member, cls, mthd, sourceFile);
401
445
  if (ohos_typescript_1.default.isConstructorDeclaration(member)) {
402
446
  buildParameterProperty2ArkField(member.parameters, cls, sourceFile);
@@ -429,8 +473,7 @@ function buildParameterProperty2ArkField(params, cls, sourceFile) {
429
473
  if (parameter.modifiers === undefined || !ohos_typescript_1.default.isIdentifier(parameter.name)) {
430
474
  return;
431
475
  }
432
- let field = new ArkField_1.ArkField();
433
- field.setDeclaringArkClass(cls);
476
+ let field = new ArkField_1.ArkField(cls.getClassSigID());
434
477
  field.setCategory(ArkField_1.FieldCategory.PARAMETER_PROPERTY);
435
478
  field.setOriginFullPosition(Position_1.FullPosition.buildFromNode(parameter, sourceFile));
436
479
  let fieldType;
@@ -440,7 +483,7 @@ function buildParameterProperty2ArkField(params, cls, sourceFile) {
440
483
  else {
441
484
  fieldType = Type_1.UnknownType.getInstance();
442
485
  }
443
- const fieldSignature = new ArkSignature_1.FieldSignature(fieldName, cls.getSignature(), fieldType, false);
486
+ const fieldSignature = new ArkSignature_1.FieldSignature(fieldName, cls.getClassSigID(), fieldType, false);
444
487
  field.setSignature(fieldSignature);
445
488
  field.setModifiers((0, builderUtils_1.buildModifiers)(parameter));
446
489
  if (parameter.questionToken) {
@@ -454,15 +497,12 @@ function buildStaticBlocksForClass(clsNode, cls, sourceFile) {
454
497
  const staticBlockMethodSignatures = [];
455
498
  clsNode.members.forEach(member => {
456
499
  if (ohos_typescript_1.default.isClassStaticBlockDeclaration(member)) {
457
- const staticBlockMethod = new ArkMethod_1.ArkMethod();
458
- staticBlockMethod.setDeclaringArkClass(cls);
459
- staticBlockMethod.setIsGeneratedFlag(true);
460
- staticBlockMethod.setImplOriginFullPosition(Position_1.FullPosition.buildFromNode(member, sourceFile));
461
500
  const methodName = Const_1.STATIC_BLOCK_METHOD_NAME_PREFIX + staticInitBlockId++;
462
501
  const methodSubSignature = new ArkSignature_1.MethodSubSignature(methodName, [], Type_1.VoidType.getInstance(), true);
463
- const methodSignature = new ArkSignature_1.MethodSignature(cls.getSignature(), methodSubSignature);
502
+ const methodSignature = new ArkSignature_1.MethodSignature(cls.getClassSigID(), methodSubSignature);
464
503
  staticBlockMethodSignatures.push(methodSignature);
465
- staticBlockMethod.setImplementationSignature(methodSignature);
504
+ const staticBlockMethod = new ArkMethod_1.ArkMethod(cls.getClassSigID(), methodSignature);
505
+ staticBlockMethod.setIsGeneratedFlag(true);
466
506
  staticBlockMethod.setImplOriginFullPosition(Position_1.FullPosition.buildFromNode(member, sourceFile));
467
507
  let bodyBuilder = new BodyBuilder_1.BodyBuilder(staticBlockMethod.getSignature(), member, staticBlockMethod, sourceFile);
468
508
  staticBlockMethod.setBodyBuilder(bodyBuilder);
@@ -482,6 +522,11 @@ function getInitStmts(transformer, field, initNode, enumFieldInfo) {
482
522
  const assignStmt = new Stmt_1.ArkAssignStmt(fieldRef, initValue);
483
523
  assignStmt.setOperandOriginalPositions([...fieldRefPositions, ...initPositions]);
484
524
  stmts.push(assignStmt);
525
+ const declaredType = field.getSignature().getType();
526
+ const unifiedType = (0, builderUtils_1.unifyDeclaredTypeWithInitializer)(declaredType, initValue.getType());
527
+ if (unifiedType !== declaredType) {
528
+ field.getSignature().setType(unifiedType);
529
+ }
485
530
  setFieldInitPositionInfo(field, stmts, initValue);
486
531
  }
487
532
  function processInitValue(transformer, field, initNode, enumFieldInfo, stmts) {
@@ -530,12 +575,13 @@ function createEnumInitValue(field, enumFieldInfo) {
530
575
  }
531
576
  function setFieldInitPositionInfo(field, stmts, initValue) {
532
577
  const fieldOriginPosition = field.getOriginFullPosition();
533
- for (const stmt of stmts) {
578
+ const fieldInitStmts = stmts.filter(stmt => !(stmt instanceof ArkIRTransformer_1.DummyStmt));
579
+ for (const stmt of fieldInitStmts) {
534
580
  if (!stmt.getOriginFullPosition()) {
535
581
  stmt.setOriginFullPosition(fieldOriginPosition);
536
582
  }
537
583
  }
538
- field.setInitializer(stmts);
584
+ field.setInitializer(fieldInitStmts);
539
585
  if (field.getType() instanceof Type_1.UnknownType) {
540
586
  field.getSignature().setType(initValue.getType());
541
587
  }
@@ -5,7 +5,7 @@ import { ArkFile } from '../ArkFile';
5
5
  import { ArkNamespace } from '../ArkNamespace';
6
6
  export { buildExportInfo, buildExportAssignment, buildExportDeclaration };
7
7
  declare function buildExportInfo(arkInstance: ArkExport, arkFile: ArkFile, position: FullPosition): ExportInfo;
8
- export declare function buildDefaultExportInfo(im: FromInfo, file: ArkFile, arkExport?: ArkExport): ExportInfo;
8
+ export declare function buildDefaultExportInfo(im: FromInfo, file: ArkFile, arkExport?: ArkExport | null): ExportInfo;
9
9
  declare function buildExportDeclaration(node: ts.ExportDeclaration, sourceFile: ts.SourceFile, arkFile: ArkFile): ExportInfo[];
10
10
  declare function buildExportAssignment(node: ts.ExportAssignment, sourceFile: ts.SourceFile, arkFile: ArkFile): ExportInfo[];
11
11
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ArkExportBuilder.d.ts","sourceRoot":"","sources":["../../../../src/core/model/builder/ArkExportBuilder.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAc,QAAQ,EAAE,MAAM,cAAc,CAAC;AAG3E,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAMrC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,CAAC;AAQ1E,iBAAS,eAAe,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,GAAG,UAAU,CAerG;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,UAAU,CAOrG;AAED,iBAAS,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,UAAU,EAAE,CAgDrH;AAED,iBAAS,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,UAAU,EAAE,CAoCnH;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,YAAY,GAAG,UAAU,EAAE,CAiB5J;AAED;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,UAAU,EAAE,CAcxI;AAED,wBAAgB,UAAU,CAAC,aAAa,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,SAAS,GAAG,OAAO,CAU5F"}
1
+ {"version":3,"file":"ArkExportBuilder.d.ts","sourceRoot":"","sources":["../../../../src/core/model/builder/ArkExportBuilder.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAc,QAAQ,EAAE,MAAM,cAAc,CAAC;AAG3E,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAMrC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,CAAC;AAQ1E,iBAAS,eAAe,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,GAAG,UAAU,CAerG;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,GAAG,UAAU,CAO5G;AAED,iBAAS,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,UAAU,EAAE,CAgDrH;AAED,iBAAS,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,UAAU,EAAE,CAoCnH;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,YAAY,GAAG,UAAU,EAAE,CAiB5J;AAED;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,UAAU,EAAE,CAcxI;AAED,wBAAgB,UAAU,CAAC,aAAa,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,SAAS,GAAG,OAAO,CAU5F"}
@@ -130,7 +130,7 @@ function buildExportAssignment(node, sourceFile, arkFile) {
130
130
  .setLeadingComments(IRUtils_1.IRUtils.getCommentsMetadata(node, sourceFile, arkFile.getScene().getOptions(), true))
131
131
  .setTrailingComments(IRUtils_1.IRUtils.getCommentsMetadata(node, sourceFile, arkFile.getScene().getOptions(), false));
132
132
  if (ohos_typescript_1.default.isNewExpression(node.expression) && ohos_typescript_1.default.isClassExpression(node.expression.expression)) {
133
- let cls = new ArkClass_1.ArkClass();
133
+ let cls = new ArkClass_1.ArkClass(arkFile.getFileSigID());
134
134
  (0, ArkClassBuilder_1.buildNormalArkClassFromArkFile)(node.expression.expression, arkFile, cls, sourceFile);
135
135
  }
136
136
  if (ohos_typescript_1.default.isIdentifier(node.expression)) {
@@ -1,9 +1,7 @@
1
1
  import ts from 'ohos-typescript';
2
2
  import { ArkField } from '../ArkField';
3
3
  import { ArkClass } from '../ArkClass';
4
- import { ArkMethod } from '../ArkMethod';
5
4
  export type PropertyLike = ts.PropertyDeclaration | ts.PropertyAssignment;
6
5
  export declare function buildProperty2ArkField(member: ts.PropertyDeclaration | ts.PropertyAssignment | ts.ShorthandPropertyAssignment | ts.SpreadAssignment | ts.PropertySignature | ts.EnumMember, sourceFile: ts.SourceFile, cls: ArkClass): ArkField;
7
6
  export declare function buildIndexSignature2ArkField(member: ts.IndexSignatureDeclaration, sourceFile: ts.SourceFile, cls: ArkClass): void;
8
- export declare function buildGetAccessor2ArkField(member: ts.GetAccessorDeclaration, mthd: ArkMethod, sourceFile: ts.SourceFile): void;
9
7
  //# sourceMappingURL=ArkFieldBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ArkFieldBuilder.d.ts","sourceRoot":"","sources":["../../../../src/core/model/builder/ArkFieldBuilder.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAiB,MAAM,aAAa,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAWzC,MAAM,MAAM,YAAY,GAAG,EAAE,CAAC,mBAAmB,GAAG,EAAE,CAAC,kBAAkB,CAAC;AAE1E,wBAAgB,sBAAsB,CAClC,MAAM,EAAE,EAAE,CAAC,mBAAmB,GAAG,EAAE,CAAC,kBAAkB,GAAG,EAAE,CAAC,2BAA2B,GAAG,EAAE,CAAC,gBAAgB,GAAG,EAAE,CAAC,iBAAiB,GAAG,EAAE,CAAC,UAAU,EACpJ,UAAU,EAAE,EAAE,CAAC,UAAU,EACzB,GAAG,EAAE,QAAQ,GACd,QAAQ,CAmDV;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,EAAE,CAAC,yBAAyB,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,QAAQ,GAAG,IAAI,CAkBjI;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,EAAE,CAAC,sBAAsB,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,IAAI,CA8B7H"}
1
+ {"version":3,"file":"ArkFieldBuilder.d.ts","sourceRoot":"","sources":["../../../../src/core/model/builder/ArkFieldBuilder.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAiB,MAAM,aAAa,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAWvC,MAAM,MAAM,YAAY,GAAG,EAAE,CAAC,mBAAmB,GAAG,EAAE,CAAC,kBAAkB,CAAC;AAE1E,wBAAgB,sBAAsB,CAClC,MAAM,EAAE,EAAE,CAAC,mBAAmB,GAAG,EAAE,CAAC,kBAAkB,GAAG,EAAE,CAAC,2BAA2B,GAAG,EAAE,CAAC,gBAAgB,GAAG,EAAE,CAAC,iBAAiB,GAAG,EAAE,CAAC,UAAU,EACpJ,UAAU,EAAE,EAAE,CAAC,UAAU,EACzB,GAAG,EAAE,QAAQ,GACd,QAAQ,CAkDV;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,EAAE,CAAC,yBAAyB,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,QAAQ,GAAG,IAAI,CAmBjI"}
@@ -40,7 +40,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
40
40
  return (mod && mod.__esModule) ? mod : { "default": mod };
41
41
  };
42
42
  Object.defineProperty(exports, "__esModule", { value: true });
43
- exports.buildGetAccessor2ArkField = exports.buildIndexSignature2ArkField = exports.buildProperty2ArkField = void 0;
43
+ exports.buildIndexSignature2ArkField = exports.buildProperty2ArkField = void 0;
44
44
  const ohos_typescript_1 = __importDefault(require("ohos-typescript"));
45
45
  const ArkField_1 = require("../ArkField");
46
46
  const logger_1 = __importStar(require("../../../utils/logger"));
@@ -53,9 +53,8 @@ const ArkBaseModel_1 = require("../ArkBaseModel");
53
53
  const IRUtils_1 = require("../../common/IRUtils");
54
54
  const logger = logger_1.default.getLogger(logger_1.LOG_MODULE_TYPE.ARKANALYZER, 'ArkFieldBuilder');
55
55
  function buildProperty2ArkField(member, sourceFile, cls) {
56
- let field = new ArkField_1.ArkField();
56
+ let field = new ArkField_1.ArkField(cls.getClassSigID());
57
57
  field.setCategory(mapSyntaxKindToFieldOriginType(member.kind));
58
- field.setDeclaringArkClass(cls);
59
58
  field.setOriginFullPosition(Position_1.FullPosition.buildFromNode(member, sourceFile));
60
59
  let fieldName = (0, StringUtils_1.cloneText)(member.getText(sourceFile));
61
60
  if (member.name && ohos_typescript_1.default.isComputedPropertyName(member.name)) {
@@ -66,7 +65,7 @@ function buildProperty2ArkField(member, sourceFile, cls) {
66
65
  fieldName = (0, builderUtils_1.handlePropertyAccessExpression)(member.name.expression);
67
66
  }
68
67
  else {
69
- logger.warn(`Other property expression type found: ${(0, StringUtils_1.cloneText)(member.name.expression.getText())}!`);
68
+ logger.warn(`Other property expression type found: ${(0, StringUtils_1.cloneText)(member.name.expression.getText(sourceFile))}!`);
70
69
  }
71
70
  }
72
71
  else if (member.name && (ohos_typescript_1.default.isIdentifier(member.name) || ohos_typescript_1.default.isLiteralExpression(member.name))) {
@@ -78,7 +77,7 @@ function buildProperty2ArkField(member, sourceFile, cls) {
78
77
  field.addModifier(ArkBaseModel_1.ModifierType.PRIVATE);
79
78
  }
80
79
  else {
81
- logger.warn(`Other type of property name found: ${(0, StringUtils_1.cloneText)(member.getText())}!`);
80
+ logger.warn(`Other type of property name found: ${(0, StringUtils_1.cloneText)(member.getText(sourceFile))}!`);
82
81
  }
83
82
  let fieldType = Type_1.UnknownType.getInstance();
84
83
  if (ohos_typescript_1.default.isPropertyDeclaration(member) || ohos_typescript_1.default.isPropertySignature(member)) {
@@ -96,7 +95,7 @@ function buildProperty2ArkField(member, sourceFile, cls) {
96
95
  field.addModifier(ArkBaseModel_1.ModifierType.STATIC);
97
96
  fieldType = new Type_1.ClassType(cls.getSignature());
98
97
  }
99
- field.setSignature(new ArkSignature_1.FieldSignature(fieldName, cls.getSignature(), fieldType, field.isStatic()));
98
+ field.setSignature(new ArkSignature_1.FieldSignature(fieldName, cls.getClassSigID(), fieldType, field.isStatic()));
100
99
  if (ohos_typescript_1.default.isPropertyDeclaration(member) && member.exclamationToken) {
101
100
  field.setExclamationToken(true);
102
101
  }
@@ -106,9 +105,8 @@ function buildProperty2ArkField(member, sourceFile, cls) {
106
105
  }
107
106
  exports.buildProperty2ArkField = buildProperty2ArkField;
108
107
  function buildIndexSignature2ArkField(member, sourceFile, cls) {
109
- const field = new ArkField_1.ArkField();
108
+ const field = new ArkField_1.ArkField(cls.getClassSigID());
110
109
  field.setCategory(mapSyntaxKindToFieldOriginType(member.kind));
111
- field.setDeclaringArkClass(cls);
112
110
  field.setOriginFullPosition(Position_1.FullPosition.buildFromNode(member, sourceFile));
113
111
  if (member.modifiers) {
114
112
  let modifier = (0, builderUtils_1.buildModifiers)(member);
@@ -116,46 +114,14 @@ function buildIndexSignature2ArkField(member, sourceFile, cls) {
116
114
  }
117
115
  const fieldName = '[' + (0, StringUtils_1.cloneText)(member.parameters[0].getText(sourceFile)) + ']';
118
116
  const fieldType = (0, builderUtils_1.buildGenericType)((0, builderUtils_1.tsNode2Type)(member.type, sourceFile, field), field);
119
- const fieldSignature = new ArkSignature_1.FieldSignature(fieldName, cls.getSignature(), fieldType, true);
117
+ // staticFlag 与 addField 分流基准(field.isStatic(),读 modifier)保持一致——index-signature 是实例成员(obj[key] 访问)。硬编码 true 会导致
118
+ // 签名 flag 与 isStatic() 分裂(addField 分流进 instance 数组而签名 flag=true),签名值直查(getFieldWithName)下必 miss。
119
+ const fieldSignature = new ArkSignature_1.FieldSignature(fieldName, cls.getClassSigID(), fieldType, field.isStatic());
120
120
  field.setSignature(fieldSignature);
121
121
  IRUtils_1.IRUtils.setComments(field, member, sourceFile, cls.getDeclaringArkFile().getScene().getOptions());
122
122
  cls.addField(field);
123
123
  }
124
124
  exports.buildIndexSignature2ArkField = buildIndexSignature2ArkField;
125
- function buildGetAccessor2ArkField(member, mthd, sourceFile) {
126
- let cls = mthd.getDeclaringArkClass();
127
- let field = new ArkField_1.ArkField();
128
- field.setDeclaringArkClass(cls);
129
- field.setCategory(mapSyntaxKindToFieldOriginType(member.kind));
130
- field.setOriginFullPosition(Position_1.FullPosition.buildFromNode(member, sourceFile));
131
- let fieldName = (0, StringUtils_1.cloneText)(member.getText(sourceFile));
132
- if (ohos_typescript_1.default.isIdentifier(member.name) || ohos_typescript_1.default.isLiteralExpression(member.name)) {
133
- fieldName = (0, StringUtils_1.cloneText)(member.name.text);
134
- }
135
- else if (ohos_typescript_1.default.isComputedPropertyName(member.name)) {
136
- if (ohos_typescript_1.default.isIdentifier(member.name.expression)) {
137
- let propertyName = (0, StringUtils_1.cloneText)(member.name.expression.text);
138
- fieldName = propertyName;
139
- }
140
- else if (ohos_typescript_1.default.isPropertyAccessExpression(member.name.expression)) {
141
- fieldName = (0, builderUtils_1.handlePropertyAccessExpression)(member.name.expression);
142
- }
143
- else if (ohos_typescript_1.default.isLiteralExpression(member.name.expression)) {
144
- fieldName = (0, StringUtils_1.cloneText)(member.name.expression.text);
145
- }
146
- else {
147
- logger.warn('Other type of computed property name found!');
148
- }
149
- }
150
- else {
151
- logger.warn('Please contact developers to support new type of GetAccessor name!');
152
- }
153
- const fieldType = mthd.getReturnType();
154
- const fieldSignature = new ArkSignature_1.FieldSignature(fieldName, cls.getSignature(), fieldType, false);
155
- field.setSignature(fieldSignature);
156
- cls.addField(field);
157
- }
158
- exports.buildGetAccessor2ArkField = buildGetAccessor2ArkField;
159
125
  function mapSyntaxKindToFieldOriginType(syntaxKind) {
160
126
  let fieldOriginType = null;
161
127
  switch (syntaxKind) {
@@ -1 +1 @@
1
- {"version":3,"file":"ArkFileBuilder.d.ts","sourceRoot":"","sources":["../../../../src/core/model/builder/ArkFileBuilder.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,OAAO,EAAY,MAAM,YAAY,CAAC;AAyB/C,eAAO,MAAM,iBAAiB,UAiB7B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CA0B9H;AAiHD;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAWpE;AAgCD;;;;;;;;;;GAUG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAcrE"}
1
+ {"version":3,"file":"ArkFileBuilder.d.ts","sourceRoot":"","sources":["../../../../src/core/model/builder/ArkFileBuilder.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,OAAO,EAAY,MAAM,YAAY,CAAC;AA2B/C,eAAO,MAAM,iBAAiB,UAiB7B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CA0B9H;AA2GD;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAcpE;AAgCD;;;;;;;;;;GAUG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAcrE"}