arkanalyzer 1.0.32 → 1.0.34

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 (259) hide show
  1. package/config/arkanalyzer.json +1 -0
  2. package/lib/Config.d.ts +1 -0
  3. package/lib/Config.d.ts.map +1 -1
  4. package/lib/Config.js +26 -18
  5. package/lib/Scene.d.ts +5 -5
  6. package/lib/Scene.d.ts.map +1 -1
  7. package/lib/Scene.js +21 -19
  8. package/lib/VFG/DVFG.d.ts.map +1 -1
  9. package/lib/VFG/builder/DVFGBuilder.d.ts +2 -2
  10. package/lib/VFG/builder/DVFGBuilder.d.ts.map +1 -1
  11. package/lib/VFG/builder/DVFGBuilder.js +15 -7
  12. package/lib/callgraph/algorithm/AbstractAnalysis.d.ts +1 -0
  13. package/lib/callgraph/algorithm/AbstractAnalysis.d.ts.map +1 -1
  14. package/lib/callgraph/algorithm/AbstractAnalysis.js +24 -8
  15. package/lib/callgraph/algorithm/ClassHierarchyAnalysis.d.ts.map +1 -1
  16. package/lib/callgraph/algorithm/ClassHierarchyAnalysis.js +3 -2
  17. package/lib/callgraph/algorithm/RapidTypeAnalysis.d.ts.map +1 -1
  18. package/lib/callgraph/algorithm/RapidTypeAnalysis.js +4 -3
  19. package/lib/callgraph/common/Statistics.d.ts +9 -7
  20. package/lib/callgraph/common/Statistics.d.ts.map +1 -1
  21. package/lib/callgraph/common/Statistics.js +18 -6
  22. package/lib/callgraph/model/CallGraph.d.ts +2 -0
  23. package/lib/callgraph/model/CallGraph.d.ts.map +1 -1
  24. package/lib/callgraph/model/CallGraph.js +14 -8
  25. package/lib/callgraph/model/builder/CallGraphBuilder.d.ts +1 -0
  26. package/lib/callgraph/model/builder/CallGraphBuilder.d.ts.map +1 -1
  27. package/lib/callgraph/model/builder/CallGraphBuilder.js +9 -4
  28. package/lib/callgraph/pointerAnalysis/Context.d.ts.map +1 -1
  29. package/lib/callgraph/pointerAnalysis/Context.js +2 -2
  30. package/lib/callgraph/pointerAnalysis/DummyCallCreator.d.ts.map +1 -1
  31. package/lib/callgraph/pointerAnalysis/DummyCallCreator.js +4 -2
  32. package/lib/callgraph/pointerAnalysis/PTAUtils.d.ts.map +1 -1
  33. package/lib/callgraph/pointerAnalysis/PTAUtils.js +2 -3
  34. package/lib/callgraph/pointerAnalysis/Pag.d.ts.map +1 -1
  35. package/lib/callgraph/pointerAnalysis/Pag.js +27 -35
  36. package/lib/callgraph/pointerAnalysis/PagBuilder.d.ts.map +1 -1
  37. package/lib/callgraph/pointerAnalysis/PagBuilder.js +63 -46
  38. package/lib/callgraph/pointerAnalysis/PointerAnalysis.d.ts.map +1 -1
  39. package/lib/callgraph/pointerAnalysis/PointerAnalysis.js +12 -12
  40. package/lib/callgraph/pointerAnalysis/PointerAnalysisConfig.d.ts.map +1 -1
  41. package/lib/callgraph/pointerAnalysis/PtsDS.d.ts +1 -1
  42. package/lib/callgraph/pointerAnalysis/PtsDS.d.ts.map +1 -1
  43. package/lib/callgraph/pointerAnalysis/PtsDS.js +10 -6
  44. package/lib/core/base/Constant.js +2 -2
  45. package/lib/core/base/DefUseChain.d.ts.map +1 -1
  46. package/lib/core/base/DefUseChain.js +1 -1
  47. package/lib/core/base/Expr.d.ts.map +1 -1
  48. package/lib/core/base/Expr.js +3 -5
  49. package/lib/core/base/Local.d.ts.map +1 -1
  50. package/lib/core/base/Local.js +7 -2
  51. package/lib/core/base/Position.d.ts.map +1 -1
  52. package/lib/core/base/Position.js +1 -1
  53. package/lib/core/base/Ref.d.ts.map +1 -1
  54. package/lib/core/base/Ref.js +3 -1
  55. package/lib/core/base/Stmt.d.ts.map +1 -1
  56. package/lib/core/base/Stmt.js +1 -4
  57. package/lib/core/base/Trap.js +1 -1
  58. package/lib/core/base/Type.d.ts.map +1 -1
  59. package/lib/core/base/Type.js +2 -2
  60. package/lib/core/base/Value.d.ts +1 -1
  61. package/lib/core/base/Value.d.ts.map +1 -1
  62. package/lib/core/base/Value.js +1 -1
  63. package/lib/core/common/ArkError.js +1 -1
  64. package/lib/core/common/ArkIRTransformer.d.ts.map +1 -1
  65. package/lib/core/common/ArkIRTransformer.js +46 -36
  66. package/lib/core/common/ArkValueTransformer.d.ts.map +1 -1
  67. package/lib/core/common/ArkValueTransformer.js +295 -109
  68. package/lib/core/common/Builtin.d.ts.map +1 -1
  69. package/lib/core/common/DummyMainCreater.d.ts.map +1 -1
  70. package/lib/core/common/DummyMainCreater.js +10 -4
  71. package/lib/core/common/EtsConst.d.ts.map +1 -1
  72. package/lib/core/common/EtsConst.js +3 -12
  73. package/lib/core/common/ExprUseReplacer.js +1 -1
  74. package/lib/core/common/IRInference.d.ts.map +1 -1
  75. package/lib/core/common/IRInference.js +40 -20
  76. package/lib/core/common/IRUtils.d.ts.map +1 -1
  77. package/lib/core/common/IRUtils.js +5 -4
  78. package/lib/core/common/ModelUtils.d.ts +1 -1
  79. package/lib/core/common/ModelUtils.d.ts.map +1 -1
  80. package/lib/core/common/ModelUtils.js +40 -29
  81. package/lib/core/common/RefUseReplacer.js +1 -1
  82. package/lib/core/common/SdkUtils.d.ts +3 -0
  83. package/lib/core/common/SdkUtils.d.ts.map +1 -1
  84. package/lib/core/common/SdkUtils.js +29 -10
  85. package/lib/core/common/StmtDefReplacer.d.ts.map +1 -1
  86. package/lib/core/common/StmtDefReplacer.js +1 -1
  87. package/lib/core/common/StmtUseReplacer.d.ts.map +1 -1
  88. package/lib/core/common/StmtUseReplacer.js +1 -1
  89. package/lib/core/common/TSConst.d.ts.map +1 -1
  90. package/lib/core/common/TypeInference.d.ts.map +1 -1
  91. package/lib/core/common/TypeInference.js +25 -17
  92. package/lib/core/common/ValueUtil.d.ts.map +1 -1
  93. package/lib/core/common/ValueUtil.js +1 -1
  94. package/lib/core/common/VisibleValue.d.ts.map +1 -1
  95. package/lib/core/common/VisibleValue.js +5 -5
  96. package/lib/core/dataflow/DataflowProblem.d.ts.map +1 -1
  97. package/lib/core/dataflow/DataflowProblem.js +1 -1
  98. package/lib/core/dataflow/DataflowResult.js +1 -1
  99. package/lib/core/dataflow/DataflowSolver.d.ts.map +1 -1
  100. package/lib/core/dataflow/DataflowSolver.js +5 -3
  101. package/lib/core/dataflow/Edge.d.ts.map +1 -1
  102. package/lib/core/dataflow/Edge.js +1 -1
  103. package/lib/core/dataflow/Fact.js +1 -1
  104. package/lib/core/dataflow/GenericDataFlow.js +5 -5
  105. package/lib/core/dataflow/ReachingDef.js +4 -4
  106. package/lib/core/dataflow/UndefinedVariable.d.ts.map +1 -1
  107. package/lib/core/dataflow/UndefinedVariable.js +17 -13
  108. package/lib/core/dataflow/Util.d.ts +4 -4
  109. package/lib/core/dataflow/Util.d.ts.map +1 -1
  110. package/lib/core/dataflow/Util.js +3 -5
  111. package/lib/core/graph/BaseExplicitGraph.d.ts.map +1 -1
  112. package/lib/core/graph/BaseExplicitGraph.js +1 -1
  113. package/lib/core/graph/BaseImplicitGraph.d.ts.map +1 -1
  114. package/lib/core/graph/BasicBlock.d.ts.map +1 -1
  115. package/lib/core/graph/BasicBlock.js +11 -7
  116. package/lib/core/graph/Cfg.d.ts.map +1 -1
  117. package/lib/core/graph/Cfg.js +10 -4
  118. package/lib/core/graph/DependsGraph.d.ts.map +1 -1
  119. package/lib/core/graph/DependsGraph.js +1 -1
  120. package/lib/core/graph/DominanceFinder.d.ts.map +1 -1
  121. package/lib/core/graph/DominanceFinder.js +4 -4
  122. package/lib/core/graph/DominanceTree.js +1 -1
  123. package/lib/core/graph/GraphTraits.js +1 -1
  124. package/lib/core/graph/Scc.js +2 -2
  125. package/lib/core/graph/ViewTree.js +1 -1
  126. package/lib/core/graph/builder/CfgBuilder.d.ts.map +1 -1
  127. package/lib/core/graph/builder/CfgBuilder.js +22 -13
  128. package/lib/core/graph/builder/ConditionBuilder.d.ts.map +1 -1
  129. package/lib/core/graph/builder/ConditionBuilder.js +21 -22
  130. package/lib/core/graph/builder/LoopBuilder.d.ts.map +1 -1
  131. package/lib/core/graph/builder/LoopBuilder.js +13 -10
  132. package/lib/core/graph/builder/SwitchBuilder.d.ts.map +1 -1
  133. package/lib/core/graph/builder/SwitchBuilder.js +7 -4
  134. package/lib/core/graph/builder/TrapBuilder.d.ts.map +1 -1
  135. package/lib/core/graph/builder/TrapBuilder.js +4 -3
  136. package/lib/core/graph/builder/ViewTreeBuilder.d.ts.map +1 -1
  137. package/lib/core/graph/builder/ViewTreeBuilder.js +18 -19
  138. package/lib/core/model/ArkBaseModel.d.ts.map +1 -1
  139. package/lib/core/model/ArkBaseModel.js +8 -5
  140. package/lib/core/model/ArkBody.d.ts +1 -0
  141. package/lib/core/model/ArkBody.d.ts.map +1 -1
  142. package/lib/core/model/ArkBody.js +11 -1
  143. package/lib/core/model/ArkClass.d.ts.map +1 -1
  144. package/lib/core/model/ArkClass.js +3 -5
  145. package/lib/core/model/ArkExport.d.ts +4 -0
  146. package/lib/core/model/ArkExport.d.ts.map +1 -1
  147. package/lib/core/model/ArkExport.js +8 -1
  148. package/lib/core/model/ArkField.d.ts.map +1 -1
  149. package/lib/core/model/ArkField.js +2 -2
  150. package/lib/core/model/ArkFile.d.ts +1 -0
  151. package/lib/core/model/ArkFile.d.ts.map +1 -1
  152. package/lib/core/model/ArkFile.js +21 -6
  153. package/lib/core/model/ArkImport.d.ts.map +1 -1
  154. package/lib/core/model/ArkImport.js +1 -1
  155. package/lib/core/model/ArkMetadata.d.ts.map +1 -1
  156. package/lib/core/model/ArkMetadata.js +1 -1
  157. package/lib/core/model/ArkMethod.d.ts +6 -5
  158. package/lib/core/model/ArkMethod.d.ts.map +1 -1
  159. package/lib/core/model/ArkMethod.js +27 -13
  160. package/lib/core/model/ArkNamespace.d.ts +1 -1
  161. package/lib/core/model/ArkNamespace.d.ts.map +1 -1
  162. package/lib/core/model/ArkNamespace.js +5 -6
  163. package/lib/core/model/ArkSignature.d.ts +4 -2
  164. package/lib/core/model/ArkSignature.d.ts.map +1 -1
  165. package/lib/core/model/ArkSignature.js +17 -17
  166. package/lib/core/model/builder/ArkClassBuilder.d.ts.map +1 -1
  167. package/lib/core/model/builder/ArkClassBuilder.js +15 -16
  168. package/lib/core/model/builder/ArkExportBuilder.d.ts +2 -1
  169. package/lib/core/model/builder/ArkExportBuilder.d.ts.map +1 -1
  170. package/lib/core/model/builder/ArkExportBuilder.js +17 -11
  171. package/lib/core/model/builder/ArkFieldBuilder.d.ts.map +1 -1
  172. package/lib/core/model/builder/ArkFieldBuilder.js +6 -7
  173. package/lib/core/model/builder/ArkFileBuilder.d.ts.map +1 -1
  174. package/lib/core/model/builder/ArkFileBuilder.js +22 -11
  175. package/lib/core/model/builder/ArkImportBuilder.d.ts.map +1 -1
  176. package/lib/core/model/builder/ArkImportBuilder.js +13 -8
  177. package/lib/core/model/builder/ArkMethodBuilder.d.ts.map +1 -1
  178. package/lib/core/model/builder/ArkMethodBuilder.js +3 -3
  179. package/lib/core/model/builder/ArkNamespaceBuilder.d.ts.map +1 -1
  180. package/lib/core/model/builder/ArkNamespaceBuilder.js +7 -9
  181. package/lib/core/model/builder/ArkSignatureBuilder.d.ts.map +1 -1
  182. package/lib/core/model/builder/ArkSignatureBuilder.js +1 -1
  183. package/lib/core/model/builder/BodyBuilder.d.ts.map +1 -1
  184. package/lib/core/model/builder/BodyBuilder.js +8 -5
  185. package/lib/core/model/builder/builderUtils.d.ts.map +1 -1
  186. package/lib/core/model/builder/builderUtils.js +15 -13
  187. package/lib/index.d.ts.map +1 -1
  188. package/lib/save/ArkStream.d.ts.map +1 -1
  189. package/lib/save/ArkStream.js +1 -1
  190. package/lib/save/DotPrinter.d.ts.map +1 -1
  191. package/lib/save/DotPrinter.js +2 -4
  192. package/lib/save/GraphPrinter.d.ts.map +1 -1
  193. package/lib/save/GraphPrinter.js +2 -3
  194. package/lib/save/JsonPrinter.d.ts.map +1 -1
  195. package/lib/save/JsonPrinter.js +29 -29
  196. package/lib/save/Printer.js +1 -1
  197. package/lib/save/PrinterBuilder.d.ts.map +1 -1
  198. package/lib/save/PrinterBuilder.js +1 -1
  199. package/lib/save/ViewTreePrinter.d.ts.map +1 -1
  200. package/lib/save/ViewTreePrinter.js +3 -3
  201. package/lib/save/arkir/ArkIRClassPrinter.js +1 -1
  202. package/lib/save/arkir/ArkIRMethodPrinter.js +5 -5
  203. package/lib/save/arkir/ArkIRNamespacePrinter.d.ts.map +1 -1
  204. package/lib/save/arkir/ArkIRNamespacePrinter.js +2 -3
  205. package/lib/save/base/BasePrinter.js +2 -2
  206. package/lib/save/base/ExportPrinter.d.ts.map +1 -1
  207. package/lib/save/base/ExportPrinter.js +3 -6
  208. package/lib/save/base/ImportPrinter.d.ts.map +1 -1
  209. package/lib/save/base/ImportPrinter.js +2 -6
  210. package/lib/save/base/PrinterUtils.d.ts.map +1 -1
  211. package/lib/save/base/PrinterUtils.js +2 -4
  212. package/lib/save/serializeArkIR.d.ts.map +1 -1
  213. package/lib/save/serializeArkIR.js +2 -2
  214. package/lib/save/source/SourceBase.d.ts.map +1 -1
  215. package/lib/save/source/SourceBase.js +1 -3
  216. package/lib/save/source/SourceBody.d.ts.map +1 -1
  217. package/lib/save/source/SourceBody.js +1 -5
  218. package/lib/save/source/SourceClass.d.ts.map +1 -1
  219. package/lib/save/source/SourceClass.js +2 -3
  220. package/lib/save/source/SourceField.js +2 -2
  221. package/lib/save/source/SourceFilePrinter.d.ts.map +1 -1
  222. package/lib/save/source/SourceMethod.d.ts.map +1 -1
  223. package/lib/save/source/SourceMethod.js +5 -6
  224. package/lib/save/source/SourceNamespace.d.ts.map +1 -1
  225. package/lib/save/source/SourceNamespace.js +2 -3
  226. package/lib/save/source/SourceStmt.d.ts.map +1 -1
  227. package/lib/save/source/SourceStmt.js +9 -14
  228. package/lib/save/source/SourceTransformer.d.ts.map +1 -1
  229. package/lib/save/source/SourceTransformer.js +6 -10
  230. package/lib/transformer/FunctionTransformer.d.ts.map +1 -1
  231. package/lib/transformer/FunctionTransformer.js +1 -1
  232. package/lib/transformer/SceneTransformer.d.ts.map +1 -1
  233. package/lib/transformer/SceneTransformer.js +1 -1
  234. package/lib/transformer/StaticSingleAssignmentFormer.d.ts.map +1 -1
  235. package/lib/transformer/StaticSingleAssignmentFormer.js +1 -1
  236. package/lib/transformer/Transformer.d.ts.map +1 -1
  237. package/lib/transformer/Transformer.js +2 -3
  238. package/lib/utils/AstTreeUtils.d.ts.map +1 -1
  239. package/lib/utils/AstTreeUtils.js +1 -1
  240. package/lib/utils/CfgStructualAnalysis.d.ts.map +1 -1
  241. package/lib/utils/CfgStructualAnalysis.js +6 -18
  242. package/lib/utils/FileUtils.d.ts.map +1 -1
  243. package/lib/utils/FileUtils.js +7 -7
  244. package/lib/utils/SparseBitVector.d.ts.map +1 -1
  245. package/lib/utils/SparseBitVector.js +6 -5
  246. package/lib/utils/callGraphUtils.d.ts.map +1 -1
  247. package/lib/utils/callGraphUtils.js +9 -7
  248. package/lib/utils/crypto_utils.d.ts.map +1 -1
  249. package/lib/utils/crypto_utils.js +2 -2
  250. package/lib/utils/entryMethodUtils.d.ts.map +1 -1
  251. package/lib/utils/entryMethodUtils.js +18 -18
  252. package/lib/utils/getAllFiles.d.ts.map +1 -1
  253. package/lib/utils/json5parser.d.ts.map +1 -1
  254. package/lib/utils/json5parser.js +1 -1
  255. package/lib/utils/logger.d.ts.map +1 -1
  256. package/lib/utils/pathTransfer.d.ts +0 -1
  257. package/lib/utils/pathTransfer.d.ts.map +1 -1
  258. package/lib/utils/pathTransfer.js +2 -11
  259. package/package.json +2 -2
