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
@@ -16,10 +16,10 @@
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.Local = void 0;
18
18
  const Type_1 = require("./Type");
19
+ const Value_1 = require("./Value");
19
20
  const TypeInference_1 = require("../common/TypeInference");
20
21
  const ArkExport_1 = require("../model/ArkExport");
21
22
  const ArkSignature_1 = require("../model/ArkSignature");
22
- const ArkSignatureBuilder_1 = require("../model/builder/ArkSignatureBuilder");
23
23
  const Const_1 = require("../common/Const");
24
24
  const ArkBaseModel_1 = require("../model/ArkBaseModel");
25
25
  const ModelUtils_1 = require("../common/ModelUtils");
@@ -33,45 +33,30 @@ class Local {
33
33
  this.type = type;
34
34
  this.originalValue = null;
35
35
  this.declaringStmt = null;
36
- this.usedStmts = [];
37
36
  }
38
37
  inferType(arkMethod) {
39
- var _a, _b;
38
+ var _a;
40
39
  if (this.name === TSConst_1.THIS_NAME && this.type instanceof Type_1.UnknownType) {
41
40
  const declaringArkClass = arkMethod.getDeclaringArkClass();
42
41
  this.type = new Type_1.ClassType(declaringArkClass.getSignature(), declaringArkClass.getRealTypes());
43
42
  }
44
43
  else if (!this.name.startsWith(Const_1.NAME_PREFIX) && TypeInference_1.TypeInference.isUnclearType(this.type)) {
45
- const type = (_a = TypeInference_1.TypeInference.inferBaseType(this.name, arkMethod.getDeclaringArkClass())) !== null && _a !== void 0 ? _a : (_b = ModelUtils_1.ModelUtils.findDeclaredLocal(this, arkMethod)) === null || _b === void 0 ? void 0 : _b.getType();
44
+ const type = (_a = TypeInference_1.TypeInference.inferBaseType(this.name, arkMethod.getDeclaringArkClass())) !== null && _a !== void 0 ? _a : ModelUtils_1.ModelUtils.findDeclaredLocalType(this.name, arkMethod);
46
45
  if (type) {
47
46
  this.type = type;
48
47
  }
49
48
  }
50
49
  if (this.type instanceof Type_1.FunctionType) {
51
- this.type.getMethodSignature().getMethodSubSignature().getParameters()
50
+ this.type
51
+ .getMethodSignature()
52
+ .getMethodSubSignature()
53
+ .getParameters()
52
54
  .forEach(p => TypeInference_1.TypeInference.inferParameterType(p, arkMethod));
53
55
  TypeInference_1.TypeInference.inferSignatureReturnType(this.type.getMethodSignature(), arkMethod);
54
56
  }
55
57
  return this;
56
58
  }
57
- /**
58
- * Returns the name of local value.
59
- * @returns The name of local value.
60
- * @example
61
- * 1. get the name of local value.
62
-
63
- ```typescript
64
- arkClass.getDefaultArkMethod()?.getBody().getLocals().forEach(local => {
65
- const arkField = new ArkField();
66
- arkField.setFieldType(ArkField.DEFAULT_ARK_Field);
67
- arkField.setDeclaringClass(defaultClass);
68
- arkField.setType(local.getType());
69
- arkField.setName(local.getName());
70
- arkField.genSignature();
71
- defaultClass.addField(arkField);
72
- });
73
- ```
74
- */
59
+ /** Returns the name of local value. */
75
60
  getName() {
76
61
  return this.name;
77
62
  }