@@ -74,7 +74,7 @@ class PagBuilder {
74
74
  this.sdkMethodReturnValueMap = new Map();
75
75
  // record the SDK API param, and create fake Values
76
76
  this.methodParamValueMap = new Map();
77
- this.fakeSdkMethodParamDeclaringStmt = new Stmt_1.ArkAssignStmt(new Local_1.Local(""), new Local_1.Local(""));
77
+ this.fakeSdkMethodParamDeclaringStmt = new Stmt_1.ArkAssignStmt(new Local_1.Local(''), new Local_1.Local(''));
78
78
  this.funcHandledThisRound = new Set();
79
79
  this.updatedNodesThisRound = new Map();
80
80
  this.singletonFuncMap = new Map();
@@ -85,7 +85,7 @@ class PagBuilder {
85
85
  this.pag = p;
86
86
  this.cg = cg;
87
87
  this.scale = scale;
88
- this.funcPags = new Map;
88
+ this.funcPags = new Map();
89
89
  this.ctx = new Context_1.KLimitedContextSensitive(kLimit);
90
90
  this.scene = s;
91
91
  this.pagStat = new Statistics_1.PAGStat();
@@ -184,7 +184,7 @@ class PagBuilder {
184
184
  if (callSites.length !== 0) {
185
185
  // direct call is already existing in CG
186
186
  // TODO: API Invoke stmt has anonymous method param, how to add these param into callee
187
- callSites.forEach((cs) => {
187
+ callSites.forEach(cs => {
188
188
  this.addFuncPagCallSite(fpag, cs, ivkExpr);
189
189
  });
190
190
  }
@@ -201,8 +201,7 @@ class PagBuilder {
201
201
  }
202
202
  addFuncPagCallSite(fpag, cs, ivkExpr) {
203
203
  if (ivkExpr instanceof Expr_1.ArkStaticInvokeExpr) {
204
- if (ivkExpr.getMethodSignature().getDeclaringClassSignature()
205
- .getDeclaringFileSignature().getFileName() === Const_1.UNKNOWN_FILE_NAME) {
204
+ if (ivkExpr.getMethodSignature().getDeclaringClassSignature().getDeclaringFileSignature().getFileName() === Const_1.UNKNOWN_FILE_NAME) {
206
205
  fpag.addUnknownCallSite(cs);
207
206
  }
208
207
  else {
@@ -217,7 +216,7 @@ class PagBuilder {
217
216
  // direct call or constructor call is already existing in CG
218
217
  // TODO: some ptr invoke stmt is recognized as Static invoke in tests/resources/callgraph/funPtrTest1/fnPtrTest4.ts
219
218
  // TODO: instance invoke(ptr invoke)
220
- callSites.forEach((cs) => {
219
+ callSites.forEach(cs => {
221
220
  if (this.cg.isUnknownMethod(cs.calleeFuncID)) {
222
221
  fpag.addUnknownCallSite(cs);
223
222
  }
@@ -236,11 +235,15 @@ class PagBuilder {
236
235
  }
237
236
  }
238
237
  processExternalScopeValue(value, funcID) {
238
+ let dummyMainFuncID = this.cg.getDummyMainFuncID();
239
+ if (dummyMainFuncID && funcID === dummyMainFuncID) {
240
+ return;
241
+ }
239
242
  if (value instanceof Local_1.Local) {
240
243
  this.handleValueFromExternalScope(value, funcID);
241
244
  }
242
245
  else if (value instanceof Expr_1.ArkInstanceInvokeExpr) {
243
- value.getUses().forEach((v) => {
246
+ value.getUses().forEach(v => {
244
247
  this.handleValueFromExternalScope(v, funcID);
245
248
  });
246
249
  }
@@ -365,8 +368,7 @@ class PagBuilder {
365
368
  this.addStaticPagCallEdge(cs, cid, calleeCid);
366
369
  }
367
370
  // Add edge to thisRef for special calls
368
- if (calleeCGNode.getKind() === CallGraph_1.CallGraphNodeKind.constructor ||
369
- calleeCGNode.getKind() === CallGraph_1.CallGraphNodeKind.intrinsic) {
371
+ if (calleeCGNode.getKind() === CallGraph_1.CallGraphNodeKind.constructor || calleeCGNode.getKind() === CallGraph_1.CallGraphNodeKind.intrinsic) {
370
372
  let callee = this.scene.getMethod(this.cg.getMethodByFuncID(cs.calleeFuncID));
371
373
  if (ivkExpr instanceof Expr_1.ArkInstanceInvokeExpr) {
372
374
  let baseNode = this.getOrNewPagNode(cid, ivkExpr.getBase());
@@ -391,6 +393,14 @@ class PagBuilder {
391
393
  else if (invokeExpr instanceof Expr_1.ArkPtrInvokeExpr && invokeExpr.getFuncPtrLocal() instanceof Local_1.Local) {
392
394
  base = invokeExpr.getFuncPtrLocal();
393
395
  }
396
+ else if (invokeExpr instanceof Expr_1.ArkPtrInvokeExpr && invokeExpr.getFuncPtrLocal() instanceof Ref_1.AbstractFieldRef) {
397
+ /**
398
+ * TODO: wait for IR change
399
+ * throw error in ptrInvoke with field ref
400
+ * this.field() // field is lambda expression
401
+ */
402
+ continue;
403
+ }
394
404
  // TODO: check base under different cid
395
405
  let baseNodeIDs = this.pag.getNodesByValue(base);
396
406
  if (!baseNodeIDs) {
@@ -423,7 +433,7 @@ class PagBuilder {
423
433
  throw new Error(`can not find ArkMethod by FuncID ${funcID}`);
424
434
  }
425
435
  let locals = (_a = method.getBody()) === null || _a === void 0 ? void 0 : _a.getLocals();
426
- funcPag.getUnknownCallSites().forEach((unknownCallSite) => {
436
+ funcPag.getUnknownCallSites().forEach(unknownCallSite => {
427
437
  var _a;
428
438
  let calleeName = (_a = unknownCallSite.callStmt.getInvokeExpr()) === null || _a === void 0 ? void 0 : _a.getMethodSignature().getMethodSubSignature().getMethodName();
429
439
  let base = locals.get(calleeName);
@@ -458,7 +468,7 @@ class PagBuilder {
458
468
  let dstCGNode = this.cg.getCallGraphNodeByMethod(callee.getSignature());
459
469
  let callerNode = this.cg.getNode(cs.callerFuncID);
460
470
  if (!callerNode) {
461
- throw new Error("Can not get caller method node");
471
+ throw new Error('Can not get caller method node');
462
472
  }
463
473
  // update call graph
464
474
  // TODO: movo to cgbuilder
@@ -549,7 +559,11 @@ class PagBuilder {
549
559
  srcNodes.push(srcBaseNode);
550
560
  }
551
561
  else if (!dstCGNode.isSdkMethod() && ivkExpr instanceof Expr_1.ArkPtrInvokeExpr) {
552
- let thisValue = ptNode.getCS().args[0];
562
+ let originCS = ptNode.getCS();
563
+ if (!originCS) {
564
+ return srcNodes;
565
+ }
566
+ let thisValue = originCS.args[0];
553
567
  if (!(thisValue instanceof Local_1.Local)) {
554
568
  return srcNodes;
555
569
  }
@@ -658,7 +672,7 @@ class PagBuilder {
658
672
  srcNode.setOriginCid(cid);
659
673
  }
660
674
  addThisEdge(staticCS, cid, realCallee, srcNodes, baseClassPTNode, calleeCid) {
661
- if (!(staticCS.args[0] instanceof Constant_1.NullConstant) && !(realCallee.isStatic())) {
675
+ if (!(staticCS.args[0] instanceof Constant_1.NullConstant) && !realCallee.isStatic()) {
662
676
  srcNodes.push(this.addThisRefCallEdge(baseClassPTNode, cid, staticCS.args[0], realCallee, calleeCid, staticCS.callerFuncID));
663
677
  }
664
678
  }
@@ -678,8 +692,7 @@ class PagBuilder {
678
692
  let srcNodes = [];
679
693
  let callerNode = this.cg.getNode(cs.callerFuncID);
680
694
  let ivkExpr = cs.callStmt.getInvokeExpr();
681
- logger.warn("Handling unknown dyn call site : \n " + callerNode.getMethod().toString()
682
- + '\n --> ' + ivkExpr.toString() + '\n CID: ' + cid);
695
+ logger.warn('Handling unknown dyn call site : \n ' + callerNode.getMethod().toString() + '\n --> ' + ivkExpr.toString() + '\n CID: ' + cid);
683
696
  let callees = [];
684
697
  let callee = null;
685
698
  callee = this.scene.getMethod(ivkExpr.getMethodSignature());
@@ -703,7 +716,7 @@ class PagBuilder {
703
716
  callees.forEach(callee => {
704
717
  let dstCGNode = this.cg.getCallGraphNodeByMethod(callee.getSignature());
705
718
  if (!callerNode) {
706
- throw new Error("Can not get caller method node");
719
+ throw new Error('Can not get caller method node');
707
720
  }
708
721
  if (this.processStorage(cs, dstCGNode, cid)) {
709
722
  if (ivkExpr.getArgs().length !== 0) {
@@ -733,7 +746,7 @@ class PagBuilder {
733
746
  }
734
747
  let callSites = funcPag.getDynamicCallSites();
735
748
  const diffCallSites = new Set(Array.from(callSites).filter(item => !processedCallSites.has(item)));
736
- diffCallSites.forEach((cs) => {
749
+ diffCallSites.forEach(cs => {
737
750
  let ivkExpr = cs.callStmt.getInvokeExpr();
738
751
  if (!(ivkExpr instanceof Expr_1.ArkInstanceInvokeExpr)) {
739
752
  return;
@@ -780,7 +793,8 @@ class PagBuilder {
780
793
  logger.error(`callee is null`);
781
794
  return -1;
782
795
  }
783
- let thisAssignStmt = (_a = callee.getCfg()) === null || _a === void 0 ? void 0 : _a.getStmts().filter(s => s instanceof Stmt_1.ArkAssignStmt && s.getRightOp() instanceof Ref_1.ArkThisRef);
796
+ let thisAssignStmt = (_a = callee
797
+ .getCfg()) === null || _a === void 0 ? void 0 : _a.getStmts().filter(s => s instanceof Stmt_1.ArkAssignStmt && s.getRightOp() instanceof Ref_1.ArkThisRef);
784
798
  let thisPtr = (thisAssignStmt === null || thisAssignStmt === void 0 ? void 0 : thisAssignStmt.at(0)).getRightOp();
785
799
  if (!thisPtr) {
786
800
  throw new Error('Can not get this ptr');
@@ -837,7 +851,9 @@ class PagBuilder {
837
851
  */
838
852
  addCallParamPagEdge(calleeMethod, args, callStmt, callerCid, calleeCid, offset) {
839
853
  var _a;
840
- let params = calleeMethod.getCfg().getStmts()
854
+ let params = calleeMethod
855
+ .getCfg()
856
+ .getStmts()
841
857
  .filter(stmt => stmt instanceof Stmt_1.ArkAssignStmt && stmt.getRightOp() instanceof Ref_1.ArkParameterRef)
842
858
  .map(stmt => stmt.getRightOp());
843
859
  let srcNodes = [];
@@ -1043,7 +1059,7 @@ class PagBuilder {
1043
1059
  // remove below block once this issue fixed
1044
1060
  // globalThis process can not be removed while all `globalThis` ref is the same Value
1045
1061
  if (v instanceof Local_1.Local) {
1046
- if (v.getName() === "this") {
1062
+ if (v.getName() === 'this') {
1047
1063
  return this.getOrNewThisLoalNode(cid, v, s);
1048
1064
  }
1049
1065
  else if (v.getName() === TSConst_1.GLOBAL_THIS_NAME && v.getDeclaringStmt() == null) {
@@ -1201,9 +1217,7 @@ class PagBuilder {
1201
1217
  return false;
1202
1218
  }
1203
1219
  let funcPag = this.funcPags.get(funcID);
1204
- let heapObjects = [...funcPag.getInternalEdges()]
1205
- .filter(edge => edge.kind === Pag_1.PagEdgeKind.Address)
1206
- .map(edge => edge.dst);
1220
+ let heapObjects = [...funcPag.getInternalEdges()].filter(edge => edge.kind === Pag_1.PagEdgeKind.Address).map(edge => edge.dst);
1207
1221
  let returnValues = arkMethod.getReturnValues();
1208
1222
  let result = this.isValueConnected([...funcPag.getInternalEdges()], heapObjects, returnValues);
1209
1223
  this.singletonFuncMap.set(funcID, result);
@@ -1442,10 +1456,11 @@ class PagBuilder {
1442
1456
  stmtIsCreateAddressObj(stmt) {
1443
1457
  let lhOp = stmt.getLeftOp();
1444
1458
  let rhOp = stmt.getRightOp();
1445
- if ((rhOp instanceof Expr_1.ArkNewExpr || rhOp instanceof Expr_1.ArkNewArrayExpr) ||
1446
- (lhOp instanceof Local_1.Local && ((rhOp instanceof Local_1.Local && rhOp.getType() instanceof Type_1.FunctionType &&
1447
- rhOp.getDeclaringStmt() === null) ||
1448
- (rhOp instanceof Ref_1.AbstractFieldRef && rhOp.getType() instanceof Type_1.FunctionType))) ||
1459
+ if (rhOp instanceof Expr_1.ArkNewExpr ||
1460
+ rhOp instanceof Expr_1.ArkNewArrayExpr ||
1461
+ (lhOp instanceof Local_1.Local &&
1462
+ ((rhOp instanceof Local_1.Local && rhOp.getType() instanceof Type_1.FunctionType && rhOp.getDeclaringStmt() === null) ||
1463
+ (rhOp instanceof Ref_1.AbstractFieldRef && rhOp.getType() instanceof Type_1.FunctionType))) ||
1449
1464
  (rhOp instanceof Local_1.Local && rhOp.getName() === TSConst_1.GLOBAL_THIS_NAME && rhOp.getDeclaringStmt() == null)) {
1450
1465
  return true;
1451
1466
  }
@@ -1456,8 +1471,8 @@ class PagBuilder {
1456
1471
  stmtIsCopyKind(stmt) {
1457
1472
  let lhOp = stmt.getLeftOp();
1458
1473
  let rhOp = stmt.getRightOp();
1459
- let condition = (lhOp instanceof Local_1.Local && (rhOp instanceof Local_1.Local || rhOp instanceof Ref_1.ArkParameterRef ||
1460
- rhOp instanceof Ref_1.ArkThisRef || rhOp instanceof Ref_1.ArkStaticFieldRef)) ||
1474
+ let condition = (lhOp instanceof Local_1.Local &&
1475
+ (rhOp instanceof Local_1.Local || rhOp instanceof Ref_1.ArkParameterRef || rhOp instanceof Ref_1.ArkThisRef || rhOp instanceof Ref_1.ArkStaticFieldRef)) ||
1461
1476
  (lhOp instanceof Ref_1.ArkStaticFieldRef && rhOp instanceof Local_1.Local);
1462
1477
  if (condition) {
1463
1478
  return true;
@@ -1467,8 +1482,7 @@ class PagBuilder {
1467
1482
  stmtIsWriteKind(stmt) {
1468
1483
  let lhOp = stmt.getLeftOp();
1469
1484
  let rhOp = stmt.getRightOp();
1470
- if (rhOp instanceof Local_1.Local &&
1471
- (lhOp instanceof Ref_1.ArkInstanceFieldRef || lhOp instanceof Ref_1.ArkArrayRef)) {
1485
+ if (rhOp instanceof Local_1.Local && (lhOp instanceof Ref_1.ArkInstanceFieldRef || lhOp instanceof Ref_1.ArkArrayRef)) {
1472
1486
  return true;
1473
1487
  }
1474
1488
  return false;
@@ -1476,8 +1490,7 @@ class PagBuilder {
1476
1490
  stmtIsReadKind(stmt) {
1477
1491
  let lhOp = stmt.getLeftOp();
1478
1492
  let rhOp = stmt.getRightOp();
1479
- if (lhOp instanceof Local_1.Local &&
1480
- (rhOp instanceof Ref_1.ArkInstanceFieldRef || rhOp instanceof Ref_1.ArkArrayRef)) {
1493
+ if (lhOp instanceof Local_1.Local && (rhOp instanceof Ref_1.ArkInstanceFieldRef || rhOp instanceof Ref_1.ArkArrayRef)) {
1481
1494
  return true;
1482
1495
  }
1483
1496
  return false;
@@ -1486,7 +1499,7 @@ class PagBuilder {
1486
1499
  var _a;
1487
1500
  funcPag.addDynamicCallSite(cs);
1488
1501
  this.pagStat.numDynamicCall++;
1489
- logger.trace("[add dynamic callsite] " + cs.callStmt.toString() + ": " + ((_a = cs.callStmt.getCfg()) === null || _a === void 0 ? void 0 : _a.getDeclaringMethod().getSignature().toString()));
1502
+ logger.trace('[add dynamic callsite] ' + cs.callStmt.toString() + ': ' + ((_a = cs.callStmt.getCfg()) === null || _a === void 0 ? void 0 : _a.getDeclaringMethod().getSignature().toString()));
1490
1503
  }
1491
1504
  setPtForNode(node, pts) {
1492
1505
  if (!pts) {
@@ -1496,8 +1509,9 @@ class PagBuilder {
1496
1509
  }
1497
1510
  getRealThisLocal(input, funcId) {
1498
1511
  var _a;
1499
- if (input.getName() !== 'this')
1512
+ if (input.getName() !== 'this') {
1500
1513
  return input;
1514
+ }
1501
1515
  let real = input;
1502
1516
  let f = this.cg.getArkMethodByFuncID(funcId);
1503
1517
  (_a = f === null || f === void 0 ? void 0 : f.getCfg()) === null || _a === void 0 ? void 0 : _a.getStmts().forEach(s => {
@@ -1537,7 +1551,7 @@ class PagBuilder {
1537
1551
  */
1538
1552
  handleValueFromExternalScope(value, funcID, originValue) {
1539
1553
  if (value instanceof Local_1.Local) {
1540
- if (value.getDeclaringStmt() || (value.getName() === 'this')) {
1554
+ if (value.getDeclaringStmt() || value.getName() === 'this') {
1541
1555
  // not from external scope
1542
1556
  return;
1543
1557
  }
@@ -1564,7 +1578,11 @@ class PagBuilder {
1564
1578
  // Export a local
1565
1579
  // Add a InterProcedural edge
1566
1580
  if (dst instanceof Local_1.Local) {
1567
- let e = { src: src, dst: dst, kind: Pag_1.PagEdgeKind.InterProceduralCopy };
1581
+ let e = {
1582
+ src: src,
1583
+ dst: dst,
1584
+ kind: Pag_1.PagEdgeKind.InterProceduralCopy,
1585
+ };
1568
1586
  interFuncPag.addToInterProceduralEdgeSet(e);
1569
1587
  this.addExportVariableMap(src, dst);
1570
1588
  }
@@ -1596,12 +1614,11 @@ class PagBuilder {
1596
1614
  // namespace check
1597
1615
  let arkMethod = this.cg.getArkMethodByFuncID(funcID);
1598
1616
  if (!arkMethod) {
1599
- return;
1617
+ return undefined;
1600
1618
  }
1601
1619
  let declaringNameSpace = arkMethod.getDeclaringArkClass().getDeclaringArkNamespace();
1602
1620
  while (declaringNameSpace) {
1603
- let nameSpaceLocals = (_c = (_b = (_a = declaringNameSpace.getDefaultClass()
1604
- .getDefaultArkMethod()) === null || _a === void 0 ? void 0 : _a.getBody()) === null || _b === void 0 ? void 0 : _b.getLocals()) !== null && _c !== void 0 ? _c : new Map();
1621
+ let nameSpaceLocals = (_c = (_b = (_a = declaringNameSpace.getDefaultClass().getDefaultArkMethod()) === null || _a === void 0 ? void 0 : _a.getBody()) === null || _b === void 0 ? void 0 : _b.getLocals()) !== null && _c !== void 0 ? _c : new Map();
1605
1622
  if (nameSpaceLocals.has(value.getName())) {
1606
1623
  return nameSpaceLocals.get(value.getName());
1607
1624
  }
@@ -1609,31 +1626,31 @@ class PagBuilder {
1609
1626
  }
1610
1627
  // file check
1611
1628
  let declaringFile = arkMethod.getDeclaringArkFile();
1612
- let fileLocals = (_g = (_f = (_e = declaringFile.getDefaultClass()
1613
- .getDefaultArkMethod()) === null || _e === void 0 ? void 0 : _e.getBody()) === null || _f === void 0 ? void 0 : _f.getLocals()) !== null && _g !== void 0 ? _g : new Map();
1629
+ let fileLocals = (_g = (_f = (_e = declaringFile.getDefaultClass().getDefaultArkMethod()) === null || _e === void 0 ? void 0 : _e.getBody()) === null || _f === void 0 ? void 0 : _f.getLocals()) !== null && _g !== void 0 ? _g : new Map();
1614
1630
  if (!fileLocals.has(value.getName())) {
1615
- return;
1631
+ return undefined;
1616
1632
  }
1617
1633
  return fileLocals.get(value.getName());
1618
1634
  }
1619
1635
  getExportSourceValue(value, funcID) {
1620
1636
  let curMethod = this.cg.getArkMethodByFuncID(funcID);
1621
1637
  if (!curMethod) {
1622
- return;
1638
+ return undefined;
1623
1639
  }
1624
1640
  let curFile = curMethod.getDeclaringArkFile();
1625
1641
  let impInfo = curFile.getImportInfoBy(value.getName());
1626
1642
  if (!impInfo) {
1627
- return;
1643
+ return undefined;
1628
1644
  }
1629
1645
  let exportSource = impInfo.getLazyExportInfo();
1630
1646
  if (!exportSource) {
1631
- return;
1647
+ return undefined;
1632
1648
  }
1633
1649
  let exportSouceValue = exportSource.getArkExport();
1634
1650
  if (exportSouceValue instanceof Local_1.Local) {
1635
1651
  return exportSouceValue;
1636
1652
  }
1653
+ return undefined;
1637
1654
  }
1638
1655
  addExportVariableMap(src, dst) {
1639
1656
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"PointerAnalysis.d.ts","sourceRoot":"","sources":["../../../src/callgraph/pointerAnalysis/PointerAnalysis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PointerAnalysis.d.ts","sourceRoot":"","sources":["../../../src/callgraph/pointerAnalysis/PointerAnalysis.ts"],"names":[],"mappings":"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"}
@@ -226,7 +226,7 @@ class PointerAnalysis extends AbstractAnalysis_1.AbstractAnalysis {
226
226
  // get intra procedural field node by exportMap
227
227
  let intraProceduralFieldNodeMap = new Map();
228
228
  if (nodeValue instanceof Local_1.Local) {
229
- this.pagBuilder.getExportVariableMap(nodeValue).forEach((dst) => {
229
+ this.pagBuilder.getExportVariableMap(nodeValue).forEach(dst => {
230
230
  var _a;
231
231
  let temp = (_a = this.pag.getNodesByBaseValue(dst)) !== null && _a !== void 0 ? _a : new Map();
232
232
  intraProceduralFieldNodeMap = this.mergeInstanceFieldMap(instanceFieldNodeMap, temp);
@@ -247,7 +247,7 @@ class PointerAnalysis extends AbstractAnalysis_1.AbstractAnalysis {
247
247
  });
248
248
  });
249
249
  // without cid check, because closure and export is under different cid
250
- intraProceduralFieldNodeMap.forEach((nodeIDs) => {
250
+ intraProceduralFieldNodeMap.forEach(nodeIDs => {
251
251
  nodeIDs.forEach((nodeID) => {
252
252
  // get abstract field node
253
253
  let fieldNode = this.pag.getNode(nodeID);
@@ -258,7 +258,7 @@ class PointerAnalysis extends AbstractAnalysis_1.AbstractAnalysis {
258
258
  return true;
259
259
  }
260
260
  handleFieldInEdges(fieldNode, diffPts) {
261
- fieldNode.getIncomingEdge().forEach((edge) => {
261
+ fieldNode.getIncomingEdge().forEach(edge => {
262
262
  if (edge.getKind() !== Pag_1.PagEdgeKind.Write) {
263
263
  return;
264
264
  }
@@ -285,7 +285,7 @@ class PointerAnalysis extends AbstractAnalysis_1.AbstractAnalysis {
285
285
  });
286
286
  }
287
287
  handleFieldOutEdges(fieldNode, diffPts) {
288
- fieldNode.getOutgoingEdges().forEach((edge) => {
288
+ fieldNode.getOutgoingEdges().forEach(edge => {
289
289
  if (edge.getKind() !== Pag_1.PagEdgeKind.Load) {
290
290
  return;
291
291
  }
@@ -379,7 +379,7 @@ class PointerAnalysis extends AbstractAnalysis_1.AbstractAnalysis {
379
379
  return changed;
380
380
  }
381
381
  logger.info(`[process dynamic callsite] node ${node.getID()}`);
382
- dynCallSites.forEach((dynCallsite) => {
382
+ dynCallSites.forEach(dynCallsite => {
383
383
  for (let pt of pts) {
384
384
  let srcNodes = this.pagBuilder.addDynamicCallEdge(dynCallsite, pt, node.getCid());
385
385
  changed = this.addToReanalyze(srcNodes) || changed;
@@ -396,7 +396,7 @@ class PointerAnalysis extends AbstractAnalysis_1.AbstractAnalysis {
396
396
  return changed;
397
397
  }
398
398
  logger.info(`[process unknown callsite] node ${node.getID()}`);
399
- unknownCallSites.forEach((unknownCallSite) => {
399
+ unknownCallSites.forEach(unknownCallSite => {
400
400
  for (let pt of pts) {
401
401
  let srcNodes = this.pagBuilder.addDynamicCallEdge(unknownCallSite, pt, node.getCid());
402
402
  changed = this.addToReanalyze(srcNodes) || changed;
@@ -481,7 +481,7 @@ class PointerAnalysis extends AbstractAnalysis_1.AbstractAnalysis {
481
481
  addIncomingEdgesToWorkList(valueNode, workListNodes, processedNodes) {
482
482
  let inCopyEdges = valueNode.getIncomingCopyEdges();
483
483
  let inThisEdges = valueNode.getIncomingThisEdges();
484
- let combinedEdges = new Set([...inCopyEdges !== null && inCopyEdges !== void 0 ? inCopyEdges : [], ...inThisEdges !== null && inThisEdges !== void 0 ? inThisEdges : []]);
484
+ let combinedEdges = new Set([...(inCopyEdges !== null && inCopyEdges !== void 0 ? inCopyEdges : []), ...(inThisEdges !== null && inThisEdges !== void 0 ? inThisEdges : [])]);
485
485
  if (combinedEdges) {
486
486
  combinedEdges.forEach(edge => {
487
487
  let srcID = edge.getSrcID();
@@ -494,7 +494,7 @@ class PointerAnalysis extends AbstractAnalysis_1.AbstractAnalysis {
494
494
  addOutgoingEdgesToWorkList(valueNode, workListNodes, processedNodes) {
495
495
  let outCopyEdges = valueNode.getOutgoingCopyEdges();
496
496
  let outThisEdges = valueNode.getOutgoingThisEdges();
497
- let combinedEdges = new Set([...outCopyEdges !== null && outCopyEdges !== void 0 ? outCopyEdges : [], ...outThisEdges !== null && outThisEdges !== void 0 ? outThisEdges : []]);
497
+ let combinedEdges = new Set([...(outCopyEdges !== null && outCopyEdges !== void 0 ? outCopyEdges : []), ...(outThisEdges !== null && outThisEdges !== void 0 ? outThisEdges : [])]);
498
498
  if (combinedEdges) {
499
499
  combinedEdges.forEach(edge => {
500
500
  let dstID = edge.getDstID();
@@ -536,7 +536,7 @@ class PointerAnalysis extends AbstractAnalysis_1.AbstractAnalysis {
536
536
  findSameType = true;
537
537
  }
538
538
  }
539
- // If find pts to original type,
539
+ // If find pts to original type,
540
540
  // need add original type back since it is a correct type
541
541
  let diffSet = this.typeDiffMap.get(value);
542
542
  if (diffSet && findSameType) {
@@ -561,9 +561,9 @@ class PointerAnalysis extends AbstractAnalysis_1.AbstractAnalysis {
561
561
  }
562
562
  dumpUnhandledFunctions() {
563
563
  const filePath = path_1.default.join(this.config.outputDirectory, 'PtaUnhandledFunctionList.txt');
564
- fs.access(filePath, fs.constants.F_OK, (err) => {
564
+ fs.access(filePath, fs.constants.F_OK, err => {
565
565
  if (!err) {
566
- fs.truncate(filePath, 0, (err) => {
566
+ fs.truncate(filePath, 0, err => {
567
567
  err && logger.error('Error to truncate file ', err);
568
568
  });
569
569
  }
@@ -578,7 +578,7 @@ class PointerAnalysis extends AbstractAnalysis_1.AbstractAnalysis {
578
578
  updatedContent += f.getSignature().toString() + '\n';
579
579
  }
580
580
  });
581
- fs.writeFile(filePath, updatedContent, 'utf8', (err) => {
581
+ fs.writeFile(filePath, updatedContent, 'utf8', err => {
582
582
  if (err) {
583
583
  logger.error('Error to write file', err);
584
584
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PointerAnalysisConfig.d.ts","sourceRoot":"","sources":["../../../src/callgraph/pointerAnalysis/PointerAnalysisConfig.ts"],"names":[],"mappings":"AAgBA,OAAO,EAA2B,cAAc,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACrF,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAE5D,oBAAY,gBAAgB;IACxB,YAAY,IAAI;IAChB,WAAW,IAAI;CAClB;AAED,qBAAa,qBAAqB;IAC9B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAwB;IAExC,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,aAAa,EAAE,gBAAgB,CAAC;IAChC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,iBAAiB,EAAE,UAAU,cAAc,CAAC,MAAM,CAAC,CAAC;gBAM/C,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,GAAE,OAAe,EAChF,OAAO,GAAE,OAAe,EAAE,iBAAiB,GAAE,OAAe,EAC5D,aAAa,GAAE,gBAAgD,EAAE,SAAS,oBAAwB;WAuBxF,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,GAAE,OAAe,EACzF,OAAO,GAAE,OAAe,EAAE,iBAAiB,GAAE,OAAe,EAC5D,aAAa,GAAE,gBAAgD,EAAE,SAAS,oBAAwB,GAAG,qBAAqB;WAUhH,WAAW,IAAI,qBAAqB;CAMrD"}
1
+ {"version":3,"file":"PointerAnalysisConfig.d.ts","sourceRoot":"","sources":["../../../src/callgraph/pointerAnalysis/PointerAnalysisConfig.ts"],"names":[],"mappings":"AAgBA,OAAO,EAA2B,cAAc,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACrF,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAE5D,oBAAY,gBAAgB;IACxB,YAAY,IAAI;IAChB,WAAW,IAAI;CAClB;AAED,qBAAa,qBAAqB;IAC9B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAwB;IAExC,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,aAAa,EAAE,gBAAgB,CAAC;IAChC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,iBAAiB,EAAE,UAAU,cAAc,CAAC,MAAM,CAAC,CAAC;gBAOvD,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EACvB,cAAc,GAAE,OAAe,EAC/B,OAAO,GAAE,OAAe,EACxB,iBAAiB,GAAE,OAAe,EAClC,aAAa,GAAE,gBAAgD,EAC/D,SAAS,oBAAwB;WAuBvB,MAAM,CAChB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EACvB,cAAc,GAAE,OAAe,EAC/B,OAAO,GAAE,OAAe,EACxB,iBAAiB,GAAE,OAAe,EAClC,aAAa,GAAE,gBAAgD,EAC/D,SAAS,oBAAwB,GAClC,qBAAqB;WAgBV,WAAW,IAAI,qBAAqB;CAMrD"}
@@ -58,7 +58,7 @@ export declare class DiffPTData<K, D extends Idx, DS extends IPtsCollection<D>>
58
58
  private DSCreator;
59
59
  private diffPtsMap;
60
60
  private propaPtsMap;
61
- constructor(DSCreator: (new () => DS));
61
+ constructor(DSCreator: new () => DS);
62
62
  clear(): void;
63
63
  addPts(v: K, elem: D): boolean;
64
64
  resetElem(v: K): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"PtsDS.d.ts","sourceRoot":"","sources":["../../../src/callgraph/pointerAnalysis/PtsDS.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PtsDS.d.ts","sourceRoot":"","sources":["../../../src/callgraph/pointerAnalysis/PtsDS.ts"],"names":[],"mappings":"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"}
@@ -174,7 +174,6 @@ var PtsCollectionType;
174
174
  PtsCollectionType[PtsCollectionType["Set"] = 0] = "Set";
175
175
  PtsCollectionType[PtsCollectionType["BitVector"] = 1] = "BitVector";
176
176
  })(PtsCollectionType = exports.PtsCollectionType || (exports.PtsCollectionType = {}));
177
- ;
178
177
  class DiffPTData {
179
178
  constructor(DSCreator) {
180
179
  this.DSCreator = DSCreator;
@@ -268,8 +267,9 @@ class DiffPTData {
268
267
  return this.propaPtsMap.get(v);
269
268
  }
270
269
  flush(v) {
271
- if (!this.diffPtsMap.has(v))
270
+ if (!this.diffPtsMap.has(v)) {
272
271
  return;
272
+ }
273
273
  let diff = this.diffPtsMap.get(v);
274
274
  let propa = this.getPropaPtsMut(v);
275
275
  // do not clear origin propa, only copy the pt and add it to diff
@@ -278,21 +278,25 @@ class DiffPTData {
278
278
  }
279
279
  clearPts(v) {
280
280
  let diff = this.diffPtsMap.get(v);
281
- if (diff)
281
+ if (diff) {
282
282
  diff.clear();
283
+ }
283
284
  let propa = this.propaPtsMap.get(v);
284
- if (propa)
285
+ if (propa) {
285
286
  propa.clear();
287
+ }
286
288
  }
287
289
  clearDiffPts(v) {
288
290
  let diff = this.diffPtsMap.get(v);
289
- if (diff)
291
+ if (diff) {
290
292
  diff.clear();
293
+ }
291
294
  }
292
295
  clearPropaPts(v) {
293
296
  let propa = this.propaPtsMap.get(v);
294
- if (propa)
297
+ if (propa) {
295
298
  propa.clear();
299
+ }
296
300
  }
297
301
  calculateDiff(src, dst) {
298
302
  let srcDiff = this.diffPtsMap.get(src);
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  /*
3
- * Copyright (c) 2024 Huawei Device Co., Ltd.
3
+ * Copyright (c) 2024-2025 Huawei Device Co., Ltd.
4
4
  * Licensed under the Apache License, Version 2.0 (the "License");
5
5
  * you may not use this file except in compliance with the License.
6
6
  * You may obtain a copy of the License at
@@ -49,7 +49,7 @@ class Constant {
49
49
  toString() {
50
50
  let str = '';
51
51
  if (this.type instanceof Type_1.StringType) {
52
- str = '\'' + this.value + '\'';
52
+ str = "'" + this.value + "'";
53
53
  }
54
54
  else {
55
55
  str = this.value;
@@ -1 +1 @@
1
- {"version":3,"file":"DefUseChain.d.ts","sourceRoot":"","sources":["../../../src/core/base/DefUseChain.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,qBAAa,WAAW;IACpB,KAAK,EAAC,KAAK,CAAC;IACZ,GAAG,EAAC,IAAI,CAAC;IACT,GAAG,EAAC,IAAI,CAAC;gBACG,KAAK,EAAC,KAAK,EAAC,GAAG,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI;CAK5C"}
1
+ {"version":3,"file":"DefUseChain.d.ts","sourceRoot":"","sources":["../../../src/core/base/DefUseChain.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,qBAAa,WAAW;IACpB,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,IAAI,CAAC;IACV,GAAG,EAAE,IAAI,CAAC;gBACE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI;CAKjD"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  /*
3
- * Copyright (c) 2024 Huawei Device Co., Ltd.
3
+ * Copyright (c) 2024-2025 Huawei Device Co., Ltd.
4
4
  * Licensed under the Apache License, Version 2.0 (the "License");
5
5
  * you may not use this file except in compliance with the License.
6
6
  * You may obtain a copy of the License at
@@ -1 +1 @@
1
- {"version":3,"file":"Expr.d.ts","sourceRoot":"","sources":["../../../src/core/base/Expr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Expr.d.ts","sourceRoot":"","sources":["../../../src/core/base/Expr.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAEH,SAAS,EAGT,SAAS,EAKT,IAAI,EAKP,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAuD,MAAM,OAAO,CAAC;AAE9F,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C;;GAEG;AACH,8BAAsB,YAAa,YAAW,KAAK;IAC/C,QAAQ,CAAC,OAAO,IAAI,KAAK,EAAE;IAE3B,QAAQ,CAAC,OAAO,IAAI,IAAI;IAExB,QAAQ,CAAC,QAAQ,IAAI,MAAM;IAEpB,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,YAAY;CAGvD;AAED,8BAAsB,kBAAmB,SAAQ,YAAY;IACzD,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,IAAI,CAAU;IACtB,OAAO,CAAC,gBAAgB,CAAC,CAAS;gBAEtB,eAAe,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,gBAAgB,CAAC,EAAE,IAAI,EAAE;IAOtF;;;;;;;;;;;;;OAaG;IACI,kBAAkB,IAAI,eAAe;IAIrC,kBAAkB,CAAC,kBAAkB,EAAE,eAAe,GAAG,IAAI;IAIpE;;;;OAIG;IACI,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK;IAInC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACI,OAAO,IAAI,KAAK,EAAE;IAIlB,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI;IAI/B,OAAO,IAAI,IAAI;IAQf,mBAAmB,IAAI,IAAI,EAAE,GAAG,SAAS;IAIzC,mBAAmB,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,SAAS,GAAG,IAAI;IAMxD,OAAO,IAAI,KAAK,EAAE;CAQ5B;AAED,qBAAa,qBAAsB,SAAQ,kBAAkB;IACzD,OAAO,CAAC,IAAI,CAAQ;gBAER,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,gBAAgB,CAAC,EAAE,IAAI,EAAE;IAKnG;;;OAGG;IACI,OAAO,IAAI,KAAK;IAIhB,OAAO,CAAC,OAAO,EAAE,KAAK,GAAG,IAAI;IAIpC;;;;;OAKG;IACI,OAAO,IAAI,KAAK,EAAE;IAWlB,QAAQ,IAAI,MAAM;IAkBlB,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,kBAAkB;CAG7D;AAED,qBAAa,mBAAoB,SAAQ,kBAAkB;gBAC3C,eAAe,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,gBAAgB,CAAC,EAAE,IAAI,EAAE;IAI/E,QAAQ,IAAI,MAAM;IAgBlB,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,kBAAkB;CAG7D;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,gBAAiB,SAAQ,kBAAkB;IACpD,OAAO,CAAC,MAAM,CAA2B;gBAE7B,eAAe,EAAE,eAAe,EAAE,GAAG,EAAE,KAAK,GAAG,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,gBAAgB,CAAC,EAAE,IAAI,EAAE;IAK9G,cAAc,CAAC,GAAG,EAAE,KAAK,GAAG,gBAAgB,GAAG,IAAI;IAInD,eAAe,IAAI,KAAK,GAAG,gBAAgB;IAI3C,QAAQ,IAAI,MAAM;IAwBlB,OAAO,IAAI,KAAK,EAAE;CAS5B;AAED,qBAAa,UAAW,SAAQ,YAAY;IACxC,OAAO,CAAC,SAAS,CAAY;gBAEjB,SAAS,EAAE,SAAS;IAKzB,YAAY,IAAI,SAAS;IAIzB,OAAO,IAAI,KAAK,EAAE;IAIlB,OAAO,IAAI,IAAI;IAIf,QAAQ,IAAI,MAAM;IAIlB,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,UAAU;CAYrD;AAED,qBAAa,eAAgB,SAAQ,YAAY;IAC7C,OAAO,CAAC,QAAQ,CAAO;IACvB,OAAO,CAAC,IAAI,CAAQ;IAEpB,OAAO,CAAC,WAAW,CAAU;gBAEjB,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,GAAE,OAAe;IAO9D,OAAO,IAAI,KAAK;IAIhB,OAAO,CAAC,OAAO,EAAE,KAAK,GAAG,IAAI;IAI7B,OAAO,IAAI,SAAS;IAIpB,WAAW,IAAI,IAAI;IAInB,WAAW,CAAC,OAAO,EAAE,IAAI,GAAG,IAAI;IAIhC,aAAa,IAAI,OAAO;IAIxB,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,eAAe;IAQhD,OAAO,IAAI,KAAK,EAAE;IAMlB,QAAQ,IAAI,MAAM;CAG5B;AAED,qBAAa,aAAc,SAAQ,YAAY;IAC3C,OAAO,CAAC,KAAK,CAAmB;gBAEpB,KAAK,EAAE,gBAAgB;IAK5B,QAAQ,IAAI,gBAAgB;IAI5B,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAI1C,OAAO,IAAI,IAAI;IAIf,OAAO,IAAI,KAAK,EAAE;IAOlB,QAAQ,IAAI,MAAM;CAG5B;AAED,qBAAa,YAAa,SAAQ,YAAY;IAC1C,OAAO,CAAC,OAAO,CAAQ;gBAEX,OAAO,EAAE,KAAK;IAKnB,UAAU,IAAI,KAAK;IAInB,UAAU,CAAC,UAAU,EAAE,KAAK,GAAG,IAAI;IAInC,OAAO,IAAI,IAAI;IAUf,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,YAAY;IAK7C,OAAO,IAAI,KAAK,EAAE;IAOlB,QAAQ,IAAI,MAAM;CAI5B;AAED,qBAAa,YAAa,SAAQ,YAAY;IAC1C,OAAO,CAAC,UAAU,CAAQ;gBAEd,UAAU,EAAE,KAAK;IAKtB,aAAa,IAAI,KAAK;IAItB,aAAa,CAAC,aAAa,EAAE,KAAK,GAAG,IAAI;IAIzC,OAAO,IAAI,IAAI;IAIf,OAAO,IAAI,KAAK,EAAE;IAOlB,QAAQ,IAAI,MAAM;CAI5B;AAED,oBAAY,oBAAoB;IAE5B,iBAAiB,OAAO;IAGxB,cAAc,OAAO;IACrB,QAAQ,MAAM;IACd,QAAQ,MAAM;IACd,WAAW,MAAM;IACjB,cAAc,MAAM;IACpB,SAAS,MAAM;IAGf,SAAS,OAAO;IAChB,UAAU,OAAO;IACjB,kBAAkB,QAAQ;IAG1B,UAAU,MAAM;IAChB,SAAS,MAAM;IACf,UAAU,MAAM;IAGhB,UAAU,OAAO;IACjB,SAAS,OAAO;CACnB;AAED,oBAAY,wBAAwB;IAChC,QAAQ,MAAM;IACd,eAAe,OAAO;IACtB,WAAW,MAAM;IACjB,kBAAkB,OAAO;IACzB,QAAQ,OAAO;IACf,UAAU,OAAO;IACjB,cAAc,QAAQ;IACtB,gBAAgB,QAAQ;IACxB,YAAY,OAAO;CACtB;AAED,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG,wBAAwB,CAAC;AAG7E,8BAAsB,iBAAkB,SAAQ,YAAY;IACxD,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC;IACrB,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC;IACrB,SAAS,CAAC,QAAQ,EAAE,cAAc,CAAC;IAEnC,SAAS,CAAC,IAAI,EAAG,IAAI,CAAC;gBAEV,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc;IAO5D;;;;OAIG;IACI,MAAM,IAAI,KAAK;IAIf,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,IAAI;IAIlC;;;;OAIG;IACI,MAAM,IAAI,KAAK;IAIf,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,IAAI;IAIlC;;;;;;;;;;;;;;OAcG;IACI,WAAW,IAAI,cAAc;IAI7B,OAAO,IAAI,IAAI;IAOf,OAAO,IAAI,KAAK,EAAE;IASlB,QAAQ,IAAI,MAAM;IAIzB,SAAS,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI;IAM5D,SAAS,CAAC,OAAO,IAAI,IAAI;IAuElB,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,iBAAiB;CAM5D;AAED,qBAAa,gBAAiB,SAAQ,iBAAiB;gBACvC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,wBAAwB;IAI/D,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,gBAAgB;CAiB3D;AAED,qBAAa,kBAAmB,SAAQ,iBAAiB;gBACzC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,oBAAoB;CAGrE;AAED,qBAAa,aAAc,SAAQ,YAAY;IAC3C,OAAO,CAAC,EAAE,CAAQ;gBAEN,EAAE,EAAE,KAAK;IAKd,KAAK,IAAI,KAAK;IAId,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAIzB,OAAO,IAAI,KAAK,EAAE;IAOlB,OAAO,IAAI,IAAI;IAIf,QAAQ,IAAI,MAAM;IAIlB,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,YAAY;CAMvD;AAED,qBAAa,iBAAkB,SAAQ,YAAY;IAC/C,OAAO,CAAC,EAAE,CAAQ;IAClB,OAAO,CAAC,SAAS,CAAO;gBAEZ,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI;IAM/B,KAAK,IAAI,KAAK;IAId,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAIzB,YAAY,IAAI,IAAI;IAIpB,OAAO,IAAI,IAAI;IAIf,OAAO,IAAI,KAAK,EAAE;IAOlB,QAAQ,IAAI,MAAM;IAIlB,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,YAAY;CAUvD;AAGD,qBAAa,WAAY,SAAQ,YAAY;IACzC,OAAO,CAAC,EAAE,CAAQ;IAClB,OAAO,CAAC,IAAI,CAAO;gBAEP,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI;IAM1B,KAAK,IAAI,KAAK;IAId,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAIzB,OAAO,IAAI,KAAK,EAAE;IAOlB,OAAO,IAAI,IAAI;IAIf,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,YAAY;IAW7C,QAAQ,IAAI,MAAM;CAG5B;AAED,qBAAa,UAAW,SAAQ,YAAY;IACxC,OAAO,CAAC,IAAI,CAAU;IACtB,OAAO,CAAC,UAAU,CAAyB;;IAQpC,OAAO,IAAI,KAAK,EAAE;IAMlB,OAAO,IAAI,KAAK,EAAE;IAIlB,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI;IAI5B,aAAa,IAAI,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC;IAIvC,aAAa,CAAC,UAAU,EAAE,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,IAAI;IAIvD,OAAO,IAAI,IAAI;IAIf,QAAQ,IAAI,MAAM;CAa5B;AAED,oBAAY,aAAa;IACrB,GAAG,MAAM;IACT,UAAU,MAAM;IAChB,UAAU,MAAM;CACnB;AAGD,qBAAa,WAAY,SAAQ,YAAY;IACzC,OAAO,CAAC,EAAE,CAAQ;IAClB,OAAO,CAAC,QAAQ,CAAgB;gBAEpB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa;IAMvC,OAAO,IAAI,KAAK,EAAE;IAOlB,KAAK,IAAI,KAAK;IAId,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAIzB,OAAO,IAAI,IAAI;IAItB;;;OAGG;IACI,WAAW,IAAI,aAAa;IAI5B,QAAQ,IAAI,MAAM;CAG5B;AAED,MAAM,MAAM,sBAAsB,GAAG,IAAI,GAAG,UAAU,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEjG;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,aAAc,SAAQ,YAAY;IAC3C,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAkB;IACrD,OAAO,CAAC,gBAAgB,CAAC,CAAS;gBAEtB,cAAc,EAAE,sBAAsB,EAAE,kBAAkB,CAAC,EAAE,OAAO;IAQzE,iBAAiB,IAAI,sBAAsB;IAI3C,iBAAiB,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI;IAIvD,qBAAqB,IAAI,OAAO;IAIhC,mBAAmB,CAAC,gBAAgB,EAAE,IAAI,EAAE,GAAG,IAAI;IAInD,mBAAmB,IAAI,IAAI,EAAE,GAAG,SAAS;IAIzC,OAAO,IAAI,IAAI;IAsCf,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,YAAY;IAIpD;;;OAGG;IACI,OAAO,IAAI,KAAK,EAAE;IAIlB,QAAQ,IAAI,MAAM;WAoCX,wBAAwB,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,sBAAsB;CAUxF"}
@@ -592,8 +592,7 @@ class AbstractBinopExpr extends AbstractExpr {
592
592
  }
593
593
  break;
594
594
  case '??':
595
- if (op1Type === Type_1.UnknownType.getInstance() || op1Type === Type_1.UndefinedType.getInstance()
596
- || op1Type === Type_1.NullType.getInstance()) {
595
+ if (op1Type === Type_1.UnknownType.getInstance() || op1Type === Type_1.UndefinedType.getInstance() || op1Type === Type_1.NullType.getInstance()) {
597
596
  type = op2Type;
598
597
  }
599
598
  else {
@@ -601,7 +600,6 @@ class AbstractBinopExpr extends AbstractExpr {
601
600
  }
602
601
  break;
603
602
  default:
604
- ;
605
603
  }
606
604
  this.type = type;
607
605
  }
@@ -957,12 +955,12 @@ class AliasTypeExpr extends AbstractExpr {
957
955
  return `${typeOf}${typeObject.getName()}`;
958
956
  }
959
957
  static isAliasTypeOriginalModel(object) {
960
- return object instanceof Type_1.Type ||
958
+ return (object instanceof Type_1.Type ||
961
959
  object instanceof ArkImport_1.ImportInfo ||
962
960
  object instanceof Local_1.Local ||
963
961
  object instanceof ArkClass_1.ArkClass ||
964
962
  object instanceof ArkMethod_1.ArkMethod ||
965
- object instanceof ArkField_1.ArkField;
963
+ object instanceof ArkField_1.ArkField);
966
964
  }
967
965
  }
968
966
  exports.AliasTypeExpr = AliasTypeExpr;
@@ -1 +1 @@
1
- {"version":3,"file":"Local.d.ts","sourceRoot":"","sources":["../../../src/core/base/Local.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAe,MAAM,QAAQ,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAkB,cAAc,EAAmB,MAAM,uBAAuB,CAAC;AAGxF,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C;;GAEG;AACH,qBAAa,KAAM,YAAW,KAAK,EAAE,SAAS;IAC1C,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,IAAI,CAAO;IAEnB,OAAO,CAAC,aAAa,CAAe;IAEpC,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAC,CAAiB;IACnC,OAAO,CAAC,SAAS,CAAC,CAAU;gBAEhB,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,IAAgC;IASzD,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,KAAK;IAW7C;;;;;;;;;;;;;;;;;OAiBG;IACI,OAAO,IAAI,MAAM;IAIjB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIlC;;;OAGG;IACI,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,OAAO,EAAE,IAAI,GAAG,IAAI;IAI5B,gBAAgB,IAAI,KAAK,GAAG,IAAI;IAIhC,gBAAgB,CAAC,aAAa,EAAE,KAAK,GAAG,IAAI;IAInD;;;;;;;;;;;;;;;;;OAiBG;IACI,gBAAgB,IAAI,IAAI,GAAG,IAAI;IAI/B,gBAAgB,CAAC,aAAa,EAAE,IAAI;IAI3C;;;OAGG;IACI,OAAO,IAAI,KAAK,EAAE;IAIlB,WAAW,CAAC,QAAQ,EAAE,IAAI;IAIjC;;;;;;OAMG;IACI,YAAY,IAAI,IAAI,EAAE;IAI7B;;;;;;;;;;;;OAYG;IACI,QAAQ,IAAI,MAAM;IAIlB,aAAa,IAAI,UAAU;IAI3B,YAAY,IAAI,MAAM;IAItB,gBAAgB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO;IAOrD,YAAY,IAAI,cAAc;IAK9B,YAAY,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI;IAI7C,YAAY,IAAI,OAAO;IAOvB,YAAY,CAAC,YAAY,EAAE,OAAO,GAAG,IAAI;CAGnD"}
1
+ {"version":3,"file":"Local.d.ts","sourceRoot":"","sources":["../../../src/core/base/Local.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAa,IAAI,EAAe,MAAM,QAAQ,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAkB,cAAc,EAAmB,MAAM,uBAAuB,CAAC;AAGxF,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAI/C;;GAEG;AACH,qBAAa,KAAM,YAAW,KAAK,EAAE,SAAS;IAC1C,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,IAAI,CAAO;IAEnB,OAAO,CAAC,aAAa,CAAe;IAEpC,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAC,CAAiB;IACnC,OAAO,CAAC,SAAS,CAAC,CAAU;gBAEhB,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,IAAgC;IASzD,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,KAAK;IAa7C;;;;;;;;;;;;;;;;;OAiBG;IACI,OAAO,IAAI,MAAM;IAIjB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIlC;;;OAGG;IACI,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,OAAO,EAAE,IAAI,GAAG,IAAI;IAI5B,gBAAgB,IAAI,KAAK,GAAG,IAAI;IAIhC,gBAAgB,CAAC,aAAa,EAAE,KAAK,GAAG,IAAI;IAInD;;;;;;;;;;;;;;;;;OAiBG;IACI,gBAAgB,IAAI,IAAI,GAAG,IAAI;IAI/B,gBAAgB,CAAC,aAAa,EAAE,IAAI,GAAG,IAAI;IAIlD;;;OAGG;IACI,OAAO,IAAI,KAAK,EAAE;IAIlB,WAAW,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI;IAIxC;;;;;;OAMG;IACI,YAAY,IAAI,IAAI,EAAE;IAI7B;;;;;;;;;;;;OAYG;IACI,QAAQ,IAAI,MAAM;IAIlB,aAAa,IAAI,UAAU;IAI3B,YAAY,IAAI,MAAM;IAItB,gBAAgB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO;IAOrD,YAAY,IAAI,cAAc;IAU9B,YAAY,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI;IAI7C,YAAY,IAAI,OAAO;IAOvB,YAAY,CAAC,YAAY,EAAE,OAAO,GAAG,IAAI;CAGnD"}