@@ -122,21 +107,33 @@ class Local {
122
107
  * Returns an **array** of values which are contained in this local.
123
108
  * @returns An **array** of values used by this local.
124
109
  */
125
- getUses() {
126
- return [];
110
+ getUses(acc) {
111
+ return acc !== null && acc !== void 0 ? acc : Value_1.EMPTY_USES;
127
112
  }
128
113
  addUsedStmt(usedStmt) {
129
- this.usedStmts.push(usedStmt);
114
+ var _a;
115
+ ((_a = this._usedStmts) !== null && _a !== void 0 ? _a : (this._usedStmts = [])).push(usedStmt);
116
+ }
117
+ /**
118
+ * The statements using this local, exposed as a property so that consumers reading the field
119
+ * directly keep seeing an array; same value as {@link getUsedStmts}.
120
+ */
121
+ get usedStmts() {
122
+ var _a;
123
+ return (_a = this._usedStmts) !== null && _a !== void 0 ? _a : Value_1.EMPTY_USED_STMTS;
130
124
  }
131
125
  /**
132
126
  * Returns an array of statements used by the local, i.e., the statements in which the local participate.
133
127
  * For example, if the code snippet is `let dd = cc + 5;` where `cc` is a local and `cc` only appears once,
134
128
  * then the length of **array** returned is 1 and `Stmts[0]` will be same as the example described
135
129
  * in the `Local.getDeclaringStmt()`.
130
+ * The backing list is allocated on the first {@link addUsedStmt}, so a local nobody uses yields
131
+ * the shared read-only empty array instead of allocating one.
136
132
  * @returns An array of statements used by the local.
137
133
  */
138
134
  getUsedStmts() {
139
- return this.usedStmts;
135
+ var _a;
136
+ return (_a = this._usedStmts) !== null && _a !== void 0 ? _a : Value_1.EMPTY_USED_STMTS;
140
137
  }
141
138
  /**
142
139
  * Get a string of local name in Local
@@ -168,7 +165,7 @@ class Local {
168
165
  }
169
166
  getSignature() {
170
167
  var _a;
171
- return ((_a = this.signature) !== null && _a !== void 0 ? _a : new ArkSignature_1.LocalSignature(this.name, new ArkSignature_1.MethodSignature(ArkSignature_1.ClassSignature.DEFAULT, ArkSignatureBuilder_1.ArkSignatureBuilder.buildMethodSubSignatureFromMethodName(Const_1.UNKNOWN_METHOD_NAME))));
168
+ return (_a = this.signature) !== null && _a !== void 0 ? _a : new ArkSignature_1.LocalSignature(this.name, ArkSignature_1.MethodSignature.DEFAULT);
172
169
  }
173
170
  setSignature(signature) {
174
171
  this.signature = signature;
@@ -33,6 +33,12 @@ export declare class FullPosition {
33
33
  getLastLine(): number;
34
34
  getFirstCol(): number;
35
35
  getLastCol(): number;
36
+ /** @internal Raw packed line/col word of the range start, for compact storage. */
37
+ getFirstPacked(): LineCol;
38
+ /** @internal Raw packed line/col word of the range end, for compact storage. */
39
+ getLastPacked(): LineCol;
40
+ /** @internal Rebuild a position from raw packed words produced by getFirstPacked/getLastPacked. */
41
+ static fromPacked(first: LineCol, last: LineCol): FullPosition;
36
42
  static buildFromNode(node: ts.Node, sourceFile: ts.SourceFile): FullPosition;
37
43
  /**
38
44
  *Building a FullPosition object from a C++AST node
@@ -1 +1 @@
1
- {"version":3,"file":"Position.d.ts","sourceRoot":"","sources":["../../../src/core/base/Position.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAGjC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAU/F,eAAO,MAAM,YAAY,KAAK,CAAC;AAE/B,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAE7B,wBAAgB,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAUjE;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAU/D;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAKjE;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAMlD;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAMjD;AAED;;GAEG;AACH,qBAAa,eAAe;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAElC,gBAAuB,OAAO,EAAE,eAAe,CAAmD;gBAEtF,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAIlC,SAAS,IAAI,MAAM;IAInB,QAAQ,IAAI,MAAM;WAIX,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,eAAe;IAMtF;;;;OAIG;WACW,gBAAgB,CAAC,IAAI,EAAE,wBAAwB,GAAG,eAAe;CAIlF;AAED,qBAAa,YAAY;IACrB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAU;IAE/B,gBAAuB,OAAO,EAAE,YAAY,CAA4E;gBAE5G,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAK3E,YAAY,IAAI,MAAM;IAItB,WAAW,IAAI,MAAM;IAIrB,WAAW,IAAI,MAAM;IAIrB,UAAU,IAAI,MAAM;WAKb,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,YAAY;IAQnF;;;;;OAKG;WACW,gBAAgB,CAAC,IAAI,EAAE,wBAAwB,GAAG,SAAS,EAAE,WAAW,EAAE,wBAAwB,GAAG,YAAY;WAWjH,KAAK,CAAC,gBAAgB,EAAE,YAAY,EAAE,iBAAiB,EAAE,YAAY,GAAG,YAAY;CAQrG"}
1
+ {"version":3,"file":"Position.d.ts","sourceRoot":"","sources":["../../../src/core/base/Position.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAGjC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAU/F,eAAO,MAAM,YAAY,KAAK,CAAC;AAE/B,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAE7B,wBAAgB,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAUjE;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAU/D;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAKjE;AAgBD,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAMlD;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAMjD;AAED;;GAEG;AACH,qBAAa,eAAe;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAElC,gBAAuB,OAAO,EAAE,eAAe,CAAmD;gBAEtF,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAIlC,SAAS,IAAI,MAAM;IAInB,QAAQ,IAAI,MAAM;WAIX,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,eAAe;IAQtF;;;;OAIG;WACW,gBAAgB,CAAC,IAAI,EAAE,wBAAwB,GAAG,eAAe;CAIlF;AAED,qBAAa,YAAY;IACrB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAU;IAE/B,gBAAuB,OAAO,EAAE,YAAY,CAA4E;gBAE5G,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAK3E,YAAY,IAAI,MAAM;IAItB,WAAW,IAAI,MAAM;IAIrB,WAAW,IAAI,MAAM;IAIrB,UAAU,IAAI,MAAM;IAI3B,kFAAkF;IAC3E,cAAc,IAAI,OAAO;IAIhC,gFAAgF;IACzE,aAAa,IAAI,OAAO;IAI/B,mGAAmG;WACrF,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,YAAY;WAIvD,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,YAAY;IAWnF;;;;;OAKG;WACW,gBAAgB,CAAC,IAAI,EAAE,wBAAwB,GAAG,SAAS,EAAE,WAAW,EAAE,wBAAwB,GAAG,YAAY;WAUjH,KAAK,CAAC,gBAAgB,EAAE,YAAY,EAAE,iBAAiB,EAAE,YAAY,GAAG,YAAY;CAQrG"}
@@ -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.FullPosition = exports.LineColPosition = exports.getColNo = exports.getLineNo = exports.setLineCol = exports.setCol = exports.setLine = exports.INVALID_LINE = void 0;
44
- const ohos_typescript_1 = __importDefault(require("ohos-typescript"));
45
41
  const logger_1 = __importStar(require("../../utils/logger"));
46
42
  const cppUtils_1 = require("../../frontend/cppFrontend/utils/cppUtils");
47
43
  const logger = logger_1.default.getLogger(logger_1.LOG_MODULE_TYPE.ARKANALYZER, 'Position');
@@ -80,6 +76,20 @@ function setLineCol(lineNo, colNo) {
80
76
  return lineCol;
81
77
  }
82
78
  exports.setLineCol = setLineCol;
79
+ function lineIndexOfPosition(lineStarts, position) {
80
+ let lo = 0;
81
+ let hi = lineStarts.length - 1;
82
+ while (lo < hi) {
83
+ const mid = (lo + hi + 1) >>> 1;
84
+ if (lineStarts[mid] <= position) {
85
+ lo = mid;
86
+ }
87
+ else {
88
+ hi = mid - 1;
89
+ }
90
+ }
91
+ return lo;
92
+ }
83
93
  function getLineNo(lineCol) {
84
94
  let line = lineCol >>> LOW_BITS_SIZE;
85
95
  if (line === MIN_NUMBER) {
@@ -110,9 +120,11 @@ class LineColPosition {
110
120
  return getColNo(this.lineCol);
111
121
  }
112
122
  static buildFromNode(node, sourceFile) {
113
- let { line, character } = ohos_typescript_1.default.getLineAndCharacterOfPosition(sourceFile, node.getStart(sourceFile));
123
+ const lineStarts = sourceFile.getLineStarts();
124
+ const offset = node.getStart(sourceFile);
125
+ const line = lineIndexOfPosition(lineStarts, offset);
114
126
  // line start from 1.
115
- return new LineColPosition(line + 1, character + 1);
127
+ return new LineColPosition(line + 1, offset - lineStarts[line] + 1);
116
128
  }
117
129
  /**
118
130
  * Builds a LineColPosition object from a CxxAstNode.
@@ -143,11 +155,26 @@ class FullPosition {
143
155
  getLastCol() {
144
156
  return getColNo(this.last);
145
157
  }
158
+ /** @internal Raw packed line/col word of the range start, for compact storage. */
159
+ getFirstPacked() {
160
+ return this.first;
161
+ }
162
+ /** @internal Raw packed line/col word of the range end, for compact storage. */
163
+ getLastPacked() {
164
+ return this.last;
165
+ }
166
+ /** @internal Rebuild a position from raw packed words produced by getFirstPacked/getLastPacked. */
167
+ static fromPacked(first, last) {
168
+ return new FullPosition(getLineNo(first), getColNo(first), getLineNo(last), getColNo(last));
169
+ }
146
170
  static buildFromNode(node, sourceFile) {
147
- const { line: startLine, character: startCharacter } = ohos_typescript_1.default.getLineAndCharacterOfPosition(sourceFile, node.getStart(sourceFile));
148
- const { line: endLine, character: endCharacter } = ohos_typescript_1.default.getLineAndCharacterOfPosition(sourceFile, node.getEnd());
171
+ const lineStarts = sourceFile.getLineStarts();
172
+ const startOffset = node.getStart(sourceFile);
173
+ const startLine = lineIndexOfPosition(lineStarts, startOffset);
174
+ const endOffset = node.getEnd();
175
+ const endLine = lineIndexOfPosition(lineStarts, endOffset);
149
176
  // line start from 1
150
- return new FullPosition(startLine + 1, startCharacter + 1, endLine + 1, endCharacter + 1);
177
+ return new FullPosition(startLine + 1, startOffset - lineStarts[startLine] + 1, endLine + 1, endOffset - lineStarts[endLine] + 1);
151
178
  }
152
179
  /**
153
180
  *Building a FullPosition object from a C++AST node
@@ -162,8 +189,7 @@ class FullPosition {
162
189
  const startLine = (_c = begin === null || begin === void 0 ? void 0 : begin.line) !== null && _c !== void 0 ? _c : 0;
163
190
  const startCharacter = (_d = begin === null || begin === void 0 ? void 0 : begin.col) !== null && _d !== void 0 ? _d : 0;
164
191
  const endLine = (_e = end === null || end === void 0 ? void 0 : end.line) !== null && _e !== void 0 ? _e : startLine;
165
- const endCharacter = (end && end.tokLen) ? end.col + end.tokLen :
166
- ((begin === null || begin === void 0 ? void 0 : begin.tokLen) != null ? startCharacter + begin.tokLen : startCharacter);
192
+ const endCharacter = end && end.tokLen ? end.col + end.tokLen : (begin === null || begin === void 0 ? void 0 : begin.tokLen) != null ? startCharacter + begin.tokLen : startCharacter;
167
193
  return new FullPosition(startLine, startCharacter, endLine, endCharacter);
168
194
  }
169
195
  static merge(leftMostPosition, rightMostPosition) {
@@ -1,14 +1,11 @@
1
- import { FieldSignature } from '../model/ArkSignature';
1
+ import { BaseSignature, FieldSignature } from '../model/ArkSignature';
2
2
  import { Local } from './Local';
3
3
  import { ClassType, Type } from './Type';
4
4
  import { Value } from './Value';
5
5
  import { ArkMethod } from '../model/ArkMethod';
6
6
  import { Stmt } from './Stmt';
7
- /**
8
- * @category core/base/ref
9
- */
10
7
  export declare abstract class AbstractRef implements Value {
11
- abstract getUses(): Value[];
8
+ abstract getUses(acc?: Value[]): Value[];
12
9
  abstract getType(): Type;
13
10
  inferType(arkMethod: ArkMethod): AbstractRef;
14
11
  }
@@ -52,37 +49,47 @@ export declare class ArkArrayRef extends AbstractRef {
52
49
  getIndex(): Value;
53
50
  setIndex(newIndex: Value): void;
54
51
  getType(): Type;
55
- getUses(): Value[];
52
+ getUses(acc?: Value[]): Value[];
56
53
  toString(): string;
57
54
  }
58
55
  export declare abstract class AbstractFieldRef extends AbstractRef {
59
- private fieldSignature;
56
+ /** @internal formal FieldSigID。-1 = 完全未注册(纯 temp-held)。*/
57
+ private fieldSigID;
58
+ /** @internal temp FieldSigID(索引表)。undefined = formal 路径。*/
59
+ private tempFieldSigID?;
60
+ private realFieldTypes?;
60
61
  constructor(fieldSignature: FieldSignature);
62
+ /** 首路径路由(构造器专用):formal 只读命中 → 持 formal ID(栅栏精化);miss → temp 登记。*/
63
+ private route;
61
64
  /**
62
65
  * Returns the the field name as a **string**.
63
66
  * @returns The the field name.
64
67
  */
65
68
  getFieldName(): string;
69
+ /** Returns the field signature. */
70
+ getFieldSignature(): FieldSignature;
71
+ /** @internal */
72
+ updateFieldSignature(fieldName: string, declaringOrID: BaseSignature | number, type: Type, staticFlag: boolean, namespaceDeclared?: boolean): void;
73
+ /** @internal 兜底/probe 构造(联合类型按重载收窄分发;低频路径)。 */
74
+ private static buildFallbackSignature;
75
+ /** @internal 毕业到正式签名 */
76
+ graduateToFormal(formalId: number): void;
77
+ /** @internal */
78
+ retireTemp(): void;
66
79
  /**
67
- * Returns a field signature, which consists of a class signature,
68
- * a **string** field name, and a **boolean** label indicating whether it is static or not.
69
- * @returns The field signature.
70
- * @example
71
- * 1. Compare two Fields
72
-
73
- ```typescript
74
- const fieldSignature = new FieldSignature();
75
- fieldSignature.setFieldName(...);
76
- const fieldRef = new ArkInstanceFieldRef(baseValue as Local, fieldSignature);
77
- ...
78
- if (fieldRef.getFieldSignature().getFieldName() ===
79
- targetField.getFieldSignature().getFieldName()) {
80
- ...
81
- }
82
- ```
80
+ * @internal 替换埋葬(带归宿版):同 {@link retireTemp},但替换产物为
81
+ * formal canonical(static 转换等 formalId 已知场景)——retire 同时记录
82
+ * 替换(temp → formal),供诊断追溯。
83
83
  */
84
- getFieldSignature(): FieldSignature;
85
- setFieldSignature(newFieldSignature: FieldSignature): void;
84
+ retireTempTo(formalId: number): void;
85
+ /** @internal Get the formal FieldSigID(身份视图;泛型双视图下为定义点字段 ID)。-1 = 纯 temp-held。 */
86
+ getFieldSigID(): number;
87
+ /** @internal Get the temp FieldSigID for the unresolved-signature registration(值视图在 temp 时非空)。 */
88
+ getTempSigID(): number | undefined;
89
+ /** @internal Get the generic instantiation real types of the field (Expr.realGenericTypes 同构)。 */
90
+ getRealFieldTypes(): Type[] | undefined;
91
+ /** @internal Set the generic instantiation real types. */
92
+ setRealFieldTypes(realTypes: Type[] | undefined): void;
86
93
  getType(): Type;
87
94
  }
88
95
  export declare class ArkInstanceFieldRef extends AbstractFieldRef {
@@ -112,13 +119,13 @@ export declare class ArkInstanceFieldRef extends AbstractFieldRef {
112
119
  */
113
120
  getBase(): Local;
114
121
  setBase(newBase: Local): void;
115
- getUses(): Value[];
122
+ getUses(acc?: Value[]): Value[];
116
123
  toString(): string;
117
124
  inferType(arkMethod: ArkMethod): AbstractRef;
118
125
  }
119
126
  export declare class ArkStaticFieldRef extends AbstractFieldRef {
120
127
  constructor(fieldSignature: FieldSignature);
121
- getUses(): Value[];
128
+ getUses(acc?: Value[]): Value[];
122
129
  toString(): string;
123
130
  }
124
131
  export declare class ArkParameterRef extends AbstractRef {
@@ -130,14 +137,14 @@ export declare class ArkParameterRef extends AbstractRef {
130
137
  getType(): Type;
131
138
  setType(newType: Type): void;
132
139
  inferType(arkMethod: ArkMethod): AbstractRef;
133
- getUses(): Value[];
140
+ getUses(acc?: Value[]): Value[];
134
141
  toString(): string;
135
142
  }
136
143
  export declare class ArkThisRef extends AbstractRef {
137
144
  private type;
138
145
  constructor(type: ClassType);
139
146
  getType(): ClassType;
140
- getUses(): Value[];
147
+ getUses(acc?: Value[]): Value[];
141
148
  toString(): string;
142
149
  }
143
150
  export declare class ArkCaughtExceptionRef extends AbstractRef {
@@ -145,19 +152,24 @@ export declare class ArkCaughtExceptionRef extends AbstractRef {
145
152
  constructor(type: Type);
146
153
  getType(): Type;
147
154
  setType(newType: Type): void;
148
- getUses(): Value[];
155
+ getUses(acc?: Value[]): Value[];
149
156
  toString(): string;
150
157
  }
151
158
  export declare class GlobalRef extends AbstractRef {
152
159
  private name;
153
160
  private ref;
154
- private usedStmts;
161
+ private _usedStmts?;
155
162
  constructor(name: string, ref?: Value);
156
163
  getName(): string;
157
- getUses(): Value[];
164
+ getUses(acc?: Value[]): Value[];
158
165
  getType(): Type;
159
166
  getRef(): Value | null;
160
167
  setRef(value: Value): void;
168
+ /**
169
+ * The statements using this global, exposed as a property so that consumers reading the field
170
+ * directly keep seeing an array; same value and same lazy backing list as {@link getUsedStmts}.
171
+ */
172
+ get usedStmts(): Stmt[];
161
173
  getUsedStmts(): Stmt[];
162
174
  addUsedStmts(usedStmts: Stmt | Stmt[]): void;
163
175
  toString(): string;
@@ -167,7 +179,7 @@ export declare class ClosureFieldRef extends AbstractRef {
167
179
  private fieldName;
168
180
  private type;
169
181
  constructor(base: Local, fieldName: string, type: Type);
170
- getUses(): Value[];
182
+ getUses(acc?: Value[]): Value[];
171
183
  getBase(): Local;
172
184
  getType(): Type;
173
185
  setType(type: Type): void;
@@ -1 +1 @@
1
- {"version":3,"file":"Ref.d.ts","sourceRoot":"","sources":["../../../src/core/base/Ref.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Ref.d.ts","sourceRoot":"","sources":["../../../src/core/base/Ref.ts"],"names":[],"mappings":"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"}